From 18cda6df43b5960686256fb6a899a63baebff70d Mon Sep 17 00:00:00 2001 From: Marcus Eggenberger Date: Sun, 1 Nov 2009 14:11:31 +0100 Subject: [PATCH] Separate persistency for marker line (backend only) Sput: have fun! :) --- .../PostgreSQL/14/migrate_write_buffer.sql | 2 - .../{14 => 15}/delete_backlog_by_uid.sql | 0 .../{14 => 15}/delete_backlog_for_buffer.sql | 0 .../{14 => 15}/delete_backlog_for_network.sql | 0 .../{14 => 15}/delete_buffer_for_bufferid.sql | 0 .../{14 => 15}/delete_buffers_by_uid.sql | 0 .../{14 => 15}/delete_buffers_for_network.sql | 0 .../PostgreSQL/{14 => 15}/delete_identity.sql | 0 .../delete_ircservers_for_network.sql | 0 .../PostgreSQL/{14 => 15}/delete_network.sql | 0 .../{14 => 15}/delete_networks_by_uid.sql | 0 .../PostgreSQL/{14 => 15}/delete_nicks.sql | 0 .../{14 => 15}/delete_quasseluser.sql | 0 .../PostgreSQL/{14 => 15}/insert_buffer.sql | 0 .../PostgreSQL/{14 => 15}/insert_identity.sql | 0 .../PostgreSQL/{14 => 15}/insert_message.sql | 0 .../PostgreSQL/{14 => 15}/insert_network.sql | 0 .../SQL/PostgreSQL/{14 => 15}/insert_nick.sql | 0 .../{14 => 15}/insert_quasseluser.sql | 0 .../PostgreSQL/{14 => 15}/insert_sender.sql | 0 .../PostgreSQL/{14 => 15}/insert_server.sql | 0 .../{14 => 15}/insert_user_setting.sql | 0 .../{14 => 15}/migrate_write_backlog.sql | 0 .../PostgreSQL/15/migrate_write_buffer.sql | 2 + .../{14 => 15}/migrate_write_identity.sql | 0 .../migrate_write_identity_nick.sql | 0 .../{14 => 15}/migrate_write_ircserver.sql | 0 .../{14 => 15}/migrate_write_network.sql | 0 .../{14 => 15}/migrate_write_quasseluser.sql | 0 .../{14 => 15}/migrate_write_sender.sql | 0 .../{14 => 15}/migrate_write_usersetting.sql | 0 .../PostgreSQL/{14 => 15}/select_authuser.sql | 0 .../{14 => 15}/select_bufferByName.sql | 0 .../{14 => 15}/select_bufferExists.sql | 0 .../{14 => 15}/select_buffer_by_id.sql | 0 .../select_buffer_lastseen_messages.sql | 0 .../15/select_buffer_markerlinemsgids.sql | 3 + .../PostgreSQL/{14 => 15}/select_buffers.sql | 0 .../{14 => 15}/select_buffers_for_network.sql | 0 .../{14 => 15}/select_checkidentity.sql | 0 .../{14 => 15}/select_connected_networks.sql | 0 .../{14 => 15}/select_identities.sql | 0 .../{14 => 15}/select_internaluser.sql | 0 .../PostgreSQL/{14 => 15}/select_messages.sql | 0 .../{14 => 15}/select_messagesAll.sql | 0 .../{14 => 15}/select_messagesAllNew.sql | 0 .../{14 => 15}/select_messagesNewerThan.sql | 0 .../{14 => 15}/select_messagesRange.sql | 0 .../{14 => 15}/select_networkExists.sql | 0 .../{14 => 15}/select_network_awaymsg.sql | 0 .../{14 => 15}/select_network_usermode.sql | 0 .../{14 => 15}/select_networks_for_user.sql | 0 .../PostgreSQL/{14 => 15}/select_nicks.sql | 0 .../{14 => 15}/select_persistent_channels.sql | 0 .../{14 => 15}/select_servers_for_network.sql | 0 .../{14 => 15}/select_user_setting.sql | 0 .../PostgreSQL/{14 => 15}/select_userid.sql | 0 .../{14 => 15}/setup_000_quasseluser.sql | 0 .../{14 => 15}/setup_010_sender.sql | 0 .../{14 => 15}/setup_020_identity.sql | 0 .../{14 => 15}/setup_030_identity_nick.sql | 0 .../{14 => 15}/setup_040_network.sql | 0 .../{14 => 15}/setup_050_buffer.sql | 1 + .../{14 => 15}/setup_060_backlog.sql | 0 .../{14 => 15}/setup_070_coreinfo.sql | 0 .../{14 => 15}/setup_080_ircservers.sql | 0 .../{14 => 15}/setup_090_backlog_idx.sql | 0 .../{14 => 15}/setup_100_user_setting.sql | 0 .../{14 => 15}/setup_110_alter_sender_seq.sql | 0 .../setup_120_alter_messageid_seq.sql | 0 .../{14 => 15}/update_backlog_bufferid.sql | 0 .../{14 => 15}/update_buffer_lastseen.sql | 0 .../15/update_buffer_markerlinemsgid.sql | 3 + .../{14 => 15}/update_buffer_name.sql | 0 .../update_buffer_persistent_channel.sql | 0 .../update_buffer_set_channel_key.sql | 0 .../PostgreSQL/{14 => 15}/update_identity.sql | 0 .../PostgreSQL/{14 => 15}/update_network.sql | 0 .../{14 => 15}/update_network_connected.sql | 0 .../{14 => 15}/update_network_set_awaymsg.sql | 0 .../update_network_set_usermode.sql | 0 .../{14 => 15}/update_user_setting.sql | 0 .../PostgreSQL/{14 => 15}/update_username.sql | 0 .../{14 => 15}/update_userpassword.sql | 0 ...e_000_alter_buffer_add_markerlinemsgid.sql | 2 + .../{15 => 16}/delete_backlog_by_uid.sql | 0 .../{15 => 16}/delete_backlog_for_buffer.sql | 0 .../{15 => 16}/delete_backlog_for_network.sql | 0 .../{15 => 16}/delete_buffer_for_bufferid.sql | 0 .../{15 => 16}/delete_buffers_by_uid.sql | 0 .../{15 => 16}/delete_buffers_for_network.sql | 0 .../SQL/SQLite/{15 => 16}/delete_identity.sql | 0 .../delete_ircservers_for_network.sql | 0 .../SQL/SQLite/{15 => 16}/delete_network.sql | 0 .../{15 => 16}/delete_networks_by_uid.sql | 0 .../SQL/SQLite/{15 => 16}/delete_nicks.sql | 0 .../SQLite/{15 => 16}/delete_quasseluser.sql | 0 .../SQL/SQLite/{15 => 16}/insert_buffer.sql | 0 .../SQL/SQLite/{15 => 16}/insert_identity.sql | 0 .../SQL/SQLite/{15 => 16}/insert_message.sql | 0 .../SQL/SQLite/{15 => 16}/insert_network.sql | 0 .../SQL/SQLite/{15 => 16}/insert_nick.sql | 0 .../SQLite/{15 => 16}/insert_quasseluser.sql | 0 .../SQL/SQLite/{15 => 16}/insert_sender.sql | 0 .../SQL/SQLite/{15 => 16}/insert_server.sql | 0 .../SQLite/{15 => 16}/insert_user_setting.sql | 0 .../{15 => 16}/migrate_read_backlog.sql | 0 .../SQLite/{15 => 16}/migrate_read_buffer.sql | 2 +- .../{15 => 16}/migrate_read_identity.sql | 0 .../{15 => 16}/migrate_read_identity_nick.sql | 0 .../{15 => 16}/migrate_read_ircserver.sql | 0 .../{15 => 16}/migrate_read_network.sql | 0 .../{15 => 16}/migrate_read_quasseluser.sql | 0 .../SQLite/{15 => 16}/migrate_read_sender.sql | 0 .../{15 => 16}/migrate_read_usersetting.sql | 0 .../SQL/SQLite/{15 => 16}/select_authuser.sql | 0 .../SQLite/{15 => 16}/select_bufferByName.sql | 0 .../SQLite/{15 => 16}/select_bufferExists.sql | 0 .../SQLite/{15 => 16}/select_buffer_by_id.sql | 0 .../select_buffer_lastseen_messages.sql | 0 .../16/select_buffer_markerlinemsgids.sql | 3 + .../SQL/SQLite/{15 => 16}/select_buffers.sql | 0 .../{15 => 16}/select_buffers_for_merge.sql | 0 .../{15 => 16}/select_buffers_for_network.sql | 0 .../{15 => 16}/select_checkidentity.sql | 0 .../{15 => 16}/select_connected_networks.sql | 0 .../SQLite/{15 => 16}/select_identities.sql | 0 .../SQLite/{15 => 16}/select_internaluser.sql | 0 .../SQL/SQLite/{15 => 16}/select_messages.sql | 0 .../SQLite/{15 => 16}/select_messagesAll.sql | 0 .../{15 => 16}/select_messagesAllNew.sql | 0 .../{15 => 16}/select_messagesNewerThan.sql | 0 .../{15 => 16}/select_messagesNewestK.sql | 0 .../{15 => 16}/select_networkExists.sql | 0 .../{15 => 16}/select_network_awaymsg.sql | 0 .../{15 => 16}/select_network_usermode.sql | 0 .../{15 => 16}/select_networks_for_user.sql | 0 .../SQL/SQLite/{15 => 16}/select_nicks.sql | 0 .../{15 => 16}/select_persistent_channels.sql | 0 .../{15 => 16}/select_servers_for_network.sql | 0 .../SQLite/{15 => 16}/select_user_setting.sql | 0 .../SQL/SQLite/{15 => 16}/select_userid.sql | 0 .../{15 => 16}/setup_000_quasseluser.sql | 0 .../SQLite/{15 => 16}/setup_010_sender.sql | 0 .../SQLite/{15 => 16}/setup_020_network.sql | 0 .../SQLite/{15 => 16}/setup_030_buffer.sql | 1 + .../{15 => 16}/setup_040_buffer_idx.sql | 0 .../{15 => 16}/setup_050_buffer_cname_idx.sql | 0 .../SQLite/{15 => 16}/setup_060_backlog.sql | 0 .../SQLite/{15 => 16}/setup_070_coreinfo.sql | 0 .../{15 => 16}/setup_080_ircservers.sql | 0 .../{15 => 16}/setup_090_backlog_idx.sql | 0 .../{15 => 16}/setup_100_backlog_idx2.sql | 0 .../{15 => 16}/setup_110_buffer_user_idx.sql | 0 .../{15 => 16}/setup_120_user_setting.sql | 0 .../SQLite/{15 => 16}/setup_130_identity.sql | 0 .../{15 => 16}/setup_140_identity_nick.sql | 0 .../{15 => 16}/update_backlog_bufferid.sql | 0 .../{15 => 16}/update_buffer_lastseen.sql | 0 .../16/update_buffer_markerlinemsgid.sql | 3 + .../SQLite/{15 => 16}/update_buffer_name.sql | 0 .../update_buffer_persistent_channel.sql | 0 .../update_buffer_set_channel_key.sql | 0 .../SQL/SQLite/{15 => 16}/update_identity.sql | 0 .../SQL/SQLite/{15 => 16}/update_network.sql | 0 .../{15 => 16}/update_network_connected.sql | 0 .../{15 => 16}/update_network_set_awaymsg.sql | 0 .../update_network_set_usermode.sql | 0 .../SQLite/{15 => 16}/update_user_setting.sql | 0 .../SQL/SQLite/{15 => 16}/update_username.sql | 0 .../SQLite/{15 => 16}/update_userpassword.sql | 0 ...e_000_alter_buffer_add_markerlinemsgid.sql | 2 + src/core/abstractsqlstorage.h | 1 + src/core/core.h | 22 ++ src/core/postgresqlstorage.cpp | 44 ++- src/core/postgresqlstorage.h | 2 + src/core/sql.qrc | 336 +++++++++--------- src/core/sqlitestorage.cpp | 47 +++ src/core/sqlitestorage.h | 2 + src/core/storage.h | 18 + 180 files changed, 326 insertions(+), 170 deletions(-) delete mode 100644 src/core/SQL/PostgreSQL/14/migrate_write_buffer.sql rename src/core/SQL/PostgreSQL/{14 => 15}/delete_backlog_by_uid.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/delete_backlog_for_buffer.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/delete_backlog_for_network.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/delete_buffer_for_bufferid.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/delete_buffers_by_uid.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/delete_buffers_for_network.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/delete_identity.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/delete_ircservers_for_network.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/delete_network.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/delete_networks_by_uid.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/delete_nicks.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/delete_quasseluser.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/insert_buffer.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/insert_identity.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/insert_message.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/insert_network.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/insert_nick.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/insert_quasseluser.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/insert_sender.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/insert_server.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/insert_user_setting.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/migrate_write_backlog.sql (100%) create mode 100644 src/core/SQL/PostgreSQL/15/migrate_write_buffer.sql rename src/core/SQL/PostgreSQL/{14 => 15}/migrate_write_identity.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/migrate_write_identity_nick.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/migrate_write_ircserver.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/migrate_write_network.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/migrate_write_quasseluser.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/migrate_write_sender.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/migrate_write_usersetting.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/select_authuser.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/select_bufferByName.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/select_bufferExists.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/select_buffer_by_id.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/select_buffer_lastseen_messages.sql (100%) create mode 100644 src/core/SQL/PostgreSQL/15/select_buffer_markerlinemsgids.sql rename src/core/SQL/PostgreSQL/{14 => 15}/select_buffers.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/select_buffers_for_network.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/select_checkidentity.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/select_connected_networks.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/select_identities.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/select_internaluser.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/select_messages.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/select_messagesAll.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/select_messagesAllNew.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/select_messagesNewerThan.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/select_messagesRange.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/select_networkExists.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/select_network_awaymsg.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/select_network_usermode.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/select_networks_for_user.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/select_nicks.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/select_persistent_channels.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/select_servers_for_network.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/select_user_setting.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/select_userid.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/setup_000_quasseluser.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/setup_010_sender.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/setup_020_identity.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/setup_030_identity_nick.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/setup_040_network.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/setup_050_buffer.sql (92%) rename src/core/SQL/PostgreSQL/{14 => 15}/setup_060_backlog.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/setup_070_coreinfo.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/setup_080_ircservers.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/setup_090_backlog_idx.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/setup_100_user_setting.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/setup_110_alter_sender_seq.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/setup_120_alter_messageid_seq.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/update_backlog_bufferid.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/update_buffer_lastseen.sql (100%) create mode 100644 src/core/SQL/PostgreSQL/15/update_buffer_markerlinemsgid.sql rename src/core/SQL/PostgreSQL/{14 => 15}/update_buffer_name.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/update_buffer_persistent_channel.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/update_buffer_set_channel_key.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/update_identity.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/update_network.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/update_network_connected.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/update_network_set_awaymsg.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/update_network_set_usermode.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/update_user_setting.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/update_username.sql (100%) rename src/core/SQL/PostgreSQL/{14 => 15}/update_userpassword.sql (100%) create mode 100644 src/core/SQL/PostgreSQL/15/upgrade_000_alter_buffer_add_markerlinemsgid.sql rename src/core/SQL/SQLite/{15 => 16}/delete_backlog_by_uid.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/delete_backlog_for_buffer.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/delete_backlog_for_network.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/delete_buffer_for_bufferid.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/delete_buffers_by_uid.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/delete_buffers_for_network.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/delete_identity.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/delete_ircservers_for_network.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/delete_network.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/delete_networks_by_uid.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/delete_nicks.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/delete_quasseluser.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/insert_buffer.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/insert_identity.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/insert_message.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/insert_network.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/insert_nick.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/insert_quasseluser.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/insert_sender.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/insert_server.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/insert_user_setting.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/migrate_read_backlog.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/migrate_read_buffer.sql (55%) rename src/core/SQL/SQLite/{15 => 16}/migrate_read_identity.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/migrate_read_identity_nick.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/migrate_read_ircserver.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/migrate_read_network.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/migrate_read_quasseluser.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/migrate_read_sender.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/migrate_read_usersetting.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/select_authuser.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/select_bufferByName.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/select_bufferExists.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/select_buffer_by_id.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/select_buffer_lastseen_messages.sql (100%) create mode 100644 src/core/SQL/SQLite/16/select_buffer_markerlinemsgids.sql rename src/core/SQL/SQLite/{15 => 16}/select_buffers.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/select_buffers_for_merge.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/select_buffers_for_network.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/select_checkidentity.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/select_connected_networks.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/select_identities.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/select_internaluser.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/select_messages.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/select_messagesAll.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/select_messagesAllNew.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/select_messagesNewerThan.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/select_messagesNewestK.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/select_networkExists.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/select_network_awaymsg.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/select_network_usermode.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/select_networks_for_user.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/select_nicks.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/select_persistent_channels.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/select_servers_for_network.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/select_user_setting.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/select_userid.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/setup_000_quasseluser.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/setup_010_sender.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/setup_020_network.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/setup_030_buffer.sql (89%) rename src/core/SQL/SQLite/{15 => 16}/setup_040_buffer_idx.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/setup_050_buffer_cname_idx.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/setup_060_backlog.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/setup_070_coreinfo.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/setup_080_ircservers.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/setup_090_backlog_idx.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/setup_100_backlog_idx2.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/setup_110_buffer_user_idx.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/setup_120_user_setting.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/setup_130_identity.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/setup_140_identity_nick.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/update_backlog_bufferid.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/update_buffer_lastseen.sql (100%) create mode 100644 src/core/SQL/SQLite/16/update_buffer_markerlinemsgid.sql rename src/core/SQL/SQLite/{15 => 16}/update_buffer_name.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/update_buffer_persistent_channel.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/update_buffer_set_channel_key.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/update_identity.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/update_network.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/update_network_connected.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/update_network_set_awaymsg.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/update_network_set_usermode.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/update_user_setting.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/update_username.sql (100%) rename src/core/SQL/SQLite/{15 => 16}/update_userpassword.sql (100%) create mode 100644 src/core/SQL/SQLite/16/upgrade_000_alter_buffer_add_markerlinemsgid.sql diff --git a/src/core/SQL/PostgreSQL/14/migrate_write_buffer.sql b/src/core/SQL/PostgreSQL/14/migrate_write_buffer.sql deleted file mode 100644 index d2bf1f85..00000000 --- a/src/core/SQL/PostgreSQL/14/migrate_write_buffer.sql +++ /dev/null @@ -1,2 +0,0 @@ -INSERT INTO buffer (bufferid, userid, groupid, networkid, buffername, buffercname, buffertype, lastseenmsgid, key, joined) -VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) diff --git a/src/core/SQL/PostgreSQL/14/delete_backlog_by_uid.sql b/src/core/SQL/PostgreSQL/15/delete_backlog_by_uid.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/delete_backlog_by_uid.sql rename to src/core/SQL/PostgreSQL/15/delete_backlog_by_uid.sql diff --git a/src/core/SQL/PostgreSQL/14/delete_backlog_for_buffer.sql b/src/core/SQL/PostgreSQL/15/delete_backlog_for_buffer.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/delete_backlog_for_buffer.sql rename to src/core/SQL/PostgreSQL/15/delete_backlog_for_buffer.sql diff --git a/src/core/SQL/PostgreSQL/14/delete_backlog_for_network.sql b/src/core/SQL/PostgreSQL/15/delete_backlog_for_network.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/delete_backlog_for_network.sql rename to src/core/SQL/PostgreSQL/15/delete_backlog_for_network.sql diff --git a/src/core/SQL/PostgreSQL/14/delete_buffer_for_bufferid.sql b/src/core/SQL/PostgreSQL/15/delete_buffer_for_bufferid.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/delete_buffer_for_bufferid.sql rename to src/core/SQL/PostgreSQL/15/delete_buffer_for_bufferid.sql diff --git a/src/core/SQL/PostgreSQL/14/delete_buffers_by_uid.sql b/src/core/SQL/PostgreSQL/15/delete_buffers_by_uid.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/delete_buffers_by_uid.sql rename to src/core/SQL/PostgreSQL/15/delete_buffers_by_uid.sql diff --git a/src/core/SQL/PostgreSQL/14/delete_buffers_for_network.sql b/src/core/SQL/PostgreSQL/15/delete_buffers_for_network.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/delete_buffers_for_network.sql rename to src/core/SQL/PostgreSQL/15/delete_buffers_for_network.sql diff --git a/src/core/SQL/PostgreSQL/14/delete_identity.sql b/src/core/SQL/PostgreSQL/15/delete_identity.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/delete_identity.sql rename to src/core/SQL/PostgreSQL/15/delete_identity.sql diff --git a/src/core/SQL/PostgreSQL/14/delete_ircservers_for_network.sql b/src/core/SQL/PostgreSQL/15/delete_ircservers_for_network.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/delete_ircservers_for_network.sql rename to src/core/SQL/PostgreSQL/15/delete_ircservers_for_network.sql diff --git a/src/core/SQL/PostgreSQL/14/delete_network.sql b/src/core/SQL/PostgreSQL/15/delete_network.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/delete_network.sql rename to src/core/SQL/PostgreSQL/15/delete_network.sql diff --git a/src/core/SQL/PostgreSQL/14/delete_networks_by_uid.sql b/src/core/SQL/PostgreSQL/15/delete_networks_by_uid.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/delete_networks_by_uid.sql rename to src/core/SQL/PostgreSQL/15/delete_networks_by_uid.sql diff --git a/src/core/SQL/PostgreSQL/14/delete_nicks.sql b/src/core/SQL/PostgreSQL/15/delete_nicks.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/delete_nicks.sql rename to src/core/SQL/PostgreSQL/15/delete_nicks.sql diff --git a/src/core/SQL/PostgreSQL/14/delete_quasseluser.sql b/src/core/SQL/PostgreSQL/15/delete_quasseluser.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/delete_quasseluser.sql rename to src/core/SQL/PostgreSQL/15/delete_quasseluser.sql diff --git a/src/core/SQL/PostgreSQL/14/insert_buffer.sql b/src/core/SQL/PostgreSQL/15/insert_buffer.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/insert_buffer.sql rename to src/core/SQL/PostgreSQL/15/insert_buffer.sql diff --git a/src/core/SQL/PostgreSQL/14/insert_identity.sql b/src/core/SQL/PostgreSQL/15/insert_identity.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/insert_identity.sql rename to src/core/SQL/PostgreSQL/15/insert_identity.sql diff --git a/src/core/SQL/PostgreSQL/14/insert_message.sql b/src/core/SQL/PostgreSQL/15/insert_message.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/insert_message.sql rename to src/core/SQL/PostgreSQL/15/insert_message.sql diff --git a/src/core/SQL/PostgreSQL/14/insert_network.sql b/src/core/SQL/PostgreSQL/15/insert_network.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/insert_network.sql rename to src/core/SQL/PostgreSQL/15/insert_network.sql diff --git a/src/core/SQL/PostgreSQL/14/insert_nick.sql b/src/core/SQL/PostgreSQL/15/insert_nick.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/insert_nick.sql rename to src/core/SQL/PostgreSQL/15/insert_nick.sql diff --git a/src/core/SQL/PostgreSQL/14/insert_quasseluser.sql b/src/core/SQL/PostgreSQL/15/insert_quasseluser.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/insert_quasseluser.sql rename to src/core/SQL/PostgreSQL/15/insert_quasseluser.sql diff --git a/src/core/SQL/PostgreSQL/14/insert_sender.sql b/src/core/SQL/PostgreSQL/15/insert_sender.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/insert_sender.sql rename to src/core/SQL/PostgreSQL/15/insert_sender.sql diff --git a/src/core/SQL/PostgreSQL/14/insert_server.sql b/src/core/SQL/PostgreSQL/15/insert_server.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/insert_server.sql rename to src/core/SQL/PostgreSQL/15/insert_server.sql diff --git a/src/core/SQL/PostgreSQL/14/insert_user_setting.sql b/src/core/SQL/PostgreSQL/15/insert_user_setting.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/insert_user_setting.sql rename to src/core/SQL/PostgreSQL/15/insert_user_setting.sql diff --git a/src/core/SQL/PostgreSQL/14/migrate_write_backlog.sql b/src/core/SQL/PostgreSQL/15/migrate_write_backlog.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/migrate_write_backlog.sql rename to src/core/SQL/PostgreSQL/15/migrate_write_backlog.sql diff --git a/src/core/SQL/PostgreSQL/15/migrate_write_buffer.sql b/src/core/SQL/PostgreSQL/15/migrate_write_buffer.sql new file mode 100644 index 00000000..cfa900b9 --- /dev/null +++ b/src/core/SQL/PostgreSQL/15/migrate_write_buffer.sql @@ -0,0 +1,2 @@ +INSERT INTO buffer (bufferid, userid, groupid, networkid, buffername, buffercname, buffertype, lastseenmsgid, markerlinemsgid, key, joined) +VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) diff --git a/src/core/SQL/PostgreSQL/14/migrate_write_identity.sql b/src/core/SQL/PostgreSQL/15/migrate_write_identity.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/migrate_write_identity.sql rename to src/core/SQL/PostgreSQL/15/migrate_write_identity.sql diff --git a/src/core/SQL/PostgreSQL/14/migrate_write_identity_nick.sql b/src/core/SQL/PostgreSQL/15/migrate_write_identity_nick.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/migrate_write_identity_nick.sql rename to src/core/SQL/PostgreSQL/15/migrate_write_identity_nick.sql diff --git a/src/core/SQL/PostgreSQL/14/migrate_write_ircserver.sql b/src/core/SQL/PostgreSQL/15/migrate_write_ircserver.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/migrate_write_ircserver.sql rename to src/core/SQL/PostgreSQL/15/migrate_write_ircserver.sql diff --git a/src/core/SQL/PostgreSQL/14/migrate_write_network.sql b/src/core/SQL/PostgreSQL/15/migrate_write_network.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/migrate_write_network.sql rename to src/core/SQL/PostgreSQL/15/migrate_write_network.sql diff --git a/src/core/SQL/PostgreSQL/14/migrate_write_quasseluser.sql b/src/core/SQL/PostgreSQL/15/migrate_write_quasseluser.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/migrate_write_quasseluser.sql rename to src/core/SQL/PostgreSQL/15/migrate_write_quasseluser.sql diff --git a/src/core/SQL/PostgreSQL/14/migrate_write_sender.sql b/src/core/SQL/PostgreSQL/15/migrate_write_sender.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/migrate_write_sender.sql rename to src/core/SQL/PostgreSQL/15/migrate_write_sender.sql diff --git a/src/core/SQL/PostgreSQL/14/migrate_write_usersetting.sql b/src/core/SQL/PostgreSQL/15/migrate_write_usersetting.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/migrate_write_usersetting.sql rename to src/core/SQL/PostgreSQL/15/migrate_write_usersetting.sql diff --git a/src/core/SQL/PostgreSQL/14/select_authuser.sql b/src/core/SQL/PostgreSQL/15/select_authuser.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/select_authuser.sql rename to src/core/SQL/PostgreSQL/15/select_authuser.sql diff --git a/src/core/SQL/PostgreSQL/14/select_bufferByName.sql b/src/core/SQL/PostgreSQL/15/select_bufferByName.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/select_bufferByName.sql rename to src/core/SQL/PostgreSQL/15/select_bufferByName.sql diff --git a/src/core/SQL/PostgreSQL/14/select_bufferExists.sql b/src/core/SQL/PostgreSQL/15/select_bufferExists.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/select_bufferExists.sql rename to src/core/SQL/PostgreSQL/15/select_bufferExists.sql diff --git a/src/core/SQL/PostgreSQL/14/select_buffer_by_id.sql b/src/core/SQL/PostgreSQL/15/select_buffer_by_id.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/select_buffer_by_id.sql rename to src/core/SQL/PostgreSQL/15/select_buffer_by_id.sql diff --git a/src/core/SQL/PostgreSQL/14/select_buffer_lastseen_messages.sql b/src/core/SQL/PostgreSQL/15/select_buffer_lastseen_messages.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/select_buffer_lastseen_messages.sql rename to src/core/SQL/PostgreSQL/15/select_buffer_lastseen_messages.sql diff --git a/src/core/SQL/PostgreSQL/15/select_buffer_markerlinemsgids.sql b/src/core/SQL/PostgreSQL/15/select_buffer_markerlinemsgids.sql new file mode 100644 index 00000000..10cccaf4 --- /dev/null +++ b/src/core/SQL/PostgreSQL/15/select_buffer_markerlinemsgids.sql @@ -0,0 +1,3 @@ +SELECT bufferid, markerlinemsgid +FROM buffer +WHERE userid = :userid diff --git a/src/core/SQL/PostgreSQL/14/select_buffers.sql b/src/core/SQL/PostgreSQL/15/select_buffers.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/select_buffers.sql rename to src/core/SQL/PostgreSQL/15/select_buffers.sql diff --git a/src/core/SQL/PostgreSQL/14/select_buffers_for_network.sql b/src/core/SQL/PostgreSQL/15/select_buffers_for_network.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/select_buffers_for_network.sql rename to src/core/SQL/PostgreSQL/15/select_buffers_for_network.sql diff --git a/src/core/SQL/PostgreSQL/14/select_checkidentity.sql b/src/core/SQL/PostgreSQL/15/select_checkidentity.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/select_checkidentity.sql rename to src/core/SQL/PostgreSQL/15/select_checkidentity.sql diff --git a/src/core/SQL/PostgreSQL/14/select_connected_networks.sql b/src/core/SQL/PostgreSQL/15/select_connected_networks.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/select_connected_networks.sql rename to src/core/SQL/PostgreSQL/15/select_connected_networks.sql diff --git a/src/core/SQL/PostgreSQL/14/select_identities.sql b/src/core/SQL/PostgreSQL/15/select_identities.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/select_identities.sql rename to src/core/SQL/PostgreSQL/15/select_identities.sql diff --git a/src/core/SQL/PostgreSQL/14/select_internaluser.sql b/src/core/SQL/PostgreSQL/15/select_internaluser.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/select_internaluser.sql rename to src/core/SQL/PostgreSQL/15/select_internaluser.sql diff --git a/src/core/SQL/PostgreSQL/14/select_messages.sql b/src/core/SQL/PostgreSQL/15/select_messages.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/select_messages.sql rename to src/core/SQL/PostgreSQL/15/select_messages.sql diff --git a/src/core/SQL/PostgreSQL/14/select_messagesAll.sql b/src/core/SQL/PostgreSQL/15/select_messagesAll.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/select_messagesAll.sql rename to src/core/SQL/PostgreSQL/15/select_messagesAll.sql diff --git a/src/core/SQL/PostgreSQL/14/select_messagesAllNew.sql b/src/core/SQL/PostgreSQL/15/select_messagesAllNew.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/select_messagesAllNew.sql rename to src/core/SQL/PostgreSQL/15/select_messagesAllNew.sql diff --git a/src/core/SQL/PostgreSQL/14/select_messagesNewerThan.sql b/src/core/SQL/PostgreSQL/15/select_messagesNewerThan.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/select_messagesNewerThan.sql rename to src/core/SQL/PostgreSQL/15/select_messagesNewerThan.sql diff --git a/src/core/SQL/PostgreSQL/14/select_messagesRange.sql b/src/core/SQL/PostgreSQL/15/select_messagesRange.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/select_messagesRange.sql rename to src/core/SQL/PostgreSQL/15/select_messagesRange.sql diff --git a/src/core/SQL/PostgreSQL/14/select_networkExists.sql b/src/core/SQL/PostgreSQL/15/select_networkExists.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/select_networkExists.sql rename to src/core/SQL/PostgreSQL/15/select_networkExists.sql diff --git a/src/core/SQL/PostgreSQL/14/select_network_awaymsg.sql b/src/core/SQL/PostgreSQL/15/select_network_awaymsg.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/select_network_awaymsg.sql rename to src/core/SQL/PostgreSQL/15/select_network_awaymsg.sql diff --git a/src/core/SQL/PostgreSQL/14/select_network_usermode.sql b/src/core/SQL/PostgreSQL/15/select_network_usermode.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/select_network_usermode.sql rename to src/core/SQL/PostgreSQL/15/select_network_usermode.sql diff --git a/src/core/SQL/PostgreSQL/14/select_networks_for_user.sql b/src/core/SQL/PostgreSQL/15/select_networks_for_user.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/select_networks_for_user.sql rename to src/core/SQL/PostgreSQL/15/select_networks_for_user.sql diff --git a/src/core/SQL/PostgreSQL/14/select_nicks.sql b/src/core/SQL/PostgreSQL/15/select_nicks.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/select_nicks.sql rename to src/core/SQL/PostgreSQL/15/select_nicks.sql diff --git a/src/core/SQL/PostgreSQL/14/select_persistent_channels.sql b/src/core/SQL/PostgreSQL/15/select_persistent_channels.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/select_persistent_channels.sql rename to src/core/SQL/PostgreSQL/15/select_persistent_channels.sql diff --git a/src/core/SQL/PostgreSQL/14/select_servers_for_network.sql b/src/core/SQL/PostgreSQL/15/select_servers_for_network.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/select_servers_for_network.sql rename to src/core/SQL/PostgreSQL/15/select_servers_for_network.sql diff --git a/src/core/SQL/PostgreSQL/14/select_user_setting.sql b/src/core/SQL/PostgreSQL/15/select_user_setting.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/select_user_setting.sql rename to src/core/SQL/PostgreSQL/15/select_user_setting.sql diff --git a/src/core/SQL/PostgreSQL/14/select_userid.sql b/src/core/SQL/PostgreSQL/15/select_userid.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/select_userid.sql rename to src/core/SQL/PostgreSQL/15/select_userid.sql diff --git a/src/core/SQL/PostgreSQL/14/setup_000_quasseluser.sql b/src/core/SQL/PostgreSQL/15/setup_000_quasseluser.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/setup_000_quasseluser.sql rename to src/core/SQL/PostgreSQL/15/setup_000_quasseluser.sql diff --git a/src/core/SQL/PostgreSQL/14/setup_010_sender.sql b/src/core/SQL/PostgreSQL/15/setup_010_sender.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/setup_010_sender.sql rename to src/core/SQL/PostgreSQL/15/setup_010_sender.sql diff --git a/src/core/SQL/PostgreSQL/14/setup_020_identity.sql b/src/core/SQL/PostgreSQL/15/setup_020_identity.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/setup_020_identity.sql rename to src/core/SQL/PostgreSQL/15/setup_020_identity.sql diff --git a/src/core/SQL/PostgreSQL/14/setup_030_identity_nick.sql b/src/core/SQL/PostgreSQL/15/setup_030_identity_nick.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/setup_030_identity_nick.sql rename to src/core/SQL/PostgreSQL/15/setup_030_identity_nick.sql diff --git a/src/core/SQL/PostgreSQL/14/setup_040_network.sql b/src/core/SQL/PostgreSQL/15/setup_040_network.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/setup_040_network.sql rename to src/core/SQL/PostgreSQL/15/setup_040_network.sql diff --git a/src/core/SQL/PostgreSQL/14/setup_050_buffer.sql b/src/core/SQL/PostgreSQL/15/setup_050_buffer.sql similarity index 92% rename from src/core/SQL/PostgreSQL/14/setup_050_buffer.sql rename to src/core/SQL/PostgreSQL/15/setup_050_buffer.sql index d620a761..a4b0ce56 100644 --- a/src/core/SQL/PostgreSQL/14/setup_050_buffer.sql +++ b/src/core/SQL/PostgreSQL/15/setup_050_buffer.sql @@ -7,6 +7,7 @@ create TABLE buffer ( buffercname varchar(128) NOT NULL, -- CANONICAL BUFFER NAME (lowercase version) buffertype integer NOT NULL DEFAULT 0, lastseenmsgid integer NOT NULL DEFAULT 0, + markerlinemsgid integer NOT NULL DEFAULT 0, key varchar(128), joined boolean NOT NULL DEFAULT FALSE, -- BOOL UNIQUE(userid, networkid, buffercname) diff --git a/src/core/SQL/PostgreSQL/14/setup_060_backlog.sql b/src/core/SQL/PostgreSQL/15/setup_060_backlog.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/setup_060_backlog.sql rename to src/core/SQL/PostgreSQL/15/setup_060_backlog.sql diff --git a/src/core/SQL/PostgreSQL/14/setup_070_coreinfo.sql b/src/core/SQL/PostgreSQL/15/setup_070_coreinfo.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/setup_070_coreinfo.sql rename to src/core/SQL/PostgreSQL/15/setup_070_coreinfo.sql diff --git a/src/core/SQL/PostgreSQL/14/setup_080_ircservers.sql b/src/core/SQL/PostgreSQL/15/setup_080_ircservers.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/setup_080_ircservers.sql rename to src/core/SQL/PostgreSQL/15/setup_080_ircservers.sql diff --git a/src/core/SQL/PostgreSQL/14/setup_090_backlog_idx.sql b/src/core/SQL/PostgreSQL/15/setup_090_backlog_idx.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/setup_090_backlog_idx.sql rename to src/core/SQL/PostgreSQL/15/setup_090_backlog_idx.sql diff --git a/src/core/SQL/PostgreSQL/14/setup_100_user_setting.sql b/src/core/SQL/PostgreSQL/15/setup_100_user_setting.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/setup_100_user_setting.sql rename to src/core/SQL/PostgreSQL/15/setup_100_user_setting.sql diff --git a/src/core/SQL/PostgreSQL/14/setup_110_alter_sender_seq.sql b/src/core/SQL/PostgreSQL/15/setup_110_alter_sender_seq.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/setup_110_alter_sender_seq.sql rename to src/core/SQL/PostgreSQL/15/setup_110_alter_sender_seq.sql diff --git a/src/core/SQL/PostgreSQL/14/setup_120_alter_messageid_seq.sql b/src/core/SQL/PostgreSQL/15/setup_120_alter_messageid_seq.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/setup_120_alter_messageid_seq.sql rename to src/core/SQL/PostgreSQL/15/setup_120_alter_messageid_seq.sql diff --git a/src/core/SQL/PostgreSQL/14/update_backlog_bufferid.sql b/src/core/SQL/PostgreSQL/15/update_backlog_bufferid.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/update_backlog_bufferid.sql rename to src/core/SQL/PostgreSQL/15/update_backlog_bufferid.sql diff --git a/src/core/SQL/PostgreSQL/14/update_buffer_lastseen.sql b/src/core/SQL/PostgreSQL/15/update_buffer_lastseen.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/update_buffer_lastseen.sql rename to src/core/SQL/PostgreSQL/15/update_buffer_lastseen.sql diff --git a/src/core/SQL/PostgreSQL/15/update_buffer_markerlinemsgid.sql b/src/core/SQL/PostgreSQL/15/update_buffer_markerlinemsgid.sql new file mode 100644 index 00000000..7d9ba497 --- /dev/null +++ b/src/core/SQL/PostgreSQL/15/update_buffer_markerlinemsgid.sql @@ -0,0 +1,3 @@ +UPDATE buffer +SET markerlinemsgid = :markerlinemsgid +WHERE userid = :userid AND bufferid = :bufferid diff --git a/src/core/SQL/PostgreSQL/14/update_buffer_name.sql b/src/core/SQL/PostgreSQL/15/update_buffer_name.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/update_buffer_name.sql rename to src/core/SQL/PostgreSQL/15/update_buffer_name.sql diff --git a/src/core/SQL/PostgreSQL/14/update_buffer_persistent_channel.sql b/src/core/SQL/PostgreSQL/15/update_buffer_persistent_channel.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/update_buffer_persistent_channel.sql rename to src/core/SQL/PostgreSQL/15/update_buffer_persistent_channel.sql diff --git a/src/core/SQL/PostgreSQL/14/update_buffer_set_channel_key.sql b/src/core/SQL/PostgreSQL/15/update_buffer_set_channel_key.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/update_buffer_set_channel_key.sql rename to src/core/SQL/PostgreSQL/15/update_buffer_set_channel_key.sql diff --git a/src/core/SQL/PostgreSQL/14/update_identity.sql b/src/core/SQL/PostgreSQL/15/update_identity.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/update_identity.sql rename to src/core/SQL/PostgreSQL/15/update_identity.sql diff --git a/src/core/SQL/PostgreSQL/14/update_network.sql b/src/core/SQL/PostgreSQL/15/update_network.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/update_network.sql rename to src/core/SQL/PostgreSQL/15/update_network.sql diff --git a/src/core/SQL/PostgreSQL/14/update_network_connected.sql b/src/core/SQL/PostgreSQL/15/update_network_connected.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/update_network_connected.sql rename to src/core/SQL/PostgreSQL/15/update_network_connected.sql diff --git a/src/core/SQL/PostgreSQL/14/update_network_set_awaymsg.sql b/src/core/SQL/PostgreSQL/15/update_network_set_awaymsg.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/update_network_set_awaymsg.sql rename to src/core/SQL/PostgreSQL/15/update_network_set_awaymsg.sql diff --git a/src/core/SQL/PostgreSQL/14/update_network_set_usermode.sql b/src/core/SQL/PostgreSQL/15/update_network_set_usermode.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/update_network_set_usermode.sql rename to src/core/SQL/PostgreSQL/15/update_network_set_usermode.sql diff --git a/src/core/SQL/PostgreSQL/14/update_user_setting.sql b/src/core/SQL/PostgreSQL/15/update_user_setting.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/update_user_setting.sql rename to src/core/SQL/PostgreSQL/15/update_user_setting.sql diff --git a/src/core/SQL/PostgreSQL/14/update_username.sql b/src/core/SQL/PostgreSQL/15/update_username.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/update_username.sql rename to src/core/SQL/PostgreSQL/15/update_username.sql diff --git a/src/core/SQL/PostgreSQL/14/update_userpassword.sql b/src/core/SQL/PostgreSQL/15/update_userpassword.sql similarity index 100% rename from src/core/SQL/PostgreSQL/14/update_userpassword.sql rename to src/core/SQL/PostgreSQL/15/update_userpassword.sql diff --git a/src/core/SQL/PostgreSQL/15/upgrade_000_alter_buffer_add_markerlinemsgid.sql b/src/core/SQL/PostgreSQL/15/upgrade_000_alter_buffer_add_markerlinemsgid.sql new file mode 100644 index 00000000..f0ef5fe3 --- /dev/null +++ b/src/core/SQL/PostgreSQL/15/upgrade_000_alter_buffer_add_markerlinemsgid.sql @@ -0,0 +1,2 @@ +ALTER TABLE buffer +ADD COLUMN markerlinemsgid integer NOT NULL DEFAULT 0 diff --git a/src/core/SQL/SQLite/15/delete_backlog_by_uid.sql b/src/core/SQL/SQLite/16/delete_backlog_by_uid.sql similarity index 100% rename from src/core/SQL/SQLite/15/delete_backlog_by_uid.sql rename to src/core/SQL/SQLite/16/delete_backlog_by_uid.sql diff --git a/src/core/SQL/SQLite/15/delete_backlog_for_buffer.sql b/src/core/SQL/SQLite/16/delete_backlog_for_buffer.sql similarity index 100% rename from src/core/SQL/SQLite/15/delete_backlog_for_buffer.sql rename to src/core/SQL/SQLite/16/delete_backlog_for_buffer.sql diff --git a/src/core/SQL/SQLite/15/delete_backlog_for_network.sql b/src/core/SQL/SQLite/16/delete_backlog_for_network.sql similarity index 100% rename from src/core/SQL/SQLite/15/delete_backlog_for_network.sql rename to src/core/SQL/SQLite/16/delete_backlog_for_network.sql diff --git a/src/core/SQL/SQLite/15/delete_buffer_for_bufferid.sql b/src/core/SQL/SQLite/16/delete_buffer_for_bufferid.sql similarity index 100% rename from src/core/SQL/SQLite/15/delete_buffer_for_bufferid.sql rename to src/core/SQL/SQLite/16/delete_buffer_for_bufferid.sql diff --git a/src/core/SQL/SQLite/15/delete_buffers_by_uid.sql b/src/core/SQL/SQLite/16/delete_buffers_by_uid.sql similarity index 100% rename from src/core/SQL/SQLite/15/delete_buffers_by_uid.sql rename to src/core/SQL/SQLite/16/delete_buffers_by_uid.sql diff --git a/src/core/SQL/SQLite/15/delete_buffers_for_network.sql b/src/core/SQL/SQLite/16/delete_buffers_for_network.sql similarity index 100% rename from src/core/SQL/SQLite/15/delete_buffers_for_network.sql rename to src/core/SQL/SQLite/16/delete_buffers_for_network.sql diff --git a/src/core/SQL/SQLite/15/delete_identity.sql b/src/core/SQL/SQLite/16/delete_identity.sql similarity index 100% rename from src/core/SQL/SQLite/15/delete_identity.sql rename to src/core/SQL/SQLite/16/delete_identity.sql diff --git a/src/core/SQL/SQLite/15/delete_ircservers_for_network.sql b/src/core/SQL/SQLite/16/delete_ircservers_for_network.sql similarity index 100% rename from src/core/SQL/SQLite/15/delete_ircservers_for_network.sql rename to src/core/SQL/SQLite/16/delete_ircservers_for_network.sql diff --git a/src/core/SQL/SQLite/15/delete_network.sql b/src/core/SQL/SQLite/16/delete_network.sql similarity index 100% rename from src/core/SQL/SQLite/15/delete_network.sql rename to src/core/SQL/SQLite/16/delete_network.sql diff --git a/src/core/SQL/SQLite/15/delete_networks_by_uid.sql b/src/core/SQL/SQLite/16/delete_networks_by_uid.sql similarity index 100% rename from src/core/SQL/SQLite/15/delete_networks_by_uid.sql rename to src/core/SQL/SQLite/16/delete_networks_by_uid.sql diff --git a/src/core/SQL/SQLite/15/delete_nicks.sql b/src/core/SQL/SQLite/16/delete_nicks.sql similarity index 100% rename from src/core/SQL/SQLite/15/delete_nicks.sql rename to src/core/SQL/SQLite/16/delete_nicks.sql diff --git a/src/core/SQL/SQLite/15/delete_quasseluser.sql b/src/core/SQL/SQLite/16/delete_quasseluser.sql similarity index 100% rename from src/core/SQL/SQLite/15/delete_quasseluser.sql rename to src/core/SQL/SQLite/16/delete_quasseluser.sql diff --git a/src/core/SQL/SQLite/15/insert_buffer.sql b/src/core/SQL/SQLite/16/insert_buffer.sql similarity index 100% rename from src/core/SQL/SQLite/15/insert_buffer.sql rename to src/core/SQL/SQLite/16/insert_buffer.sql diff --git a/src/core/SQL/SQLite/15/insert_identity.sql b/src/core/SQL/SQLite/16/insert_identity.sql similarity index 100% rename from src/core/SQL/SQLite/15/insert_identity.sql rename to src/core/SQL/SQLite/16/insert_identity.sql diff --git a/src/core/SQL/SQLite/15/insert_message.sql b/src/core/SQL/SQLite/16/insert_message.sql similarity index 100% rename from src/core/SQL/SQLite/15/insert_message.sql rename to src/core/SQL/SQLite/16/insert_message.sql diff --git a/src/core/SQL/SQLite/15/insert_network.sql b/src/core/SQL/SQLite/16/insert_network.sql similarity index 100% rename from src/core/SQL/SQLite/15/insert_network.sql rename to src/core/SQL/SQLite/16/insert_network.sql diff --git a/src/core/SQL/SQLite/15/insert_nick.sql b/src/core/SQL/SQLite/16/insert_nick.sql similarity index 100% rename from src/core/SQL/SQLite/15/insert_nick.sql rename to src/core/SQL/SQLite/16/insert_nick.sql diff --git a/src/core/SQL/SQLite/15/insert_quasseluser.sql b/src/core/SQL/SQLite/16/insert_quasseluser.sql similarity index 100% rename from src/core/SQL/SQLite/15/insert_quasseluser.sql rename to src/core/SQL/SQLite/16/insert_quasseluser.sql diff --git a/src/core/SQL/SQLite/15/insert_sender.sql b/src/core/SQL/SQLite/16/insert_sender.sql similarity index 100% rename from src/core/SQL/SQLite/15/insert_sender.sql rename to src/core/SQL/SQLite/16/insert_sender.sql diff --git a/src/core/SQL/SQLite/15/insert_server.sql b/src/core/SQL/SQLite/16/insert_server.sql similarity index 100% rename from src/core/SQL/SQLite/15/insert_server.sql rename to src/core/SQL/SQLite/16/insert_server.sql diff --git a/src/core/SQL/SQLite/15/insert_user_setting.sql b/src/core/SQL/SQLite/16/insert_user_setting.sql similarity index 100% rename from src/core/SQL/SQLite/15/insert_user_setting.sql rename to src/core/SQL/SQLite/16/insert_user_setting.sql diff --git a/src/core/SQL/SQLite/15/migrate_read_backlog.sql b/src/core/SQL/SQLite/16/migrate_read_backlog.sql similarity index 100% rename from src/core/SQL/SQLite/15/migrate_read_backlog.sql rename to src/core/SQL/SQLite/16/migrate_read_backlog.sql diff --git a/src/core/SQL/SQLite/15/migrate_read_buffer.sql b/src/core/SQL/SQLite/16/migrate_read_buffer.sql similarity index 55% rename from src/core/SQL/SQLite/15/migrate_read_buffer.sql rename to src/core/SQL/SQLite/16/migrate_read_buffer.sql index 4f7de4f0..828b660b 100644 --- a/src/core/SQL/SQLite/15/migrate_read_buffer.sql +++ b/src/core/SQL/SQLite/16/migrate_read_buffer.sql @@ -1,2 +1,2 @@ -SELECT bufferid, userid, groupid, networkid, buffername, buffercname, buffertype, lastseenmsgid, key, joined +SELECT bufferid, userid, groupid, networkid, buffername, buffercname, buffertype, lastseenmsgid, markerlinemsgid, key, joined FROM buffer diff --git a/src/core/SQL/SQLite/15/migrate_read_identity.sql b/src/core/SQL/SQLite/16/migrate_read_identity.sql similarity index 100% rename from src/core/SQL/SQLite/15/migrate_read_identity.sql rename to src/core/SQL/SQLite/16/migrate_read_identity.sql diff --git a/src/core/SQL/SQLite/15/migrate_read_identity_nick.sql b/src/core/SQL/SQLite/16/migrate_read_identity_nick.sql similarity index 100% rename from src/core/SQL/SQLite/15/migrate_read_identity_nick.sql rename to src/core/SQL/SQLite/16/migrate_read_identity_nick.sql diff --git a/src/core/SQL/SQLite/15/migrate_read_ircserver.sql b/src/core/SQL/SQLite/16/migrate_read_ircserver.sql similarity index 100% rename from src/core/SQL/SQLite/15/migrate_read_ircserver.sql rename to src/core/SQL/SQLite/16/migrate_read_ircserver.sql diff --git a/src/core/SQL/SQLite/15/migrate_read_network.sql b/src/core/SQL/SQLite/16/migrate_read_network.sql similarity index 100% rename from src/core/SQL/SQLite/15/migrate_read_network.sql rename to src/core/SQL/SQLite/16/migrate_read_network.sql diff --git a/src/core/SQL/SQLite/15/migrate_read_quasseluser.sql b/src/core/SQL/SQLite/16/migrate_read_quasseluser.sql similarity index 100% rename from src/core/SQL/SQLite/15/migrate_read_quasseluser.sql rename to src/core/SQL/SQLite/16/migrate_read_quasseluser.sql diff --git a/src/core/SQL/SQLite/15/migrate_read_sender.sql b/src/core/SQL/SQLite/16/migrate_read_sender.sql similarity index 100% rename from src/core/SQL/SQLite/15/migrate_read_sender.sql rename to src/core/SQL/SQLite/16/migrate_read_sender.sql diff --git a/src/core/SQL/SQLite/15/migrate_read_usersetting.sql b/src/core/SQL/SQLite/16/migrate_read_usersetting.sql similarity index 100% rename from src/core/SQL/SQLite/15/migrate_read_usersetting.sql rename to src/core/SQL/SQLite/16/migrate_read_usersetting.sql diff --git a/src/core/SQL/SQLite/15/select_authuser.sql b/src/core/SQL/SQLite/16/select_authuser.sql similarity index 100% rename from src/core/SQL/SQLite/15/select_authuser.sql rename to src/core/SQL/SQLite/16/select_authuser.sql diff --git a/src/core/SQL/SQLite/15/select_bufferByName.sql b/src/core/SQL/SQLite/16/select_bufferByName.sql similarity index 100% rename from src/core/SQL/SQLite/15/select_bufferByName.sql rename to src/core/SQL/SQLite/16/select_bufferByName.sql diff --git a/src/core/SQL/SQLite/15/select_bufferExists.sql b/src/core/SQL/SQLite/16/select_bufferExists.sql similarity index 100% rename from src/core/SQL/SQLite/15/select_bufferExists.sql rename to src/core/SQL/SQLite/16/select_bufferExists.sql diff --git a/src/core/SQL/SQLite/15/select_buffer_by_id.sql b/src/core/SQL/SQLite/16/select_buffer_by_id.sql similarity index 100% rename from src/core/SQL/SQLite/15/select_buffer_by_id.sql rename to src/core/SQL/SQLite/16/select_buffer_by_id.sql diff --git a/src/core/SQL/SQLite/15/select_buffer_lastseen_messages.sql b/src/core/SQL/SQLite/16/select_buffer_lastseen_messages.sql similarity index 100% rename from src/core/SQL/SQLite/15/select_buffer_lastseen_messages.sql rename to src/core/SQL/SQLite/16/select_buffer_lastseen_messages.sql diff --git a/src/core/SQL/SQLite/16/select_buffer_markerlinemsgids.sql b/src/core/SQL/SQLite/16/select_buffer_markerlinemsgids.sql new file mode 100644 index 00000000..10cccaf4 --- /dev/null +++ b/src/core/SQL/SQLite/16/select_buffer_markerlinemsgids.sql @@ -0,0 +1,3 @@ +SELECT bufferid, markerlinemsgid +FROM buffer +WHERE userid = :userid diff --git a/src/core/SQL/SQLite/15/select_buffers.sql b/src/core/SQL/SQLite/16/select_buffers.sql similarity index 100% rename from src/core/SQL/SQLite/15/select_buffers.sql rename to src/core/SQL/SQLite/16/select_buffers.sql diff --git a/src/core/SQL/SQLite/15/select_buffers_for_merge.sql b/src/core/SQL/SQLite/16/select_buffers_for_merge.sql similarity index 100% rename from src/core/SQL/SQLite/15/select_buffers_for_merge.sql rename to src/core/SQL/SQLite/16/select_buffers_for_merge.sql diff --git a/src/core/SQL/SQLite/15/select_buffers_for_network.sql b/src/core/SQL/SQLite/16/select_buffers_for_network.sql similarity index 100% rename from src/core/SQL/SQLite/15/select_buffers_for_network.sql rename to src/core/SQL/SQLite/16/select_buffers_for_network.sql diff --git a/src/core/SQL/SQLite/15/select_checkidentity.sql b/src/core/SQL/SQLite/16/select_checkidentity.sql similarity index 100% rename from src/core/SQL/SQLite/15/select_checkidentity.sql rename to src/core/SQL/SQLite/16/select_checkidentity.sql diff --git a/src/core/SQL/SQLite/15/select_connected_networks.sql b/src/core/SQL/SQLite/16/select_connected_networks.sql similarity index 100% rename from src/core/SQL/SQLite/15/select_connected_networks.sql rename to src/core/SQL/SQLite/16/select_connected_networks.sql diff --git a/src/core/SQL/SQLite/15/select_identities.sql b/src/core/SQL/SQLite/16/select_identities.sql similarity index 100% rename from src/core/SQL/SQLite/15/select_identities.sql rename to src/core/SQL/SQLite/16/select_identities.sql diff --git a/src/core/SQL/SQLite/15/select_internaluser.sql b/src/core/SQL/SQLite/16/select_internaluser.sql similarity index 100% rename from src/core/SQL/SQLite/15/select_internaluser.sql rename to src/core/SQL/SQLite/16/select_internaluser.sql diff --git a/src/core/SQL/SQLite/15/select_messages.sql b/src/core/SQL/SQLite/16/select_messages.sql similarity index 100% rename from src/core/SQL/SQLite/15/select_messages.sql rename to src/core/SQL/SQLite/16/select_messages.sql diff --git a/src/core/SQL/SQLite/15/select_messagesAll.sql b/src/core/SQL/SQLite/16/select_messagesAll.sql similarity index 100% rename from src/core/SQL/SQLite/15/select_messagesAll.sql rename to src/core/SQL/SQLite/16/select_messagesAll.sql diff --git a/src/core/SQL/SQLite/15/select_messagesAllNew.sql b/src/core/SQL/SQLite/16/select_messagesAllNew.sql similarity index 100% rename from src/core/SQL/SQLite/15/select_messagesAllNew.sql rename to src/core/SQL/SQLite/16/select_messagesAllNew.sql diff --git a/src/core/SQL/SQLite/15/select_messagesNewerThan.sql b/src/core/SQL/SQLite/16/select_messagesNewerThan.sql similarity index 100% rename from src/core/SQL/SQLite/15/select_messagesNewerThan.sql rename to src/core/SQL/SQLite/16/select_messagesNewerThan.sql diff --git a/src/core/SQL/SQLite/15/select_messagesNewestK.sql b/src/core/SQL/SQLite/16/select_messagesNewestK.sql similarity index 100% rename from src/core/SQL/SQLite/15/select_messagesNewestK.sql rename to src/core/SQL/SQLite/16/select_messagesNewestK.sql diff --git a/src/core/SQL/SQLite/15/select_networkExists.sql b/src/core/SQL/SQLite/16/select_networkExists.sql similarity index 100% rename from src/core/SQL/SQLite/15/select_networkExists.sql rename to src/core/SQL/SQLite/16/select_networkExists.sql diff --git a/src/core/SQL/SQLite/15/select_network_awaymsg.sql b/src/core/SQL/SQLite/16/select_network_awaymsg.sql similarity index 100% rename from src/core/SQL/SQLite/15/select_network_awaymsg.sql rename to src/core/SQL/SQLite/16/select_network_awaymsg.sql diff --git a/src/core/SQL/SQLite/15/select_network_usermode.sql b/src/core/SQL/SQLite/16/select_network_usermode.sql similarity index 100% rename from src/core/SQL/SQLite/15/select_network_usermode.sql rename to src/core/SQL/SQLite/16/select_network_usermode.sql diff --git a/src/core/SQL/SQLite/15/select_networks_for_user.sql b/src/core/SQL/SQLite/16/select_networks_for_user.sql similarity index 100% rename from src/core/SQL/SQLite/15/select_networks_for_user.sql rename to src/core/SQL/SQLite/16/select_networks_for_user.sql diff --git a/src/core/SQL/SQLite/15/select_nicks.sql b/src/core/SQL/SQLite/16/select_nicks.sql similarity index 100% rename from src/core/SQL/SQLite/15/select_nicks.sql rename to src/core/SQL/SQLite/16/select_nicks.sql diff --git a/src/core/SQL/SQLite/15/select_persistent_channels.sql b/src/core/SQL/SQLite/16/select_persistent_channels.sql similarity index 100% rename from src/core/SQL/SQLite/15/select_persistent_channels.sql rename to src/core/SQL/SQLite/16/select_persistent_channels.sql diff --git a/src/core/SQL/SQLite/15/select_servers_for_network.sql b/src/core/SQL/SQLite/16/select_servers_for_network.sql similarity index 100% rename from src/core/SQL/SQLite/15/select_servers_for_network.sql rename to src/core/SQL/SQLite/16/select_servers_for_network.sql diff --git a/src/core/SQL/SQLite/15/select_user_setting.sql b/src/core/SQL/SQLite/16/select_user_setting.sql similarity index 100% rename from src/core/SQL/SQLite/15/select_user_setting.sql rename to src/core/SQL/SQLite/16/select_user_setting.sql diff --git a/src/core/SQL/SQLite/15/select_userid.sql b/src/core/SQL/SQLite/16/select_userid.sql similarity index 100% rename from src/core/SQL/SQLite/15/select_userid.sql rename to src/core/SQL/SQLite/16/select_userid.sql diff --git a/src/core/SQL/SQLite/15/setup_000_quasseluser.sql b/src/core/SQL/SQLite/16/setup_000_quasseluser.sql similarity index 100% rename from src/core/SQL/SQLite/15/setup_000_quasseluser.sql rename to src/core/SQL/SQLite/16/setup_000_quasseluser.sql diff --git a/src/core/SQL/SQLite/15/setup_010_sender.sql b/src/core/SQL/SQLite/16/setup_010_sender.sql similarity index 100% rename from src/core/SQL/SQLite/15/setup_010_sender.sql rename to src/core/SQL/SQLite/16/setup_010_sender.sql diff --git a/src/core/SQL/SQLite/15/setup_020_network.sql b/src/core/SQL/SQLite/16/setup_020_network.sql similarity index 100% rename from src/core/SQL/SQLite/15/setup_020_network.sql rename to src/core/SQL/SQLite/16/setup_020_network.sql diff --git a/src/core/SQL/SQLite/15/setup_030_buffer.sql b/src/core/SQL/SQLite/16/setup_030_buffer.sql similarity index 89% rename from src/core/SQL/SQLite/15/setup_030_buffer.sql rename to src/core/SQL/SQLite/16/setup_030_buffer.sql index fccc3827..facb75cd 100644 --- a/src/core/SQL/SQLite/15/setup_030_buffer.sql +++ b/src/core/SQL/SQLite/16/setup_030_buffer.sql @@ -7,6 +7,7 @@ CREATE TABLE buffer ( buffercname TEXT NOT NULL, -- CANONICAL BUFFER NAME (lowercase version) buffertype INTEGER NOT NULL DEFAULT 0, lastseenmsgid INTEGER NOT NULL DEFAULT 0, + markerlinemsgid INTEGER NOT NULL DEFAULT 0, key TEXT, joined INTEGER NOT NULL DEFAULT 0 -- BOOL ) diff --git a/src/core/SQL/SQLite/15/setup_040_buffer_idx.sql b/src/core/SQL/SQLite/16/setup_040_buffer_idx.sql similarity index 100% rename from src/core/SQL/SQLite/15/setup_040_buffer_idx.sql rename to src/core/SQL/SQLite/16/setup_040_buffer_idx.sql diff --git a/src/core/SQL/SQLite/15/setup_050_buffer_cname_idx.sql b/src/core/SQL/SQLite/16/setup_050_buffer_cname_idx.sql similarity index 100% rename from src/core/SQL/SQLite/15/setup_050_buffer_cname_idx.sql rename to src/core/SQL/SQLite/16/setup_050_buffer_cname_idx.sql diff --git a/src/core/SQL/SQLite/15/setup_060_backlog.sql b/src/core/SQL/SQLite/16/setup_060_backlog.sql similarity index 100% rename from src/core/SQL/SQLite/15/setup_060_backlog.sql rename to src/core/SQL/SQLite/16/setup_060_backlog.sql diff --git a/src/core/SQL/SQLite/15/setup_070_coreinfo.sql b/src/core/SQL/SQLite/16/setup_070_coreinfo.sql similarity index 100% rename from src/core/SQL/SQLite/15/setup_070_coreinfo.sql rename to src/core/SQL/SQLite/16/setup_070_coreinfo.sql diff --git a/src/core/SQL/SQLite/15/setup_080_ircservers.sql b/src/core/SQL/SQLite/16/setup_080_ircservers.sql similarity index 100% rename from src/core/SQL/SQLite/15/setup_080_ircservers.sql rename to src/core/SQL/SQLite/16/setup_080_ircservers.sql diff --git a/src/core/SQL/SQLite/15/setup_090_backlog_idx.sql b/src/core/SQL/SQLite/16/setup_090_backlog_idx.sql similarity index 100% rename from src/core/SQL/SQLite/15/setup_090_backlog_idx.sql rename to src/core/SQL/SQLite/16/setup_090_backlog_idx.sql diff --git a/src/core/SQL/SQLite/15/setup_100_backlog_idx2.sql b/src/core/SQL/SQLite/16/setup_100_backlog_idx2.sql similarity index 100% rename from src/core/SQL/SQLite/15/setup_100_backlog_idx2.sql rename to src/core/SQL/SQLite/16/setup_100_backlog_idx2.sql diff --git a/src/core/SQL/SQLite/15/setup_110_buffer_user_idx.sql b/src/core/SQL/SQLite/16/setup_110_buffer_user_idx.sql similarity index 100% rename from src/core/SQL/SQLite/15/setup_110_buffer_user_idx.sql rename to src/core/SQL/SQLite/16/setup_110_buffer_user_idx.sql diff --git a/src/core/SQL/SQLite/15/setup_120_user_setting.sql b/src/core/SQL/SQLite/16/setup_120_user_setting.sql similarity index 100% rename from src/core/SQL/SQLite/15/setup_120_user_setting.sql rename to src/core/SQL/SQLite/16/setup_120_user_setting.sql diff --git a/src/core/SQL/SQLite/15/setup_130_identity.sql b/src/core/SQL/SQLite/16/setup_130_identity.sql similarity index 100% rename from src/core/SQL/SQLite/15/setup_130_identity.sql rename to src/core/SQL/SQLite/16/setup_130_identity.sql diff --git a/src/core/SQL/SQLite/15/setup_140_identity_nick.sql b/src/core/SQL/SQLite/16/setup_140_identity_nick.sql similarity index 100% rename from src/core/SQL/SQLite/15/setup_140_identity_nick.sql rename to src/core/SQL/SQLite/16/setup_140_identity_nick.sql diff --git a/src/core/SQL/SQLite/15/update_backlog_bufferid.sql b/src/core/SQL/SQLite/16/update_backlog_bufferid.sql similarity index 100% rename from src/core/SQL/SQLite/15/update_backlog_bufferid.sql rename to src/core/SQL/SQLite/16/update_backlog_bufferid.sql diff --git a/src/core/SQL/SQLite/15/update_buffer_lastseen.sql b/src/core/SQL/SQLite/16/update_buffer_lastseen.sql similarity index 100% rename from src/core/SQL/SQLite/15/update_buffer_lastseen.sql rename to src/core/SQL/SQLite/16/update_buffer_lastseen.sql diff --git a/src/core/SQL/SQLite/16/update_buffer_markerlinemsgid.sql b/src/core/SQL/SQLite/16/update_buffer_markerlinemsgid.sql new file mode 100644 index 00000000..7d9ba497 --- /dev/null +++ b/src/core/SQL/SQLite/16/update_buffer_markerlinemsgid.sql @@ -0,0 +1,3 @@ +UPDATE buffer +SET markerlinemsgid = :markerlinemsgid +WHERE userid = :userid AND bufferid = :bufferid diff --git a/src/core/SQL/SQLite/15/update_buffer_name.sql b/src/core/SQL/SQLite/16/update_buffer_name.sql similarity index 100% rename from src/core/SQL/SQLite/15/update_buffer_name.sql rename to src/core/SQL/SQLite/16/update_buffer_name.sql diff --git a/src/core/SQL/SQLite/15/update_buffer_persistent_channel.sql b/src/core/SQL/SQLite/16/update_buffer_persistent_channel.sql similarity index 100% rename from src/core/SQL/SQLite/15/update_buffer_persistent_channel.sql rename to src/core/SQL/SQLite/16/update_buffer_persistent_channel.sql diff --git a/src/core/SQL/SQLite/15/update_buffer_set_channel_key.sql b/src/core/SQL/SQLite/16/update_buffer_set_channel_key.sql similarity index 100% rename from src/core/SQL/SQLite/15/update_buffer_set_channel_key.sql rename to src/core/SQL/SQLite/16/update_buffer_set_channel_key.sql diff --git a/src/core/SQL/SQLite/15/update_identity.sql b/src/core/SQL/SQLite/16/update_identity.sql similarity index 100% rename from src/core/SQL/SQLite/15/update_identity.sql rename to src/core/SQL/SQLite/16/update_identity.sql diff --git a/src/core/SQL/SQLite/15/update_network.sql b/src/core/SQL/SQLite/16/update_network.sql similarity index 100% rename from src/core/SQL/SQLite/15/update_network.sql rename to src/core/SQL/SQLite/16/update_network.sql diff --git a/src/core/SQL/SQLite/15/update_network_connected.sql b/src/core/SQL/SQLite/16/update_network_connected.sql similarity index 100% rename from src/core/SQL/SQLite/15/update_network_connected.sql rename to src/core/SQL/SQLite/16/update_network_connected.sql diff --git a/src/core/SQL/SQLite/15/update_network_set_awaymsg.sql b/src/core/SQL/SQLite/16/update_network_set_awaymsg.sql similarity index 100% rename from src/core/SQL/SQLite/15/update_network_set_awaymsg.sql rename to src/core/SQL/SQLite/16/update_network_set_awaymsg.sql diff --git a/src/core/SQL/SQLite/15/update_network_set_usermode.sql b/src/core/SQL/SQLite/16/update_network_set_usermode.sql similarity index 100% rename from src/core/SQL/SQLite/15/update_network_set_usermode.sql rename to src/core/SQL/SQLite/16/update_network_set_usermode.sql diff --git a/src/core/SQL/SQLite/15/update_user_setting.sql b/src/core/SQL/SQLite/16/update_user_setting.sql similarity index 100% rename from src/core/SQL/SQLite/15/update_user_setting.sql rename to src/core/SQL/SQLite/16/update_user_setting.sql diff --git a/src/core/SQL/SQLite/15/update_username.sql b/src/core/SQL/SQLite/16/update_username.sql similarity index 100% rename from src/core/SQL/SQLite/15/update_username.sql rename to src/core/SQL/SQLite/16/update_username.sql diff --git a/src/core/SQL/SQLite/15/update_userpassword.sql b/src/core/SQL/SQLite/16/update_userpassword.sql similarity index 100% rename from src/core/SQL/SQLite/15/update_userpassword.sql rename to src/core/SQL/SQLite/16/update_userpassword.sql diff --git a/src/core/SQL/SQLite/16/upgrade_000_alter_buffer_add_markerlinemsgid.sql b/src/core/SQL/SQLite/16/upgrade_000_alter_buffer_add_markerlinemsgid.sql new file mode 100644 index 00000000..ab8c8a19 --- /dev/null +++ b/src/core/SQL/SQLite/16/upgrade_000_alter_buffer_add_markerlinemsgid.sql @@ -0,0 +1,2 @@ +ALTER TABLE buffer +ADD COLUMN markerlinemsgid INTEGER NOT NULL DEFAULT 0 diff --git a/src/core/abstractsqlstorage.h b/src/core/abstractsqlstorage.h index c6c55212..89905513 100644 --- a/src/core/abstractsqlstorage.h +++ b/src/core/abstractsqlstorage.h @@ -198,6 +198,7 @@ public: QString buffercname; int buffertype; int lastseenmsgid; + int markerlinemsgid; QString key; bool joined; }; diff --git a/src/core/core.h b/src/core/core.h index 49910a96..d3f2fab3 100644 --- a/src/core/core.h +++ b/src/core/core.h @@ -378,6 +378,28 @@ public: return instance()->_storage->bufferLastSeenMsgIds(user); } + //! Update the MarkerLineMsgId for a Buffer + /** This Method is used to make the marker line position of a Buffer persistent + * \note This method is threadsafe. + * + * \param user The Owner of that Buffer + * \param bufferId The buffer id + * \param MsgId The Message id where the marker line should be placed + */ + static inline void setBufferMarkerLineMsg(UserId user, const BufferId &bufferId, const MsgId &msgId) { + return instance()->_storage->setBufferMarkerLineMsg(user, bufferId, msgId); + } + + //! Get a Hash of all marker line message ids + /** This Method is called when the Quassel Core is started to restore the MarkerLineMsgIds + * \note This method is threadsafe. + * + * \param user The Owner of the buffers + */ + static inline QHash bufferMarkerLineMsgIds(UserId user) { + return instance()->_storage->bufferMarkerLineMsgIds(user); + } + const QDateTime &startTime() const { return _startTime; } static inline QTimer &syncTimer() { return instance()->_storageSyncTimer; } diff --git a/src/core/postgresqlstorage.cpp b/src/core/postgresqlstorage.cpp index d8a62846..4a5a88cb 100644 --- a/src/core/postgresqlstorage.cpp +++ b/src/core/postgresqlstorage.cpp @@ -48,6 +48,7 @@ AbstractSqlMigrationWriter *PostgreSqlStorage::createMigrationWriter() { } bool PostgreSqlStorage::isAvailable() const { + qDebug() << QSqlDatabase::drivers(); if(!QSqlDatabase::isDriverAvailable("QPSQL")) return false; return true; } @@ -1142,6 +1143,44 @@ QHash PostgreSqlStorage::bufferLastSeenMsgIds(UserId user) { return lastSeenHash; } +void PostgreSqlStorage::setBufferMarkerLineMsg(UserId user, const BufferId &bufferId, const MsgId &msgId) { + QSqlQuery query(logDb()); + query.prepare(queryString("update_buffer_markerlinemsgid")); + + query.bindValue(":userid", user.toInt()); + query.bindValue(":bufferid", bufferId.toInt()); + query.bindValue(":lastseenmsgid", msgId.toInt()); + safeExec(query); + watchQuery(query); +} + +QHash PostgreSqlStorage::bufferMarkerLineMsgIds(UserId user) { + QHash markerLineHash; + + QSqlDatabase db = logDb(); + if(!beginReadOnlyTransaction(db)) { + qWarning() << "PostgreSqlStorage::bufferMarkerLineMsgIds(): cannot start read only transaction!"; + qWarning() << " -" << qPrintable(db.lastError().text()); + return markerLineHash; + } + + QSqlQuery query(db); + query.prepare(queryString("select_buffer_markerlinemsgids")); + query.bindValue(":userid", user.toInt()); + safeExec(query); + if(!watchQuery(query)) { + db.rollback(); + return markerLineHash; + } + + while(query.next()) { + markerLineHash[query.value(0).toInt()] = query.value(1).toInt(); + } + + db.commit(); + return markerLineHash; +} + bool PostgreSqlStorage::logMessage(Message &msg) { QSqlDatabase db = logDb(); if(!db.transaction()) { @@ -1626,8 +1665,9 @@ bool PostgreSqlMigrationWriter::writeMo(const BufferMO &buffer) { bindValue(5, buffer.buffercname); bindValue(6, (int)buffer.buffertype); bindValue(7, buffer.lastseenmsgid); - bindValue(8, buffer.key); - bindValue(9, buffer.joined); + bindValue(8, buffer.markerlinemsgid); + bindValue(9, buffer.key); + bindValue(10, buffer.joined); return exec(); } diff --git a/src/core/postgresqlstorage.h b/src/core/postgresqlstorage.h index 4d18d114..5b6a196f 100644 --- a/src/core/postgresqlstorage.h +++ b/src/core/postgresqlstorage.h @@ -92,6 +92,8 @@ public slots: virtual bool mergeBuffersPermanently(const UserId &user, const BufferId &bufferId1, const BufferId &bufferId2); virtual void setBufferLastSeenMsg(UserId user, const BufferId &bufferId, const MsgId &msgId); virtual QHash bufferLastSeenMsgIds(UserId user); + virtual void setBufferMarkerLineMsg(UserId user, const BufferId &bufferId, const MsgId &msgId); + virtual QHash bufferMarkerLineMsgIds(UserId user); /* Message handling */ virtual bool logMessage(Message &msg); diff --git a/src/core/sql.qrc b/src/core/sql.qrc index 3e041df0..07c1fdf9 100644 --- a/src/core/sql.qrc +++ b/src/core/sql.qrc @@ -1,86 +1,89 @@ - ./SQL/PostgreSQL/14/delete_backlog_by_uid.sql - ./SQL/PostgreSQL/14/delete_backlog_for_buffer.sql - ./SQL/PostgreSQL/14/delete_backlog_for_network.sql - ./SQL/PostgreSQL/14/delete_buffer_for_bufferid.sql - ./SQL/PostgreSQL/14/delete_buffers_by_uid.sql - ./SQL/PostgreSQL/14/delete_buffers_for_network.sql - ./SQL/PostgreSQL/14/delete_identity.sql - ./SQL/PostgreSQL/14/delete_ircservers_for_network.sql - ./SQL/PostgreSQL/14/delete_network.sql - ./SQL/PostgreSQL/14/delete_networks_by_uid.sql - ./SQL/PostgreSQL/14/delete_nicks.sql - ./SQL/PostgreSQL/14/delete_quasseluser.sql - ./SQL/PostgreSQL/14/insert_buffer.sql - ./SQL/PostgreSQL/14/insert_identity.sql - ./SQL/PostgreSQL/14/insert_message.sql - ./SQL/PostgreSQL/14/insert_network.sql - ./SQL/PostgreSQL/14/insert_nick.sql - ./SQL/PostgreSQL/14/insert_quasseluser.sql - ./SQL/PostgreSQL/14/insert_sender.sql - ./SQL/PostgreSQL/14/insert_server.sql - ./SQL/PostgreSQL/14/insert_user_setting.sql - ./SQL/PostgreSQL/14/migrate_write_backlog.sql - ./SQL/PostgreSQL/14/migrate_write_buffer.sql - ./SQL/PostgreSQL/14/migrate_write_identity.sql - ./SQL/PostgreSQL/14/migrate_write_identity_nick.sql - ./SQL/PostgreSQL/14/migrate_write_ircserver.sql - ./SQL/PostgreSQL/14/migrate_write_network.sql - ./SQL/PostgreSQL/14/migrate_write_quasseluser.sql - ./SQL/PostgreSQL/14/migrate_write_sender.sql - ./SQL/PostgreSQL/14/migrate_write_usersetting.sql - ./SQL/PostgreSQL/14/select_authuser.sql - ./SQL/PostgreSQL/14/select_buffer_by_id.sql - ./SQL/PostgreSQL/14/select_buffer_lastseen_messages.sql - ./SQL/PostgreSQL/14/select_bufferByName.sql - ./SQL/PostgreSQL/14/select_bufferExists.sql - ./SQL/PostgreSQL/14/select_buffers.sql - ./SQL/PostgreSQL/14/select_buffers_for_network.sql - ./SQL/PostgreSQL/14/select_checkidentity.sql - ./SQL/PostgreSQL/14/select_connected_networks.sql - ./SQL/PostgreSQL/14/select_identities.sql - ./SQL/PostgreSQL/14/select_internaluser.sql - ./SQL/PostgreSQL/14/select_messages.sql - ./SQL/PostgreSQL/14/select_messagesAll.sql - ./SQL/PostgreSQL/14/select_messagesAllNew.sql - ./SQL/PostgreSQL/14/select_messagesNewerThan.sql - ./SQL/PostgreSQL/14/select_messagesRange.sql - ./SQL/PostgreSQL/14/select_network_awaymsg.sql - ./SQL/PostgreSQL/14/select_network_usermode.sql - ./SQL/PostgreSQL/14/select_networkExists.sql - ./SQL/PostgreSQL/14/select_networks_for_user.sql - ./SQL/PostgreSQL/14/select_nicks.sql - ./SQL/PostgreSQL/14/select_persistent_channels.sql - ./SQL/PostgreSQL/14/select_servers_for_network.sql - ./SQL/PostgreSQL/14/select_user_setting.sql - ./SQL/PostgreSQL/14/select_userid.sql - ./SQL/PostgreSQL/14/setup_000_quasseluser.sql - ./SQL/PostgreSQL/14/setup_010_sender.sql - ./SQL/PostgreSQL/14/setup_020_identity.sql - ./SQL/PostgreSQL/14/setup_030_identity_nick.sql - ./SQL/PostgreSQL/14/setup_040_network.sql - ./SQL/PostgreSQL/14/setup_050_buffer.sql - ./SQL/PostgreSQL/14/setup_060_backlog.sql - ./SQL/PostgreSQL/14/setup_070_coreinfo.sql - ./SQL/PostgreSQL/14/setup_080_ircservers.sql - ./SQL/PostgreSQL/14/setup_090_backlog_idx.sql - ./SQL/PostgreSQL/14/setup_100_user_setting.sql - ./SQL/PostgreSQL/14/setup_110_alter_sender_seq.sql - ./SQL/PostgreSQL/14/setup_120_alter_messageid_seq.sql - ./SQL/PostgreSQL/14/update_backlog_bufferid.sql - ./SQL/PostgreSQL/14/update_buffer_lastseen.sql - ./SQL/PostgreSQL/14/update_buffer_name.sql - ./SQL/PostgreSQL/14/update_buffer_persistent_channel.sql - ./SQL/PostgreSQL/14/update_buffer_set_channel_key.sql - ./SQL/PostgreSQL/14/update_identity.sql - ./SQL/PostgreSQL/14/update_network.sql - ./SQL/PostgreSQL/14/update_network_connected.sql - ./SQL/PostgreSQL/14/update_network_set_awaymsg.sql - ./SQL/PostgreSQL/14/update_network_set_usermode.sql - ./SQL/PostgreSQL/14/update_user_setting.sql - ./SQL/PostgreSQL/14/update_username.sql - ./SQL/PostgreSQL/14/update_userpassword.sql + ./SQL/PostgreSQL/15/delete_backlog_by_uid.sql + ./SQL/PostgreSQL/15/delete_backlog_for_buffer.sql + ./SQL/PostgreSQL/15/delete_backlog_for_network.sql + ./SQL/PostgreSQL/15/delete_buffer_for_bufferid.sql + ./SQL/PostgreSQL/15/delete_buffers_by_uid.sql + ./SQL/PostgreSQL/15/delete_buffers_for_network.sql + ./SQL/PostgreSQL/15/delete_identity.sql + ./SQL/PostgreSQL/15/delete_ircservers_for_network.sql + ./SQL/PostgreSQL/15/delete_network.sql + ./SQL/PostgreSQL/15/delete_networks_by_uid.sql + ./SQL/PostgreSQL/15/delete_nicks.sql + ./SQL/PostgreSQL/15/delete_quasseluser.sql + ./SQL/PostgreSQL/15/insert_buffer.sql + ./SQL/PostgreSQL/15/insert_identity.sql + ./SQL/PostgreSQL/15/insert_message.sql + ./SQL/PostgreSQL/15/insert_network.sql + ./SQL/PostgreSQL/15/insert_nick.sql + ./SQL/PostgreSQL/15/insert_quasseluser.sql + ./SQL/PostgreSQL/15/insert_sender.sql + ./SQL/PostgreSQL/15/insert_server.sql + ./SQL/PostgreSQL/15/insert_user_setting.sql + ./SQL/PostgreSQL/15/migrate_write_backlog.sql + ./SQL/PostgreSQL/15/migrate_write_buffer.sql + ./SQL/PostgreSQL/15/migrate_write_identity.sql + ./SQL/PostgreSQL/15/migrate_write_identity_nick.sql + ./SQL/PostgreSQL/15/migrate_write_ircserver.sql + ./SQL/PostgreSQL/15/migrate_write_network.sql + ./SQL/PostgreSQL/15/migrate_write_quasseluser.sql + ./SQL/PostgreSQL/15/migrate_write_sender.sql + ./SQL/PostgreSQL/15/migrate_write_usersetting.sql + ./SQL/PostgreSQL/15/select_authuser.sql + ./SQL/PostgreSQL/15/select_buffer_by_id.sql + ./SQL/PostgreSQL/15/select_buffer_lastseen_messages.sql + ./SQL/PostgreSQL/15/select_buffer_markerlinemsgids.sql + ./SQL/PostgreSQL/15/select_bufferByName.sql + ./SQL/PostgreSQL/15/select_bufferExists.sql + ./SQL/PostgreSQL/15/select_buffers.sql + ./SQL/PostgreSQL/15/select_buffers_for_network.sql + ./SQL/PostgreSQL/15/select_checkidentity.sql + ./SQL/PostgreSQL/15/select_connected_networks.sql + ./SQL/PostgreSQL/15/select_identities.sql + ./SQL/PostgreSQL/15/select_internaluser.sql + ./SQL/PostgreSQL/15/select_messages.sql + ./SQL/PostgreSQL/15/select_messagesAll.sql + ./SQL/PostgreSQL/15/select_messagesAllNew.sql + ./SQL/PostgreSQL/15/select_messagesNewerThan.sql + ./SQL/PostgreSQL/15/select_messagesRange.sql + ./SQL/PostgreSQL/15/select_network_awaymsg.sql + ./SQL/PostgreSQL/15/select_network_usermode.sql + ./SQL/PostgreSQL/15/select_networkExists.sql + ./SQL/PostgreSQL/15/select_networks_for_user.sql + ./SQL/PostgreSQL/15/select_nicks.sql + ./SQL/PostgreSQL/15/select_persistent_channels.sql + ./SQL/PostgreSQL/15/select_servers_for_network.sql + ./SQL/PostgreSQL/15/select_user_setting.sql + ./SQL/PostgreSQL/15/select_userid.sql + ./SQL/PostgreSQL/15/setup_000_quasseluser.sql + ./SQL/PostgreSQL/15/setup_010_sender.sql + ./SQL/PostgreSQL/15/setup_020_identity.sql + ./SQL/PostgreSQL/15/setup_030_identity_nick.sql + ./SQL/PostgreSQL/15/setup_040_network.sql + ./SQL/PostgreSQL/15/setup_050_buffer.sql + ./SQL/PostgreSQL/15/setup_060_backlog.sql + ./SQL/PostgreSQL/15/setup_070_coreinfo.sql + ./SQL/PostgreSQL/15/setup_080_ircservers.sql + ./SQL/PostgreSQL/15/setup_090_backlog_idx.sql + ./SQL/PostgreSQL/15/setup_100_user_setting.sql + ./SQL/PostgreSQL/15/setup_110_alter_sender_seq.sql + ./SQL/PostgreSQL/15/setup_120_alter_messageid_seq.sql + ./SQL/PostgreSQL/15/update_backlog_bufferid.sql + ./SQL/PostgreSQL/15/update_buffer_lastseen.sql + ./SQL/PostgreSQL/15/update_buffer_markerlinemsgid.sql + ./SQL/PostgreSQL/15/update_buffer_name.sql + ./SQL/PostgreSQL/15/update_buffer_persistent_channel.sql + ./SQL/PostgreSQL/15/update_buffer_set_channel_key.sql + ./SQL/PostgreSQL/15/update_identity.sql + ./SQL/PostgreSQL/15/update_network.sql + ./SQL/PostgreSQL/15/update_network_connected.sql + ./SQL/PostgreSQL/15/update_network_set_awaymsg.sql + ./SQL/PostgreSQL/15/update_network_set_usermode.sql + ./SQL/PostgreSQL/15/update_user_setting.sql + ./SQL/PostgreSQL/15/update_username.sql + ./SQL/PostgreSQL/15/update_userpassword.sql + ./SQL/PostgreSQL/15/upgrade_000_alter_buffer_add_markerlinemsgid.sql ./SQL/SQLite/1/upgrade_000_drop_coreinfo.sql ./SQL/SQLite/1/upgrade_010_create_coreinfo.sql ./SQL/SQLite/1/upgrade_020_update_schemaversion.sql @@ -103,92 +106,95 @@ ./SQL/SQLite/14/upgrade_010_create_networktable.sql ./SQL/SQLite/14/upgrade_030_copy_networktable.sql ./SQL/SQLite/14/upgrade_040_drop_networkold.sql - ./SQL/SQLite/15/delete_backlog_by_uid.sql - ./SQL/SQLite/15/delete_backlog_for_buffer.sql - ./SQL/SQLite/15/delete_backlog_for_network.sql - ./SQL/SQLite/15/delete_buffer_for_bufferid.sql - ./SQL/SQLite/15/delete_buffers_by_uid.sql - ./SQL/SQLite/15/delete_buffers_for_network.sql - ./SQL/SQLite/15/delete_identity.sql - ./SQL/SQLite/15/delete_ircservers_for_network.sql - ./SQL/SQLite/15/delete_network.sql - ./SQL/SQLite/15/delete_networks_by_uid.sql - ./SQL/SQLite/15/delete_nicks.sql - ./SQL/SQLite/15/delete_quasseluser.sql - ./SQL/SQLite/15/insert_buffer.sql - ./SQL/SQLite/15/insert_identity.sql - ./SQL/SQLite/15/insert_message.sql - ./SQL/SQLite/15/insert_network.sql - ./SQL/SQLite/15/insert_nick.sql - ./SQL/SQLite/15/insert_quasseluser.sql - ./SQL/SQLite/15/insert_sender.sql - ./SQL/SQLite/15/insert_server.sql - ./SQL/SQLite/15/insert_user_setting.sql - ./SQL/SQLite/15/migrate_read_backlog.sql - ./SQL/SQLite/15/migrate_read_buffer.sql - ./SQL/SQLite/15/migrate_read_identity.sql - ./SQL/SQLite/15/migrate_read_identity_nick.sql - ./SQL/SQLite/15/migrate_read_ircserver.sql - ./SQL/SQLite/15/migrate_read_network.sql - ./SQL/SQLite/15/migrate_read_quasseluser.sql - ./SQL/SQLite/15/migrate_read_sender.sql - ./SQL/SQLite/15/migrate_read_usersetting.sql - ./SQL/SQLite/15/select_authuser.sql - ./SQL/SQLite/15/select_buffer_by_id.sql - ./SQL/SQLite/15/select_buffer_lastseen_messages.sql - ./SQL/SQLite/15/select_bufferByName.sql - ./SQL/SQLite/15/select_bufferExists.sql - ./SQL/SQLite/15/select_buffers.sql - ./SQL/SQLite/15/select_buffers_for_merge.sql - ./SQL/SQLite/15/select_buffers_for_network.sql - ./SQL/SQLite/15/select_checkidentity.sql - ./SQL/SQLite/15/select_connected_networks.sql - ./SQL/SQLite/15/select_identities.sql - ./SQL/SQLite/15/select_internaluser.sql - ./SQL/SQLite/15/select_messages.sql - ./SQL/SQLite/15/select_messagesAll.sql - ./SQL/SQLite/15/select_messagesAllNew.sql - ./SQL/SQLite/15/select_messagesNewerThan.sql - ./SQL/SQLite/15/select_messagesNewestK.sql - ./SQL/SQLite/15/select_network_awaymsg.sql - ./SQL/SQLite/15/select_network_usermode.sql - ./SQL/SQLite/15/select_networkExists.sql - ./SQL/SQLite/15/select_networks_for_user.sql - ./SQL/SQLite/15/select_nicks.sql - ./SQL/SQLite/15/select_persistent_channels.sql - ./SQL/SQLite/15/select_servers_for_network.sql - ./SQL/SQLite/15/select_user_setting.sql - ./SQL/SQLite/15/select_userid.sql - ./SQL/SQLite/15/setup_000_quasseluser.sql - ./SQL/SQLite/15/setup_010_sender.sql - ./SQL/SQLite/15/setup_020_network.sql - ./SQL/SQLite/15/setup_030_buffer.sql - ./SQL/SQLite/15/setup_040_buffer_idx.sql - ./SQL/SQLite/15/setup_050_buffer_cname_idx.sql - ./SQL/SQLite/15/setup_060_backlog.sql - ./SQL/SQLite/15/setup_070_coreinfo.sql - ./SQL/SQLite/15/setup_080_ircservers.sql - ./SQL/SQLite/15/setup_090_backlog_idx.sql - ./SQL/SQLite/15/setup_100_backlog_idx2.sql - ./SQL/SQLite/15/setup_110_buffer_user_idx.sql - ./SQL/SQLite/15/setup_120_user_setting.sql - ./SQL/SQLite/15/setup_130_identity.sql - ./SQL/SQLite/15/setup_140_identity_nick.sql - ./SQL/SQLite/15/update_backlog_bufferid.sql - ./SQL/SQLite/15/update_buffer_lastseen.sql - ./SQL/SQLite/15/update_buffer_name.sql - ./SQL/SQLite/15/update_buffer_persistent_channel.sql - ./SQL/SQLite/15/update_buffer_set_channel_key.sql - ./SQL/SQLite/15/update_identity.sql - ./SQL/SQLite/15/update_network.sql - ./SQL/SQLite/15/update_network_connected.sql - ./SQL/SQLite/15/update_network_set_awaymsg.sql - ./SQL/SQLite/15/update_network_set_usermode.sql - ./SQL/SQLite/15/update_user_setting.sql - ./SQL/SQLite/15/update_username.sql - ./SQL/SQLite/15/update_userpassword.sql ./SQL/SQLite/15/upgrade_000_fix_ircservers.sql ./SQL/SQLite/15/upgrade_000_fix_network.sql + ./SQL/SQLite/16/delete_backlog_by_uid.sql + ./SQL/SQLite/16/delete_backlog_for_buffer.sql + ./SQL/SQLite/16/delete_backlog_for_network.sql + ./SQL/SQLite/16/delete_buffer_for_bufferid.sql + ./SQL/SQLite/16/delete_buffers_by_uid.sql + ./SQL/SQLite/16/delete_buffers_for_network.sql + ./SQL/SQLite/16/delete_identity.sql + ./SQL/SQLite/16/delete_ircservers_for_network.sql + ./SQL/SQLite/16/delete_network.sql + ./SQL/SQLite/16/delete_networks_by_uid.sql + ./SQL/SQLite/16/delete_nicks.sql + ./SQL/SQLite/16/delete_quasseluser.sql + ./SQL/SQLite/16/insert_buffer.sql + ./SQL/SQLite/16/insert_identity.sql + ./SQL/SQLite/16/insert_message.sql + ./SQL/SQLite/16/insert_network.sql + ./SQL/SQLite/16/insert_nick.sql + ./SQL/SQLite/16/insert_quasseluser.sql + ./SQL/SQLite/16/insert_sender.sql + ./SQL/SQLite/16/insert_server.sql + ./SQL/SQLite/16/insert_user_setting.sql + ./SQL/SQLite/16/migrate_read_backlog.sql + ./SQL/SQLite/16/migrate_read_buffer.sql + ./SQL/SQLite/16/migrate_read_identity.sql + ./SQL/SQLite/16/migrate_read_identity_nick.sql + ./SQL/SQLite/16/migrate_read_ircserver.sql + ./SQL/SQLite/16/migrate_read_network.sql + ./SQL/SQLite/16/migrate_read_quasseluser.sql + ./SQL/SQLite/16/migrate_read_sender.sql + ./SQL/SQLite/16/migrate_read_usersetting.sql + ./SQL/SQLite/16/select_authuser.sql + ./SQL/SQLite/16/select_buffer_by_id.sql + ./SQL/SQLite/16/select_buffer_lastseen_messages.sql + ./SQL/SQLite/16/select_buffer_markerlinemsgids.sql + ./SQL/SQLite/16/select_bufferByName.sql + ./SQL/SQLite/16/select_bufferExists.sql + ./SQL/SQLite/16/select_buffers.sql + ./SQL/SQLite/16/select_buffers_for_merge.sql + ./SQL/SQLite/16/select_buffers_for_network.sql + ./SQL/SQLite/16/select_checkidentity.sql + ./SQL/SQLite/16/select_connected_networks.sql + ./SQL/SQLite/16/select_identities.sql + ./SQL/SQLite/16/select_internaluser.sql + ./SQL/SQLite/16/select_messages.sql + ./SQL/SQLite/16/select_messagesAll.sql + ./SQL/SQLite/16/select_messagesAllNew.sql + ./SQL/SQLite/16/select_messagesNewerThan.sql + ./SQL/SQLite/16/select_messagesNewestK.sql + ./SQL/SQLite/16/select_network_awaymsg.sql + ./SQL/SQLite/16/select_network_usermode.sql + ./SQL/SQLite/16/select_networkExists.sql + ./SQL/SQLite/16/select_networks_for_user.sql + ./SQL/SQLite/16/select_nicks.sql + ./SQL/SQLite/16/select_persistent_channels.sql + ./SQL/SQLite/16/select_servers_for_network.sql + ./SQL/SQLite/16/select_user_setting.sql + ./SQL/SQLite/16/select_userid.sql + ./SQL/SQLite/16/setup_000_quasseluser.sql + ./SQL/SQLite/16/setup_010_sender.sql + ./SQL/SQLite/16/setup_020_network.sql + ./SQL/SQLite/16/setup_030_buffer.sql + ./SQL/SQLite/16/setup_040_buffer_idx.sql + ./SQL/SQLite/16/setup_050_buffer_cname_idx.sql + ./SQL/SQLite/16/setup_060_backlog.sql + ./SQL/SQLite/16/setup_070_coreinfo.sql + ./SQL/SQLite/16/setup_080_ircservers.sql + ./SQL/SQLite/16/setup_090_backlog_idx.sql + ./SQL/SQLite/16/setup_100_backlog_idx2.sql + ./SQL/SQLite/16/setup_110_buffer_user_idx.sql + ./SQL/SQLite/16/setup_120_user_setting.sql + ./SQL/SQLite/16/setup_130_identity.sql + ./SQL/SQLite/16/setup_140_identity_nick.sql + ./SQL/SQLite/16/update_backlog_bufferid.sql + ./SQL/SQLite/16/update_buffer_lastseen.sql + ./SQL/SQLite/16/update_buffer_markerlinemsgid.sql + ./SQL/SQLite/16/update_buffer_name.sql + ./SQL/SQLite/16/update_buffer_persistent_channel.sql + ./SQL/SQLite/16/update_buffer_set_channel_key.sql + ./SQL/SQLite/16/update_identity.sql + ./SQL/SQLite/16/update_network.sql + ./SQL/SQLite/16/update_network_connected.sql + ./SQL/SQLite/16/update_network_set_awaymsg.sql + ./SQL/SQLite/16/update_network_set_usermode.sql + ./SQL/SQLite/16/update_user_setting.sql + ./SQL/SQLite/16/update_username.sql + ./SQL/SQLite/16/update_userpassword.sql + ./SQL/SQLite/16/upgrade_000_alter_buffer_add_markerlinemsgid.sql ./SQL/SQLite/2/upgrade_000_drop_buffergroup.sql ./SQL/SQLite/2/upgrade_010_update_schemaversion.sql ./SQL/SQLite/3/upgrade_000_update_backlog_flags.sql diff --git a/src/core/sqlitestorage.cpp b/src/core/sqlitestorage.cpp index ad610a03..1d732d31 100644 --- a/src/core/sqlitestorage.cpp +++ b/src/core/sqlitestorage.cpp @@ -1297,6 +1297,52 @@ QHash SqliteStorage::bufferLastSeenMsgIds(UserId user) { return lastSeenHash; } +void SqliteStorage::setBufferMarkerLineMsg(UserId user, const BufferId &bufferId, const MsgId &msgId) { + QSqlDatabase db = logDb(); + db.transaction(); + + { + QSqlQuery query(db); + query.prepare(queryString("update_buffer_markerlinemsgid")); + query.bindValue(":userid", user.toInt()); + query.bindValue(":bufferid", bufferId.toInt()); + query.bindValue(":markerlinemsgid", msgId.toInt()); + + lockForWrite(); + safeExec(query); + watchQuery(query); + } + db.commit(); + unlock(); +} + +QHash SqliteStorage::bufferMarkerLineMsgIds(UserId user) { + QHash markerLineHash; + + QSqlDatabase db = logDb(); + db.transaction(); + + bool error = false; + { + QSqlQuery query(db); + query.prepare(queryString("select_buffer_markerlinemsgids")); + query.bindValue(":userid", user.toInt()); + + lockForRead(); + safeExec(query); + error = !watchQuery(query); + if(!error) { + while(query.next()) { + markerLineHash[query.value(0).toInt()] = query.value(1).toInt(); + } + } + } + + db.commit(); + unlock(); + return markerLineHash; +} + bool SqliteStorage::logMessage(Message &msg) { QSqlDatabase db = logDb(); db.transaction(); @@ -1698,6 +1744,7 @@ bool SqliteMigrationReader::readMo(BufferMO &buffer) { buffer.buffercname = value(5).toString(); buffer.buffertype = value(6).toInt(); buffer.lastseenmsgid = value(7).toInt(); + buffer.markerlinemsgid = value(8).toInt(); buffer.key = value(8).toString(); buffer.joined = value(9).toInt() == 1 ? true : false; return true; diff --git a/src/core/sqlitestorage.h b/src/core/sqlitestorage.h index 25182507..9aa70066 100644 --- a/src/core/sqlitestorage.h +++ b/src/core/sqlitestorage.h @@ -93,6 +93,8 @@ public slots: virtual bool mergeBuffersPermanently(const UserId &user, const BufferId &bufferId1, const BufferId &bufferId2); virtual void setBufferLastSeenMsg(UserId user, const BufferId &bufferId, const MsgId &msgId); virtual QHash bufferLastSeenMsgIds(UserId user); + virtual void setBufferMarkerLineMsg(UserId user, const BufferId &bufferId, const MsgId &msgId); + virtual QHash bufferMarkerLineMsgIds(UserId user); /* Message handling */ virtual bool logMessage(Message &msg); diff --git a/src/core/storage.h b/src/core/storage.h index b8f5c232..15616731 100644 --- a/src/core/storage.h +++ b/src/core/storage.h @@ -349,6 +349,24 @@ public slots: */ virtual QHash bufferLastSeenMsgIds(UserId user) = 0; + //! Update the MarkerLineMsgId for a Buffer + /** This Method is used to make the marker line position of a Buffer persistent + * \note This method is threadsafe. + * + * \param user The Owner of that Buffer + * \param bufferId The buffer id + * \param MsgId The Message id where the marker line should be placed + */ + virtual void setBufferMarkerLineMsg(UserId user, const BufferId &bufferId, const MsgId &msgId) = 0; + + //! Get a Hash of all marker line message ids + /** This Method is called when the Quassel Core is started to restore the MarkerLineMsgIds + * \note This method is threadsafe. + * + * \param user The Owner of the buffers + */ + virtual QHash bufferMarkerLineMsgIds(UserId user) = 0; + /* Message handling */ -- 2.20.1