From 3cf5c49e7753be48a994917fe898730add4292b1 Mon Sep 17 00:00:00 2001 From: Shane Synan Date: Sun, 16 Apr 2017 00:50:33 -0500 Subject: [PATCH 1/1] core: Separate SQL current and upgrade scripts Move the current SQL queries into the 'SQL/[database]' top folder, move all database schema upgrade scripts into the 'SQL/[database]/version/##' subfolders. This preserves repository history for the general SQL queries when adding a new schema version, and simplifies rebasing a branch if the master schema version changes in the meantime (e.g. managing multiple pull requests). Thanks to justJanne and others for the suggestion! Update 'sql.qrc' with the moved SQL files. Modify AbstractSqlStorage 'setupQueries()' and 'upgradeQueries()' to use these new folder locations, and modify 'queryString()' to pick either the current SQL schema folder or the versioned schema folder according to whether a version was specified when calling it. Update 'updateSQLResource.sh' with the new folder locations, including fixing the 'sort' command to sort independent of the current operating system language settings. Update 'upgradeSchema.sh' with the new locations and stop moving the non-upgrade '*.sql' scripts. Now, it just adds a new folder and prints a message on how to use it. Also send error messages to standard error. Add more documentation on schema upgrades. You can never have enough testing... --- .../{20 => }/delete_backlog_by_uid.sql | 0 .../{20 => }/delete_backlog_for_buffer.sql | 0 .../{20 => }/delete_backlog_for_network.sql | 0 .../{20 => }/delete_buffer_for_bufferid.sql | 0 .../{20 => }/delete_buffers_by_uid.sql | 0 .../{20 => }/delete_buffers_for_network.sql | 0 .../PostgreSQL/{20 => }/delete_identity.sql | 0 .../delete_ircservers_for_network.sql | 0 .../PostgreSQL/{20 => }/delete_network.sql | 0 .../{20 => }/delete_networks_by_uid.sql | 0 .../SQL/PostgreSQL/{20 => }/delete_nicks.sql | 0 .../{20 => }/delete_quasseluser.sql | 0 .../SQL/PostgreSQL/{20 => }/insert_buffer.sql | 0 .../PostgreSQL/{20 => }/insert_identity.sql | 0 .../PostgreSQL/{20 => }/insert_message.sql | 0 .../PostgreSQL/{20 => }/insert_network.sql | 0 .../SQL/PostgreSQL/{20 => }/insert_nick.sql | 0 .../{20 => }/insert_quasseluser.sql | 0 .../SQL/PostgreSQL/{20 => }/insert_sender.sql | 0 .../SQL/PostgreSQL/{20 => }/insert_server.sql | 0 .../{20 => }/insert_user_setting.sql | 0 .../{20 => }/migrate_write_backlog.sql | 0 .../{20 => }/migrate_write_buffer.sql | 0 .../{20 => }/migrate_write_identity.sql | 0 .../{20 => }/migrate_write_identity_nick.sql | 0 .../{20 => }/migrate_write_ircserver.sql | 0 .../{20 => }/migrate_write_network.sql | 0 .../{20 => }/migrate_write_quasseluser.sql | 0 .../{20 => }/migrate_write_sender.sql | 0 .../{20 => }/migrate_write_usersetting.sql | 0 .../PostgreSQL/{20 => }/select_authuser.sql | 0 .../{20 => }/select_bufferByName.sql | 0 .../{20 => }/select_bufferExists.sql | 0 .../{20 => }/select_buffer_by_id.sql | 0 .../select_buffer_lastseen_messages.sql | 0 .../select_buffer_markerlinemsgids.sql | 0 .../PostgreSQL/{20 => }/select_buffers.sql | 0 .../{20 => }/select_buffers_for_network.sql | 0 .../{20 => }/select_checkidentity.sql | 0 .../{20 => }/select_connected_networks.sql | 0 .../PostgreSQL/{20 => }/select_identities.sql | 0 .../{20 => }/select_internaluser.sql | 0 .../{20 => }/select_messagesAll.sql | 0 .../{20 => }/select_messagesAllNew.sql | 0 .../{20 => }/select_messagesNewerThan.sql | 0 .../{20 => }/select_messagesNewestK.sql | 0 .../{20 => }/select_messagesRange.sql | 0 .../{20 => }/select_networkExists.sql | 0 .../{20 => }/select_network_awaymsg.sql | 0 .../{20 => }/select_network_usermode.sql | 0 .../{20 => }/select_networks_for_user.sql | 0 .../SQL/PostgreSQL/{20 => }/select_nicks.sql | 0 .../{20 => }/select_persistent_channels.sql | 0 .../PostgreSQL/{20 => }/select_senderid.sql | 0 .../{20 => }/select_servers_for_network.sql | 0 .../{20 => }/select_user_setting.sql | 0 .../SQL/PostgreSQL/{20 => }/select_userid.sql | 0 .../{20 => }/setup_000_quasseluser.sql | 0 .../PostgreSQL/{20 => }/setup_010_sender.sql | 0 .../{20 => }/setup_020_identity.sql | 0 .../{20 => }/setup_030_identity_nick.sql | 0 .../PostgreSQL/{20 => }/setup_040_network.sql | 0 .../PostgreSQL/{20 => }/setup_050_buffer.sql | 0 .../PostgreSQL/{20 => }/setup_060_backlog.sql | 0 .../{20 => }/setup_070_coreinfo.sql | 0 .../{20 => }/setup_080_ircservers.sql | 0 .../{20 => }/setup_090_backlog_idx.sql | 0 .../{20 => }/setup_100_user_setting.sql | 0 .../{20 => }/setup_110_alter_sender_seq.sql | 0 .../setup_120_alter_messageid_seq.sql | 0 .../{20 => }/setup_130_function_lastmsgid.sql | 0 .../{20 => }/update_backlog_bufferid.sql | 0 .../{20 => }/update_buffer_lastmsgid.sql | 0 .../{20 => }/update_buffer_lastseen.sql | 0 .../update_buffer_markerlinemsgid.sql | 0 .../{20 => }/update_buffer_name.sql | 0 .../update_buffer_persistent_channel.sql | 0 .../update_buffer_set_channel_key.sql | 0 .../PostgreSQL/{20 => }/update_identity.sql | 0 .../PostgreSQL/{20 => }/update_network.sql | 0 .../{20 => }/update_network_connected.sql | 0 .../{20 => }/update_network_set_awaymsg.sql | 0 .../{20 => }/update_network_set_usermode.sql | 0 .../{20 => }/update_user_setting.sql | 0 .../PostgreSQL/{20 => }/update_username.sql | 0 .../{20 => }/update_userpassword.sql | 0 ...e_000_alter_buffer_add_markerlinemsgid.sql | 0 .../16/upgrade_000_alter_network_add_sasl.sql | 0 ..._alter_quasseluser_add_passwordversion.sql | 0 ...rade_000_alter_ircserver_add_sslverify.sql | 0 ..._alter_network_add_ratelimit_usecustom.sql | 0 ..._alter_network_add_ratelimit_burstsize.sql | 0 ..._002_alter_network_add_ratelimit_delay.sql | 0 ..._alter_network_add_ratelimit_unlimited.sql | 0 ...upgrade_000_alter_buffer_add_lastmsgid.sql | 0 ...de_001_add_function_populate_lastmsgid.sql | 0 ...de_002_run_function_populate_lastmsgid.sql | 0 .../upgrade_003_correct_bad_lastseenmsgid.sql | 0 ...grade_004_add_lastseenmsgid_constraint.sql | 0 .../SQLite/{21 => }/delete_backlog_by_uid.sql | 0 .../{21 => }/delete_backlog_for_buffer.sql | 0 .../{21 => }/delete_backlog_for_network.sql | 0 .../{21 => }/delete_buffer_for_bufferid.sql | 0 .../SQLite/{21 => }/delete_buffers_by_uid.sql | 0 .../{21 => }/delete_buffers_for_network.sql | 0 .../SQL/SQLite/{21 => }/delete_identity.sql | 0 .../delete_ircservers_for_network.sql | 0 .../SQL/SQLite/{21 => }/delete_network.sql | 0 .../{21 => }/delete_networks_by_uid.sql | 0 src/core/SQL/SQLite/{21 => }/delete_nicks.sql | 0 .../SQLite/{21 => }/delete_quasseluser.sql | 0 .../SQL/SQLite/{21 => }/insert_buffer.sql | 0 .../SQL/SQLite/{21 => }/insert_identity.sql | 0 .../SQL/SQLite/{21 => }/insert_message.sql | 0 .../SQL/SQLite/{21 => }/insert_network.sql | 0 src/core/SQL/SQLite/{21 => }/insert_nick.sql | 0 .../SQLite/{21 => }/insert_quasseluser.sql | 0 .../SQL/SQLite/{21 => }/insert_sender.sql | 0 .../SQL/SQLite/{21 => }/insert_server.sql | 0 .../SQLite/{21 => }/insert_user_setting.sql | 0 .../SQLite/{21 => }/migrate_read_backlog.sql | 0 .../SQLite/{21 => }/migrate_read_buffer.sql | 0 .../SQLite/{21 => }/migrate_read_identity.sql | 0 .../{21 => }/migrate_read_identity_nick.sql | 0 .../{21 => }/migrate_read_ircserver.sql | 0 .../SQLite/{21 => }/migrate_read_network.sql | 0 .../{21 => }/migrate_read_quasseluser.sql | 0 .../SQLite/{21 => }/migrate_read_sender.sql | 0 .../{21 => }/migrate_read_usersetting.sql | 0 .../SQL/SQLite/{21 => }/select_authuser.sql | 0 .../SQLite/{21 => }/select_bufferByName.sql | 0 .../SQLite/{21 => }/select_bufferExists.sql | 0 .../SQLite/{21 => }/select_buffer_by_id.sql | 0 .../select_buffer_lastseen_messages.sql | 0 .../select_buffer_markerlinemsgids.sql | 0 .../SQL/SQLite/{21 => }/select_buffers.sql | 0 .../{21 => }/select_buffers_for_merge.sql | 0 .../{21 => }/select_buffers_for_network.sql | 0 .../SQLite/{21 => }/select_checkidentity.sql | 0 .../{21 => }/select_connected_networks.sql | 0 .../SQL/SQLite/{21 => }/select_identities.sql | 0 .../SQLite/{21 => }/select_internaluser.sql | 0 .../SQLite/{21 => }/select_messagesAll.sql | 0 .../SQLite/{21 => }/select_messagesAllNew.sql | 0 .../{21 => }/select_messagesNewerThan.sql | 0 .../{21 => }/select_messagesNewestK.sql | 0 .../SQLite/{21 => }/select_messagesRange.sql | 0 .../SQLite/{21 => }/select_networkExists.sql | 0 .../{21 => }/select_network_awaymsg.sql | 0 .../{21 => }/select_network_usermode.sql | 0 .../{21 => }/select_networks_for_user.sql | 0 src/core/SQL/SQLite/{21 => }/select_nicks.sql | 0 .../{21 => }/select_persistent_channels.sql | 0 .../{21 => }/select_servers_for_network.sql | 0 .../SQLite/{21 => }/select_user_setting.sql | 0 .../SQL/SQLite/{21 => }/select_userid.sql | 0 .../SQLite/{21 => }/setup_000_quasseluser.sql | 0 .../SQL/SQLite/{21 => }/setup_010_sender.sql | 0 .../SQL/SQLite/{21 => }/setup_020_network.sql | 0 .../SQL/SQLite/{21 => }/setup_030_buffer.sql | 0 .../SQLite/{21 => }/setup_040_buffer_idx.sql | 0 .../{21 => }/setup_050_buffer_cname_idx.sql | 0 .../SQL/SQLite/{21 => }/setup_060_backlog.sql | 0 .../SQLite/{21 => }/setup_070_coreinfo.sql | 0 .../SQLite/{21 => }/setup_080_ircservers.sql | 0 .../SQLite/{21 => }/setup_090_backlog_idx.sql | 0 .../{21 => }/setup_100_backlog_idx2.sql | 0 .../{21 => }/setup_110_buffer_user_idx.sql | 0 .../{21 => }/setup_120_user_setting.sql | 0 .../SQLite/{21 => }/setup_130_identity.sql | 0 .../{21 => }/setup_140_identity_nick.sql | 0 .../{21 => }/update_backlog_bufferid.sql | 0 .../{21 => }/update_buffer_lastmsgid.sql | 0 .../{21 => }/update_buffer_lastseen.sql | 0 .../update_buffer_markerlinemsgid.sql | 0 .../SQLite/{21 => }/update_buffer_name.sql | 0 .../update_buffer_persistent_channel.sql | 0 .../update_buffer_set_channel_key.sql | 0 .../SQL/SQLite/{21 => }/update_identity.sql | 0 .../SQL/SQLite/{21 => }/update_network.sql | 0 .../{21 => }/update_network_connected.sql | 0 .../{21 => }/update_network_set_awaymsg.sql | 0 .../{21 => }/update_network_set_usermode.sql | 0 .../SQLite/{21 => }/update_user_setting.sql | 0 .../SQL/SQLite/{21 => }/update_username.sql | 0 .../SQLite/{21 => }/update_userpassword.sql | 0 .../1/upgrade_000_drop_coreinfo.sql | 0 .../1/upgrade_010_create_coreinfo.sql | 0 .../1/upgrade_020_update_schemaversion.sql | 0 .../10/upgrade_000_switch_to_msgid.sql | 0 .../10/upgrade_010_rename_buffer_table.sql | 0 .../10/upgrade_020_create_buffer_table.sql | 0 .../10/upgrade_030_copy_buffer_table.sql | 0 .../10/upgrade_040_drop_buffer_old_table.sql | 0 .../11/upgrade_000_create_user_setting.sql | 0 .../12/upgrade_000_create_identity.sql | 0 .../12/upgrade_010_create_identity_nick.sql | 0 .../12/upgrade_020_rename_servertable.sql | 0 .../12/upgrade_030_create_ircserver.sql | 0 .../12/upgrade_040_copy_ircserver.sql | 0 .../12/upgrade_050_drop_ircserverold.sql | 0 .../13/upgrade_000_create_buffer_user_idx.sql | 0 .../upgrade_010_create_buffer_cname_idx.sql | 0 .../upgrade_020_create_buffer_cname_idx.sql | 0 .../14/upgrade_000_rename_networktable.sql | 0 .../14/upgrade_010_create_networktable.sql | 0 .../14/upgrade_030_copy_networktable.sql | 0 .../14/upgrade_040_drop_networkold.sql | 0 .../15/upgrade_000_fix_ircservers.sql | 0 .../15/upgrade_000_fix_network.sql | 0 ...e_000_alter_buffer_add_markerlinemsgid.sql | 0 .../17/upgrade_000_alter_network_add_sasl.sql | 0 .../17/upgrade_001_alter_network_add_sasl.sql | 0 .../17/upgrade_002_alter_network_add_sasl.sql | 0 ..._alter_quasseluser_add_passwordversion.sql | 0 ...rade_000_alter_ircserver_add_sslverify.sql | 0 .../2/upgrade_000_drop_buffergroup.sql | 0 .../2/upgrade_010_update_schemaversion.sql | 0 ..._alter_network_add_ratelimit_usecustom.sql | 0 ..._alter_network_add_ratelimit_burstsize.sql | 0 ..._002_alter_network_add_ratelimit_delay.sql | 0 ..._alter_network_add_ratelimit_unlimited.sql | 0 ...upgrade_000_alter_buffer_add_lastmsgid.sql | 0 ...pgrade_001_update_buffer_set_lastmsgid.sql | 0 ...uffer_fix_lastseenmsgid_over_lastmsgid.sql | 0 .../upgrade_003_create_table_buffer_new.sql | 0 ...004_insert_into_buffer_new_from_buffer.sql | 0 .../21/upgrade_005_drop_table_buffer.sql | 0 ...lter_table_buffer_new_rename_to_buffer.sql | 0 .../3/upgrade_000_update_backlog_flags.sql | 0 .../3/upgrade_010_update_schemaversion.sql | 0 .../4/upgrade_000_rename_buffertable.sql | 0 .../4/upgrade_010_create_buffertable.sql | 0 .../4/upgrade_020_copy_buffertable.sql | 0 .../4/upgrade_030_drop_oldbuffertable.sql | 0 .../4/upgrade_040_create_buffer_idx.sql | 0 .../4/upgrade_050_create_buffer_cname_idx.sql | 0 .../5/upgrade_000_rename_networktable.sql | 0 .../5/upgrade_010_create_newnetworktable.sql | 0 .../5/upgrade_020_copy_networktable.sql | 0 .../5/upgrade_030_drop_oldnetworktable.sql | 0 .../5/upgrade_180_create_ircservers.sql | 0 .../6/upgrade_000_alter_buffertable.sql | 0 .../6/upgrade_010_set_statusbuffertype.sql | 0 .../6/upgrade_020_set_channelbuffertype.sql | 0 .../6/upgrade_030_set_querybuffertype.sql | 0 .../6/upgrade_040_update_msgtype.sql | 0 .../6/upgrade_050_update_msgtype.sql | 0 .../6/upgrade_060_update_msgtype.sql | 0 .../6/upgrade_070_update_msgtype.sql | 0 .../6/upgrade_080_update_msgtype.sql | 0 .../6/upgrade_090_update_msgtype.sql | 0 .../6/upgrade_100_update_msgtype.sql | 0 .../6/upgrade_110_update_msgtype.sql | 0 .../6/upgrade_120_update_msgtype.sql | 0 .../6/upgrade_130_update_msgtype.sql | 0 .../6/upgrade_140_update_msgtype.sql | 0 .../6/upgrade_150_update_msgtype.sql | 0 .../6/upgrade_160_update_msgtype.sql | 0 .../7/upgrade_000_rename_networktable.sql | 0 .../7/upgrade_010_create_newnetworktable.sql | 0 .../7/upgrade_020_copy_networktable.sql | 0 .../7/upgrade_030_drop_oldnetworktable.sql | 0 .../upgrade_040_alter_buffer_add_lastseen.sql | 0 ...pgrade_000_alter_network_add_connected.sql | 0 .../8/upgrade_010_alter_buffer_add_key.sql | 0 .../8/upgrade_020_alter_buffer_add_joined.sql | 0 ..._update_buffer_set_joined_for_channels.sql | 0 .../9/upgrade_000_create_backlog_idx.sql | 0 .../9/upgrade_010_create_backlog_idx2.sql | 0 .../9/upgrade_020_create_buffer_idx.sql | 0 src/core/SQL/updateSQLResource.sh | 18 +- src/core/SQL/upgradeSchema.sh | 104 +++- src/core/abstractsqlstorage.cpp | 25 +- src/core/abstractsqlstorage.h | 20 +- src/core/sql.qrc | 542 +++++++++--------- 276 files changed, 407 insertions(+), 302 deletions(-) rename src/core/SQL/PostgreSQL/{20 => }/delete_backlog_by_uid.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/delete_backlog_for_buffer.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/delete_backlog_for_network.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/delete_buffer_for_bufferid.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/delete_buffers_by_uid.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/delete_buffers_for_network.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/delete_identity.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/delete_ircservers_for_network.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/delete_network.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/delete_networks_by_uid.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/delete_nicks.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/delete_quasseluser.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/insert_buffer.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/insert_identity.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/insert_message.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/insert_network.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/insert_nick.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/insert_quasseluser.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/insert_sender.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/insert_server.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/insert_user_setting.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/migrate_write_backlog.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/migrate_write_buffer.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/migrate_write_identity.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/migrate_write_identity_nick.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/migrate_write_ircserver.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/migrate_write_network.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/migrate_write_quasseluser.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/migrate_write_sender.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/migrate_write_usersetting.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/select_authuser.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/select_bufferByName.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/select_bufferExists.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/select_buffer_by_id.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/select_buffer_lastseen_messages.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/select_buffer_markerlinemsgids.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/select_buffers.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/select_buffers_for_network.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/select_checkidentity.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/select_connected_networks.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/select_identities.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/select_internaluser.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/select_messagesAll.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/select_messagesAllNew.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/select_messagesNewerThan.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/select_messagesNewestK.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/select_messagesRange.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/select_networkExists.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/select_network_awaymsg.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/select_network_usermode.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/select_networks_for_user.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/select_nicks.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/select_persistent_channels.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/select_senderid.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/select_servers_for_network.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/select_user_setting.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/select_userid.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/setup_000_quasseluser.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/setup_010_sender.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/setup_020_identity.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/setup_030_identity_nick.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/setup_040_network.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/setup_050_buffer.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/setup_060_backlog.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/setup_070_coreinfo.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/setup_080_ircservers.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/setup_090_backlog_idx.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/setup_100_user_setting.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/setup_110_alter_sender_seq.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/setup_120_alter_messageid_seq.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/setup_130_function_lastmsgid.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/update_backlog_bufferid.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/update_buffer_lastmsgid.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/update_buffer_lastseen.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/update_buffer_markerlinemsgid.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/update_buffer_name.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/update_buffer_persistent_channel.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/update_buffer_set_channel_key.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/update_identity.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/update_network.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/update_network_connected.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/update_network_set_awaymsg.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/update_network_set_usermode.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/update_user_setting.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/update_username.sql (100%) rename src/core/SQL/PostgreSQL/{20 => }/update_userpassword.sql (100%) rename src/core/SQL/PostgreSQL/{ => version}/15/upgrade_000_alter_buffer_add_markerlinemsgid.sql (100%) rename src/core/SQL/PostgreSQL/{ => version}/16/upgrade_000_alter_network_add_sasl.sql (100%) rename src/core/SQL/PostgreSQL/{ => version}/17/upgrade_000_alter_quasseluser_add_passwordversion.sql (100%) rename src/core/SQL/PostgreSQL/{ => version}/18/upgrade_000_alter_ircserver_add_sslverify.sql (100%) rename src/core/SQL/PostgreSQL/{ => version}/19/upgrade_000_alter_network_add_ratelimit_usecustom.sql (100%) rename src/core/SQL/PostgreSQL/{ => version}/19/upgrade_001_alter_network_add_ratelimit_burstsize.sql (100%) rename src/core/SQL/PostgreSQL/{ => version}/19/upgrade_002_alter_network_add_ratelimit_delay.sql (100%) rename src/core/SQL/PostgreSQL/{ => version}/19/upgrade_003_alter_network_add_ratelimit_unlimited.sql (100%) rename src/core/SQL/PostgreSQL/{ => version}/20/upgrade_000_alter_buffer_add_lastmsgid.sql (100%) rename src/core/SQL/PostgreSQL/{ => version}/20/upgrade_001_add_function_populate_lastmsgid.sql (100%) rename src/core/SQL/PostgreSQL/{ => version}/20/upgrade_002_run_function_populate_lastmsgid.sql (100%) rename src/core/SQL/PostgreSQL/{ => version}/20/upgrade_003_correct_bad_lastseenmsgid.sql (100%) rename src/core/SQL/PostgreSQL/{ => version}/20/upgrade_004_add_lastseenmsgid_constraint.sql (100%) rename src/core/SQL/SQLite/{21 => }/delete_backlog_by_uid.sql (100%) rename src/core/SQL/SQLite/{21 => }/delete_backlog_for_buffer.sql (100%) rename src/core/SQL/SQLite/{21 => }/delete_backlog_for_network.sql (100%) rename src/core/SQL/SQLite/{21 => }/delete_buffer_for_bufferid.sql (100%) rename src/core/SQL/SQLite/{21 => }/delete_buffers_by_uid.sql (100%) rename src/core/SQL/SQLite/{21 => }/delete_buffers_for_network.sql (100%) rename src/core/SQL/SQLite/{21 => }/delete_identity.sql (100%) rename src/core/SQL/SQLite/{21 => }/delete_ircservers_for_network.sql (100%) rename src/core/SQL/SQLite/{21 => }/delete_network.sql (100%) rename src/core/SQL/SQLite/{21 => }/delete_networks_by_uid.sql (100%) rename src/core/SQL/SQLite/{21 => }/delete_nicks.sql (100%) rename src/core/SQL/SQLite/{21 => }/delete_quasseluser.sql (100%) rename src/core/SQL/SQLite/{21 => }/insert_buffer.sql (100%) rename src/core/SQL/SQLite/{21 => }/insert_identity.sql (100%) rename src/core/SQL/SQLite/{21 => }/insert_message.sql (100%) rename src/core/SQL/SQLite/{21 => }/insert_network.sql (100%) rename src/core/SQL/SQLite/{21 => }/insert_nick.sql (100%) rename src/core/SQL/SQLite/{21 => }/insert_quasseluser.sql (100%) rename src/core/SQL/SQLite/{21 => }/insert_sender.sql (100%) rename src/core/SQL/SQLite/{21 => }/insert_server.sql (100%) rename src/core/SQL/SQLite/{21 => }/insert_user_setting.sql (100%) rename src/core/SQL/SQLite/{21 => }/migrate_read_backlog.sql (100%) rename src/core/SQL/SQLite/{21 => }/migrate_read_buffer.sql (100%) rename src/core/SQL/SQLite/{21 => }/migrate_read_identity.sql (100%) rename src/core/SQL/SQLite/{21 => }/migrate_read_identity_nick.sql (100%) rename src/core/SQL/SQLite/{21 => }/migrate_read_ircserver.sql (100%) rename src/core/SQL/SQLite/{21 => }/migrate_read_network.sql (100%) rename src/core/SQL/SQLite/{21 => }/migrate_read_quasseluser.sql (100%) rename src/core/SQL/SQLite/{21 => }/migrate_read_sender.sql (100%) rename src/core/SQL/SQLite/{21 => }/migrate_read_usersetting.sql (100%) rename src/core/SQL/SQLite/{21 => }/select_authuser.sql (100%) rename src/core/SQL/SQLite/{21 => }/select_bufferByName.sql (100%) rename src/core/SQL/SQLite/{21 => }/select_bufferExists.sql (100%) rename src/core/SQL/SQLite/{21 => }/select_buffer_by_id.sql (100%) rename src/core/SQL/SQLite/{21 => }/select_buffer_lastseen_messages.sql (100%) rename src/core/SQL/SQLite/{21 => }/select_buffer_markerlinemsgids.sql (100%) rename src/core/SQL/SQLite/{21 => }/select_buffers.sql (100%) rename src/core/SQL/SQLite/{21 => }/select_buffers_for_merge.sql (100%) rename src/core/SQL/SQLite/{21 => }/select_buffers_for_network.sql (100%) rename src/core/SQL/SQLite/{21 => }/select_checkidentity.sql (100%) rename src/core/SQL/SQLite/{21 => }/select_connected_networks.sql (100%) rename src/core/SQL/SQLite/{21 => }/select_identities.sql (100%) rename src/core/SQL/SQLite/{21 => }/select_internaluser.sql (100%) rename src/core/SQL/SQLite/{21 => }/select_messagesAll.sql (100%) rename src/core/SQL/SQLite/{21 => }/select_messagesAllNew.sql (100%) rename src/core/SQL/SQLite/{21 => }/select_messagesNewerThan.sql (100%) rename src/core/SQL/SQLite/{21 => }/select_messagesNewestK.sql (100%) rename src/core/SQL/SQLite/{21 => }/select_messagesRange.sql (100%) rename src/core/SQL/SQLite/{21 => }/select_networkExists.sql (100%) rename src/core/SQL/SQLite/{21 => }/select_network_awaymsg.sql (100%) rename src/core/SQL/SQLite/{21 => }/select_network_usermode.sql (100%) rename src/core/SQL/SQLite/{21 => }/select_networks_for_user.sql (100%) rename src/core/SQL/SQLite/{21 => }/select_nicks.sql (100%) rename src/core/SQL/SQLite/{21 => }/select_persistent_channels.sql (100%) rename src/core/SQL/SQLite/{21 => }/select_servers_for_network.sql (100%) rename src/core/SQL/SQLite/{21 => }/select_user_setting.sql (100%) rename src/core/SQL/SQLite/{21 => }/select_userid.sql (100%) rename src/core/SQL/SQLite/{21 => }/setup_000_quasseluser.sql (100%) rename src/core/SQL/SQLite/{21 => }/setup_010_sender.sql (100%) rename src/core/SQL/SQLite/{21 => }/setup_020_network.sql (100%) rename src/core/SQL/SQLite/{21 => }/setup_030_buffer.sql (100%) rename src/core/SQL/SQLite/{21 => }/setup_040_buffer_idx.sql (100%) rename src/core/SQL/SQLite/{21 => }/setup_050_buffer_cname_idx.sql (100%) rename src/core/SQL/SQLite/{21 => }/setup_060_backlog.sql (100%) rename src/core/SQL/SQLite/{21 => }/setup_070_coreinfo.sql (100%) rename src/core/SQL/SQLite/{21 => }/setup_080_ircservers.sql (100%) rename src/core/SQL/SQLite/{21 => }/setup_090_backlog_idx.sql (100%) rename src/core/SQL/SQLite/{21 => }/setup_100_backlog_idx2.sql (100%) rename src/core/SQL/SQLite/{21 => }/setup_110_buffer_user_idx.sql (100%) rename src/core/SQL/SQLite/{21 => }/setup_120_user_setting.sql (100%) rename src/core/SQL/SQLite/{21 => }/setup_130_identity.sql (100%) rename src/core/SQL/SQLite/{21 => }/setup_140_identity_nick.sql (100%) rename src/core/SQL/SQLite/{21 => }/update_backlog_bufferid.sql (100%) rename src/core/SQL/SQLite/{21 => }/update_buffer_lastmsgid.sql (100%) rename src/core/SQL/SQLite/{21 => }/update_buffer_lastseen.sql (100%) rename src/core/SQL/SQLite/{21 => }/update_buffer_markerlinemsgid.sql (100%) rename src/core/SQL/SQLite/{21 => }/update_buffer_name.sql (100%) rename src/core/SQL/SQLite/{21 => }/update_buffer_persistent_channel.sql (100%) rename src/core/SQL/SQLite/{21 => }/update_buffer_set_channel_key.sql (100%) rename src/core/SQL/SQLite/{21 => }/update_identity.sql (100%) rename src/core/SQL/SQLite/{21 => }/update_network.sql (100%) rename src/core/SQL/SQLite/{21 => }/update_network_connected.sql (100%) rename src/core/SQL/SQLite/{21 => }/update_network_set_awaymsg.sql (100%) rename src/core/SQL/SQLite/{21 => }/update_network_set_usermode.sql (100%) rename src/core/SQL/SQLite/{21 => }/update_user_setting.sql (100%) rename src/core/SQL/SQLite/{21 => }/update_username.sql (100%) rename src/core/SQL/SQLite/{21 => }/update_userpassword.sql (100%) rename src/core/SQL/SQLite/{ => version}/1/upgrade_000_drop_coreinfo.sql (100%) rename src/core/SQL/SQLite/{ => version}/1/upgrade_010_create_coreinfo.sql (100%) rename src/core/SQL/SQLite/{ => version}/1/upgrade_020_update_schemaversion.sql (100%) rename src/core/SQL/SQLite/{ => version}/10/upgrade_000_switch_to_msgid.sql (100%) rename src/core/SQL/SQLite/{ => version}/10/upgrade_010_rename_buffer_table.sql (100%) rename src/core/SQL/SQLite/{ => version}/10/upgrade_020_create_buffer_table.sql (100%) rename src/core/SQL/SQLite/{ => version}/10/upgrade_030_copy_buffer_table.sql (100%) rename src/core/SQL/SQLite/{ => version}/10/upgrade_040_drop_buffer_old_table.sql (100%) rename src/core/SQL/SQLite/{ => version}/11/upgrade_000_create_user_setting.sql (100%) rename src/core/SQL/SQLite/{ => version}/12/upgrade_000_create_identity.sql (100%) rename src/core/SQL/SQLite/{ => version}/12/upgrade_010_create_identity_nick.sql (100%) rename src/core/SQL/SQLite/{ => version}/12/upgrade_020_rename_servertable.sql (100%) rename src/core/SQL/SQLite/{ => version}/12/upgrade_030_create_ircserver.sql (100%) rename src/core/SQL/SQLite/{ => version}/12/upgrade_040_copy_ircserver.sql (100%) rename src/core/SQL/SQLite/{ => version}/12/upgrade_050_drop_ircserverold.sql (100%) rename src/core/SQL/SQLite/{ => version}/13/upgrade_000_create_buffer_user_idx.sql (100%) rename src/core/SQL/SQLite/{ => version}/13/upgrade_010_create_buffer_cname_idx.sql (100%) rename src/core/SQL/SQLite/{ => version}/13/upgrade_020_create_buffer_cname_idx.sql (100%) rename src/core/SQL/SQLite/{ => version}/14/upgrade_000_rename_networktable.sql (100%) rename src/core/SQL/SQLite/{ => version}/14/upgrade_010_create_networktable.sql (100%) rename src/core/SQL/SQLite/{ => version}/14/upgrade_030_copy_networktable.sql (100%) rename src/core/SQL/SQLite/{ => version}/14/upgrade_040_drop_networkold.sql (100%) rename src/core/SQL/SQLite/{ => version}/15/upgrade_000_fix_ircservers.sql (100%) rename src/core/SQL/SQLite/{ => version}/15/upgrade_000_fix_network.sql (100%) rename src/core/SQL/SQLite/{ => version}/16/upgrade_000_alter_buffer_add_markerlinemsgid.sql (100%) rename src/core/SQL/SQLite/{ => version}/17/upgrade_000_alter_network_add_sasl.sql (100%) rename src/core/SQL/SQLite/{ => version}/17/upgrade_001_alter_network_add_sasl.sql (100%) rename src/core/SQL/SQLite/{ => version}/17/upgrade_002_alter_network_add_sasl.sql (100%) rename src/core/SQL/SQLite/{ => version}/18/upgrade_000_alter_quasseluser_add_passwordversion.sql (100%) rename src/core/SQL/SQLite/{ => version}/19/upgrade_000_alter_ircserver_add_sslverify.sql (100%) rename src/core/SQL/SQLite/{ => version}/2/upgrade_000_drop_buffergroup.sql (100%) rename src/core/SQL/SQLite/{ => version}/2/upgrade_010_update_schemaversion.sql (100%) rename src/core/SQL/SQLite/{ => version}/20/upgrade_000_alter_network_add_ratelimit_usecustom.sql (100%) rename src/core/SQL/SQLite/{ => version}/20/upgrade_001_alter_network_add_ratelimit_burstsize.sql (100%) rename src/core/SQL/SQLite/{ => version}/20/upgrade_002_alter_network_add_ratelimit_delay.sql (100%) rename src/core/SQL/SQLite/{ => version}/20/upgrade_003_alter_network_add_ratelimit_unlimited.sql (100%) rename src/core/SQL/SQLite/{ => version}/21/upgrade_000_alter_buffer_add_lastmsgid.sql (100%) rename src/core/SQL/SQLite/{ => version}/21/upgrade_001_update_buffer_set_lastmsgid.sql (100%) rename src/core/SQL/SQLite/{ => version}/21/upgrade_002_update_buffer_fix_lastseenmsgid_over_lastmsgid.sql (100%) rename src/core/SQL/SQLite/{ => version}/21/upgrade_003_create_table_buffer_new.sql (100%) rename src/core/SQL/SQLite/{ => version}/21/upgrade_004_insert_into_buffer_new_from_buffer.sql (100%) rename src/core/SQL/SQLite/{ => version}/21/upgrade_005_drop_table_buffer.sql (100%) rename src/core/SQL/SQLite/{ => version}/21/upgrade_006_alter_table_buffer_new_rename_to_buffer.sql (100%) rename src/core/SQL/SQLite/{ => version}/3/upgrade_000_update_backlog_flags.sql (100%) rename src/core/SQL/SQLite/{ => version}/3/upgrade_010_update_schemaversion.sql (100%) rename src/core/SQL/SQLite/{ => version}/4/upgrade_000_rename_buffertable.sql (100%) rename src/core/SQL/SQLite/{ => version}/4/upgrade_010_create_buffertable.sql (100%) rename src/core/SQL/SQLite/{ => version}/4/upgrade_020_copy_buffertable.sql (100%) rename src/core/SQL/SQLite/{ => version}/4/upgrade_030_drop_oldbuffertable.sql (100%) rename src/core/SQL/SQLite/{ => version}/4/upgrade_040_create_buffer_idx.sql (100%) rename src/core/SQL/SQLite/{ => version}/4/upgrade_050_create_buffer_cname_idx.sql (100%) rename src/core/SQL/SQLite/{ => version}/5/upgrade_000_rename_networktable.sql (100%) rename src/core/SQL/SQLite/{ => version}/5/upgrade_010_create_newnetworktable.sql (100%) rename src/core/SQL/SQLite/{ => version}/5/upgrade_020_copy_networktable.sql (100%) rename src/core/SQL/SQLite/{ => version}/5/upgrade_030_drop_oldnetworktable.sql (100%) rename src/core/SQL/SQLite/{ => version}/5/upgrade_180_create_ircservers.sql (100%) rename src/core/SQL/SQLite/{ => version}/6/upgrade_000_alter_buffertable.sql (100%) rename src/core/SQL/SQLite/{ => version}/6/upgrade_010_set_statusbuffertype.sql (100%) rename src/core/SQL/SQLite/{ => version}/6/upgrade_020_set_channelbuffertype.sql (100%) rename src/core/SQL/SQLite/{ => version}/6/upgrade_030_set_querybuffertype.sql (100%) rename src/core/SQL/SQLite/{ => version}/6/upgrade_040_update_msgtype.sql (100%) rename src/core/SQL/SQLite/{ => version}/6/upgrade_050_update_msgtype.sql (100%) rename src/core/SQL/SQLite/{ => version}/6/upgrade_060_update_msgtype.sql (100%) rename src/core/SQL/SQLite/{ => version}/6/upgrade_070_update_msgtype.sql (100%) rename src/core/SQL/SQLite/{ => version}/6/upgrade_080_update_msgtype.sql (100%) rename src/core/SQL/SQLite/{ => version}/6/upgrade_090_update_msgtype.sql (100%) rename src/core/SQL/SQLite/{ => version}/6/upgrade_100_update_msgtype.sql (100%) rename src/core/SQL/SQLite/{ => version}/6/upgrade_110_update_msgtype.sql (100%) rename src/core/SQL/SQLite/{ => version}/6/upgrade_120_update_msgtype.sql (100%) rename src/core/SQL/SQLite/{ => version}/6/upgrade_130_update_msgtype.sql (100%) rename src/core/SQL/SQLite/{ => version}/6/upgrade_140_update_msgtype.sql (100%) rename src/core/SQL/SQLite/{ => version}/6/upgrade_150_update_msgtype.sql (100%) rename src/core/SQL/SQLite/{ => version}/6/upgrade_160_update_msgtype.sql (100%) rename src/core/SQL/SQLite/{ => version}/7/upgrade_000_rename_networktable.sql (100%) rename src/core/SQL/SQLite/{ => version}/7/upgrade_010_create_newnetworktable.sql (100%) rename src/core/SQL/SQLite/{ => version}/7/upgrade_020_copy_networktable.sql (100%) rename src/core/SQL/SQLite/{ => version}/7/upgrade_030_drop_oldnetworktable.sql (100%) rename src/core/SQL/SQLite/{ => version}/7/upgrade_040_alter_buffer_add_lastseen.sql (100%) rename src/core/SQL/SQLite/{ => version}/8/upgrade_000_alter_network_add_connected.sql (100%) rename src/core/SQL/SQLite/{ => version}/8/upgrade_010_alter_buffer_add_key.sql (100%) rename src/core/SQL/SQLite/{ => version}/8/upgrade_020_alter_buffer_add_joined.sql (100%) rename src/core/SQL/SQLite/{ => version}/8/upgrade_030_update_buffer_set_joined_for_channels.sql (100%) rename src/core/SQL/SQLite/{ => version}/9/upgrade_000_create_backlog_idx.sql (100%) rename src/core/SQL/SQLite/{ => version}/9/upgrade_010_create_backlog_idx2.sql (100%) rename src/core/SQL/SQLite/{ => version}/9/upgrade_020_create_buffer_idx.sql (100%) diff --git a/src/core/SQL/PostgreSQL/20/delete_backlog_by_uid.sql b/src/core/SQL/PostgreSQL/delete_backlog_by_uid.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/delete_backlog_by_uid.sql rename to src/core/SQL/PostgreSQL/delete_backlog_by_uid.sql diff --git a/src/core/SQL/PostgreSQL/20/delete_backlog_for_buffer.sql b/src/core/SQL/PostgreSQL/delete_backlog_for_buffer.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/delete_backlog_for_buffer.sql rename to src/core/SQL/PostgreSQL/delete_backlog_for_buffer.sql diff --git a/src/core/SQL/PostgreSQL/20/delete_backlog_for_network.sql b/src/core/SQL/PostgreSQL/delete_backlog_for_network.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/delete_backlog_for_network.sql rename to src/core/SQL/PostgreSQL/delete_backlog_for_network.sql diff --git a/src/core/SQL/PostgreSQL/20/delete_buffer_for_bufferid.sql b/src/core/SQL/PostgreSQL/delete_buffer_for_bufferid.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/delete_buffer_for_bufferid.sql rename to src/core/SQL/PostgreSQL/delete_buffer_for_bufferid.sql diff --git a/src/core/SQL/PostgreSQL/20/delete_buffers_by_uid.sql b/src/core/SQL/PostgreSQL/delete_buffers_by_uid.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/delete_buffers_by_uid.sql rename to src/core/SQL/PostgreSQL/delete_buffers_by_uid.sql diff --git a/src/core/SQL/PostgreSQL/20/delete_buffers_for_network.sql b/src/core/SQL/PostgreSQL/delete_buffers_for_network.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/delete_buffers_for_network.sql rename to src/core/SQL/PostgreSQL/delete_buffers_for_network.sql diff --git a/src/core/SQL/PostgreSQL/20/delete_identity.sql b/src/core/SQL/PostgreSQL/delete_identity.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/delete_identity.sql rename to src/core/SQL/PostgreSQL/delete_identity.sql diff --git a/src/core/SQL/PostgreSQL/20/delete_ircservers_for_network.sql b/src/core/SQL/PostgreSQL/delete_ircservers_for_network.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/delete_ircservers_for_network.sql rename to src/core/SQL/PostgreSQL/delete_ircservers_for_network.sql diff --git a/src/core/SQL/PostgreSQL/20/delete_network.sql b/src/core/SQL/PostgreSQL/delete_network.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/delete_network.sql rename to src/core/SQL/PostgreSQL/delete_network.sql diff --git a/src/core/SQL/PostgreSQL/20/delete_networks_by_uid.sql b/src/core/SQL/PostgreSQL/delete_networks_by_uid.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/delete_networks_by_uid.sql rename to src/core/SQL/PostgreSQL/delete_networks_by_uid.sql diff --git a/src/core/SQL/PostgreSQL/20/delete_nicks.sql b/src/core/SQL/PostgreSQL/delete_nicks.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/delete_nicks.sql rename to src/core/SQL/PostgreSQL/delete_nicks.sql diff --git a/src/core/SQL/PostgreSQL/20/delete_quasseluser.sql b/src/core/SQL/PostgreSQL/delete_quasseluser.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/delete_quasseluser.sql rename to src/core/SQL/PostgreSQL/delete_quasseluser.sql diff --git a/src/core/SQL/PostgreSQL/20/insert_buffer.sql b/src/core/SQL/PostgreSQL/insert_buffer.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/insert_buffer.sql rename to src/core/SQL/PostgreSQL/insert_buffer.sql diff --git a/src/core/SQL/PostgreSQL/20/insert_identity.sql b/src/core/SQL/PostgreSQL/insert_identity.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/insert_identity.sql rename to src/core/SQL/PostgreSQL/insert_identity.sql diff --git a/src/core/SQL/PostgreSQL/20/insert_message.sql b/src/core/SQL/PostgreSQL/insert_message.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/insert_message.sql rename to src/core/SQL/PostgreSQL/insert_message.sql diff --git a/src/core/SQL/PostgreSQL/20/insert_network.sql b/src/core/SQL/PostgreSQL/insert_network.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/insert_network.sql rename to src/core/SQL/PostgreSQL/insert_network.sql diff --git a/src/core/SQL/PostgreSQL/20/insert_nick.sql b/src/core/SQL/PostgreSQL/insert_nick.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/insert_nick.sql rename to src/core/SQL/PostgreSQL/insert_nick.sql diff --git a/src/core/SQL/PostgreSQL/20/insert_quasseluser.sql b/src/core/SQL/PostgreSQL/insert_quasseluser.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/insert_quasseluser.sql rename to src/core/SQL/PostgreSQL/insert_quasseluser.sql diff --git a/src/core/SQL/PostgreSQL/20/insert_sender.sql b/src/core/SQL/PostgreSQL/insert_sender.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/insert_sender.sql rename to src/core/SQL/PostgreSQL/insert_sender.sql diff --git a/src/core/SQL/PostgreSQL/20/insert_server.sql b/src/core/SQL/PostgreSQL/insert_server.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/insert_server.sql rename to src/core/SQL/PostgreSQL/insert_server.sql diff --git a/src/core/SQL/PostgreSQL/20/insert_user_setting.sql b/src/core/SQL/PostgreSQL/insert_user_setting.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/insert_user_setting.sql rename to src/core/SQL/PostgreSQL/insert_user_setting.sql diff --git a/src/core/SQL/PostgreSQL/20/migrate_write_backlog.sql b/src/core/SQL/PostgreSQL/migrate_write_backlog.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/migrate_write_backlog.sql rename to src/core/SQL/PostgreSQL/migrate_write_backlog.sql diff --git a/src/core/SQL/PostgreSQL/20/migrate_write_buffer.sql b/src/core/SQL/PostgreSQL/migrate_write_buffer.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/migrate_write_buffer.sql rename to src/core/SQL/PostgreSQL/migrate_write_buffer.sql diff --git a/src/core/SQL/PostgreSQL/20/migrate_write_identity.sql b/src/core/SQL/PostgreSQL/migrate_write_identity.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/migrate_write_identity.sql rename to src/core/SQL/PostgreSQL/migrate_write_identity.sql diff --git a/src/core/SQL/PostgreSQL/20/migrate_write_identity_nick.sql b/src/core/SQL/PostgreSQL/migrate_write_identity_nick.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/migrate_write_identity_nick.sql rename to src/core/SQL/PostgreSQL/migrate_write_identity_nick.sql diff --git a/src/core/SQL/PostgreSQL/20/migrate_write_ircserver.sql b/src/core/SQL/PostgreSQL/migrate_write_ircserver.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/migrate_write_ircserver.sql rename to src/core/SQL/PostgreSQL/migrate_write_ircserver.sql diff --git a/src/core/SQL/PostgreSQL/20/migrate_write_network.sql b/src/core/SQL/PostgreSQL/migrate_write_network.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/migrate_write_network.sql rename to src/core/SQL/PostgreSQL/migrate_write_network.sql diff --git a/src/core/SQL/PostgreSQL/20/migrate_write_quasseluser.sql b/src/core/SQL/PostgreSQL/migrate_write_quasseluser.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/migrate_write_quasseluser.sql rename to src/core/SQL/PostgreSQL/migrate_write_quasseluser.sql diff --git a/src/core/SQL/PostgreSQL/20/migrate_write_sender.sql b/src/core/SQL/PostgreSQL/migrate_write_sender.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/migrate_write_sender.sql rename to src/core/SQL/PostgreSQL/migrate_write_sender.sql diff --git a/src/core/SQL/PostgreSQL/20/migrate_write_usersetting.sql b/src/core/SQL/PostgreSQL/migrate_write_usersetting.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/migrate_write_usersetting.sql rename to src/core/SQL/PostgreSQL/migrate_write_usersetting.sql diff --git a/src/core/SQL/PostgreSQL/20/select_authuser.sql b/src/core/SQL/PostgreSQL/select_authuser.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/select_authuser.sql rename to src/core/SQL/PostgreSQL/select_authuser.sql diff --git a/src/core/SQL/PostgreSQL/20/select_bufferByName.sql b/src/core/SQL/PostgreSQL/select_bufferByName.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/select_bufferByName.sql rename to src/core/SQL/PostgreSQL/select_bufferByName.sql diff --git a/src/core/SQL/PostgreSQL/20/select_bufferExists.sql b/src/core/SQL/PostgreSQL/select_bufferExists.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/select_bufferExists.sql rename to src/core/SQL/PostgreSQL/select_bufferExists.sql diff --git a/src/core/SQL/PostgreSQL/20/select_buffer_by_id.sql b/src/core/SQL/PostgreSQL/select_buffer_by_id.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/select_buffer_by_id.sql rename to src/core/SQL/PostgreSQL/select_buffer_by_id.sql diff --git a/src/core/SQL/PostgreSQL/20/select_buffer_lastseen_messages.sql b/src/core/SQL/PostgreSQL/select_buffer_lastseen_messages.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/select_buffer_lastseen_messages.sql rename to src/core/SQL/PostgreSQL/select_buffer_lastseen_messages.sql diff --git a/src/core/SQL/PostgreSQL/20/select_buffer_markerlinemsgids.sql b/src/core/SQL/PostgreSQL/select_buffer_markerlinemsgids.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/select_buffer_markerlinemsgids.sql rename to src/core/SQL/PostgreSQL/select_buffer_markerlinemsgids.sql diff --git a/src/core/SQL/PostgreSQL/20/select_buffers.sql b/src/core/SQL/PostgreSQL/select_buffers.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/select_buffers.sql rename to src/core/SQL/PostgreSQL/select_buffers.sql diff --git a/src/core/SQL/PostgreSQL/20/select_buffers_for_network.sql b/src/core/SQL/PostgreSQL/select_buffers_for_network.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/select_buffers_for_network.sql rename to src/core/SQL/PostgreSQL/select_buffers_for_network.sql diff --git a/src/core/SQL/PostgreSQL/20/select_checkidentity.sql b/src/core/SQL/PostgreSQL/select_checkidentity.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/select_checkidentity.sql rename to src/core/SQL/PostgreSQL/select_checkidentity.sql diff --git a/src/core/SQL/PostgreSQL/20/select_connected_networks.sql b/src/core/SQL/PostgreSQL/select_connected_networks.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/select_connected_networks.sql rename to src/core/SQL/PostgreSQL/select_connected_networks.sql diff --git a/src/core/SQL/PostgreSQL/20/select_identities.sql b/src/core/SQL/PostgreSQL/select_identities.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/select_identities.sql rename to src/core/SQL/PostgreSQL/select_identities.sql diff --git a/src/core/SQL/PostgreSQL/20/select_internaluser.sql b/src/core/SQL/PostgreSQL/select_internaluser.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/select_internaluser.sql rename to src/core/SQL/PostgreSQL/select_internaluser.sql diff --git a/src/core/SQL/PostgreSQL/20/select_messagesAll.sql b/src/core/SQL/PostgreSQL/select_messagesAll.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/select_messagesAll.sql rename to src/core/SQL/PostgreSQL/select_messagesAll.sql diff --git a/src/core/SQL/PostgreSQL/20/select_messagesAllNew.sql b/src/core/SQL/PostgreSQL/select_messagesAllNew.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/select_messagesAllNew.sql rename to src/core/SQL/PostgreSQL/select_messagesAllNew.sql diff --git a/src/core/SQL/PostgreSQL/20/select_messagesNewerThan.sql b/src/core/SQL/PostgreSQL/select_messagesNewerThan.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/select_messagesNewerThan.sql rename to src/core/SQL/PostgreSQL/select_messagesNewerThan.sql diff --git a/src/core/SQL/PostgreSQL/20/select_messagesNewestK.sql b/src/core/SQL/PostgreSQL/select_messagesNewestK.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/select_messagesNewestK.sql rename to src/core/SQL/PostgreSQL/select_messagesNewestK.sql diff --git a/src/core/SQL/PostgreSQL/20/select_messagesRange.sql b/src/core/SQL/PostgreSQL/select_messagesRange.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/select_messagesRange.sql rename to src/core/SQL/PostgreSQL/select_messagesRange.sql diff --git a/src/core/SQL/PostgreSQL/20/select_networkExists.sql b/src/core/SQL/PostgreSQL/select_networkExists.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/select_networkExists.sql rename to src/core/SQL/PostgreSQL/select_networkExists.sql diff --git a/src/core/SQL/PostgreSQL/20/select_network_awaymsg.sql b/src/core/SQL/PostgreSQL/select_network_awaymsg.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/select_network_awaymsg.sql rename to src/core/SQL/PostgreSQL/select_network_awaymsg.sql diff --git a/src/core/SQL/PostgreSQL/20/select_network_usermode.sql b/src/core/SQL/PostgreSQL/select_network_usermode.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/select_network_usermode.sql rename to src/core/SQL/PostgreSQL/select_network_usermode.sql diff --git a/src/core/SQL/PostgreSQL/20/select_networks_for_user.sql b/src/core/SQL/PostgreSQL/select_networks_for_user.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/select_networks_for_user.sql rename to src/core/SQL/PostgreSQL/select_networks_for_user.sql diff --git a/src/core/SQL/PostgreSQL/20/select_nicks.sql b/src/core/SQL/PostgreSQL/select_nicks.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/select_nicks.sql rename to src/core/SQL/PostgreSQL/select_nicks.sql diff --git a/src/core/SQL/PostgreSQL/20/select_persistent_channels.sql b/src/core/SQL/PostgreSQL/select_persistent_channels.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/select_persistent_channels.sql rename to src/core/SQL/PostgreSQL/select_persistent_channels.sql diff --git a/src/core/SQL/PostgreSQL/20/select_senderid.sql b/src/core/SQL/PostgreSQL/select_senderid.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/select_senderid.sql rename to src/core/SQL/PostgreSQL/select_senderid.sql diff --git a/src/core/SQL/PostgreSQL/20/select_servers_for_network.sql b/src/core/SQL/PostgreSQL/select_servers_for_network.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/select_servers_for_network.sql rename to src/core/SQL/PostgreSQL/select_servers_for_network.sql diff --git a/src/core/SQL/PostgreSQL/20/select_user_setting.sql b/src/core/SQL/PostgreSQL/select_user_setting.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/select_user_setting.sql rename to src/core/SQL/PostgreSQL/select_user_setting.sql diff --git a/src/core/SQL/PostgreSQL/20/select_userid.sql b/src/core/SQL/PostgreSQL/select_userid.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/select_userid.sql rename to src/core/SQL/PostgreSQL/select_userid.sql diff --git a/src/core/SQL/PostgreSQL/20/setup_000_quasseluser.sql b/src/core/SQL/PostgreSQL/setup_000_quasseluser.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/setup_000_quasseluser.sql rename to src/core/SQL/PostgreSQL/setup_000_quasseluser.sql diff --git a/src/core/SQL/PostgreSQL/20/setup_010_sender.sql b/src/core/SQL/PostgreSQL/setup_010_sender.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/setup_010_sender.sql rename to src/core/SQL/PostgreSQL/setup_010_sender.sql diff --git a/src/core/SQL/PostgreSQL/20/setup_020_identity.sql b/src/core/SQL/PostgreSQL/setup_020_identity.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/setup_020_identity.sql rename to src/core/SQL/PostgreSQL/setup_020_identity.sql diff --git a/src/core/SQL/PostgreSQL/20/setup_030_identity_nick.sql b/src/core/SQL/PostgreSQL/setup_030_identity_nick.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/setup_030_identity_nick.sql rename to src/core/SQL/PostgreSQL/setup_030_identity_nick.sql diff --git a/src/core/SQL/PostgreSQL/20/setup_040_network.sql b/src/core/SQL/PostgreSQL/setup_040_network.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/setup_040_network.sql rename to src/core/SQL/PostgreSQL/setup_040_network.sql diff --git a/src/core/SQL/PostgreSQL/20/setup_050_buffer.sql b/src/core/SQL/PostgreSQL/setup_050_buffer.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/setup_050_buffer.sql rename to src/core/SQL/PostgreSQL/setup_050_buffer.sql diff --git a/src/core/SQL/PostgreSQL/20/setup_060_backlog.sql b/src/core/SQL/PostgreSQL/setup_060_backlog.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/setup_060_backlog.sql rename to src/core/SQL/PostgreSQL/setup_060_backlog.sql diff --git a/src/core/SQL/PostgreSQL/20/setup_070_coreinfo.sql b/src/core/SQL/PostgreSQL/setup_070_coreinfo.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/setup_070_coreinfo.sql rename to src/core/SQL/PostgreSQL/setup_070_coreinfo.sql diff --git a/src/core/SQL/PostgreSQL/20/setup_080_ircservers.sql b/src/core/SQL/PostgreSQL/setup_080_ircservers.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/setup_080_ircservers.sql rename to src/core/SQL/PostgreSQL/setup_080_ircservers.sql diff --git a/src/core/SQL/PostgreSQL/20/setup_090_backlog_idx.sql b/src/core/SQL/PostgreSQL/setup_090_backlog_idx.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/setup_090_backlog_idx.sql rename to src/core/SQL/PostgreSQL/setup_090_backlog_idx.sql diff --git a/src/core/SQL/PostgreSQL/20/setup_100_user_setting.sql b/src/core/SQL/PostgreSQL/setup_100_user_setting.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/setup_100_user_setting.sql rename to src/core/SQL/PostgreSQL/setup_100_user_setting.sql diff --git a/src/core/SQL/PostgreSQL/20/setup_110_alter_sender_seq.sql b/src/core/SQL/PostgreSQL/setup_110_alter_sender_seq.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/setup_110_alter_sender_seq.sql rename to src/core/SQL/PostgreSQL/setup_110_alter_sender_seq.sql diff --git a/src/core/SQL/PostgreSQL/20/setup_120_alter_messageid_seq.sql b/src/core/SQL/PostgreSQL/setup_120_alter_messageid_seq.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/setup_120_alter_messageid_seq.sql rename to src/core/SQL/PostgreSQL/setup_120_alter_messageid_seq.sql diff --git a/src/core/SQL/PostgreSQL/20/setup_130_function_lastmsgid.sql b/src/core/SQL/PostgreSQL/setup_130_function_lastmsgid.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/setup_130_function_lastmsgid.sql rename to src/core/SQL/PostgreSQL/setup_130_function_lastmsgid.sql diff --git a/src/core/SQL/PostgreSQL/20/update_backlog_bufferid.sql b/src/core/SQL/PostgreSQL/update_backlog_bufferid.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/update_backlog_bufferid.sql rename to src/core/SQL/PostgreSQL/update_backlog_bufferid.sql diff --git a/src/core/SQL/PostgreSQL/20/update_buffer_lastmsgid.sql b/src/core/SQL/PostgreSQL/update_buffer_lastmsgid.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/update_buffer_lastmsgid.sql rename to src/core/SQL/PostgreSQL/update_buffer_lastmsgid.sql diff --git a/src/core/SQL/PostgreSQL/20/update_buffer_lastseen.sql b/src/core/SQL/PostgreSQL/update_buffer_lastseen.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/update_buffer_lastseen.sql rename to src/core/SQL/PostgreSQL/update_buffer_lastseen.sql diff --git a/src/core/SQL/PostgreSQL/20/update_buffer_markerlinemsgid.sql b/src/core/SQL/PostgreSQL/update_buffer_markerlinemsgid.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/update_buffer_markerlinemsgid.sql rename to src/core/SQL/PostgreSQL/update_buffer_markerlinemsgid.sql diff --git a/src/core/SQL/PostgreSQL/20/update_buffer_name.sql b/src/core/SQL/PostgreSQL/update_buffer_name.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/update_buffer_name.sql rename to src/core/SQL/PostgreSQL/update_buffer_name.sql diff --git a/src/core/SQL/PostgreSQL/20/update_buffer_persistent_channel.sql b/src/core/SQL/PostgreSQL/update_buffer_persistent_channel.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/update_buffer_persistent_channel.sql rename to src/core/SQL/PostgreSQL/update_buffer_persistent_channel.sql diff --git a/src/core/SQL/PostgreSQL/20/update_buffer_set_channel_key.sql b/src/core/SQL/PostgreSQL/update_buffer_set_channel_key.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/update_buffer_set_channel_key.sql rename to src/core/SQL/PostgreSQL/update_buffer_set_channel_key.sql diff --git a/src/core/SQL/PostgreSQL/20/update_identity.sql b/src/core/SQL/PostgreSQL/update_identity.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/update_identity.sql rename to src/core/SQL/PostgreSQL/update_identity.sql diff --git a/src/core/SQL/PostgreSQL/20/update_network.sql b/src/core/SQL/PostgreSQL/update_network.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/update_network.sql rename to src/core/SQL/PostgreSQL/update_network.sql diff --git a/src/core/SQL/PostgreSQL/20/update_network_connected.sql b/src/core/SQL/PostgreSQL/update_network_connected.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/update_network_connected.sql rename to src/core/SQL/PostgreSQL/update_network_connected.sql diff --git a/src/core/SQL/PostgreSQL/20/update_network_set_awaymsg.sql b/src/core/SQL/PostgreSQL/update_network_set_awaymsg.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/update_network_set_awaymsg.sql rename to src/core/SQL/PostgreSQL/update_network_set_awaymsg.sql diff --git a/src/core/SQL/PostgreSQL/20/update_network_set_usermode.sql b/src/core/SQL/PostgreSQL/update_network_set_usermode.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/update_network_set_usermode.sql rename to src/core/SQL/PostgreSQL/update_network_set_usermode.sql diff --git a/src/core/SQL/PostgreSQL/20/update_user_setting.sql b/src/core/SQL/PostgreSQL/update_user_setting.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/update_user_setting.sql rename to src/core/SQL/PostgreSQL/update_user_setting.sql diff --git a/src/core/SQL/PostgreSQL/20/update_username.sql b/src/core/SQL/PostgreSQL/update_username.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/update_username.sql rename to src/core/SQL/PostgreSQL/update_username.sql diff --git a/src/core/SQL/PostgreSQL/20/update_userpassword.sql b/src/core/SQL/PostgreSQL/update_userpassword.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/update_userpassword.sql rename to src/core/SQL/PostgreSQL/update_userpassword.sql diff --git a/src/core/SQL/PostgreSQL/15/upgrade_000_alter_buffer_add_markerlinemsgid.sql b/src/core/SQL/PostgreSQL/version/15/upgrade_000_alter_buffer_add_markerlinemsgid.sql similarity index 100% rename from src/core/SQL/PostgreSQL/15/upgrade_000_alter_buffer_add_markerlinemsgid.sql rename to src/core/SQL/PostgreSQL/version/15/upgrade_000_alter_buffer_add_markerlinemsgid.sql diff --git a/src/core/SQL/PostgreSQL/16/upgrade_000_alter_network_add_sasl.sql b/src/core/SQL/PostgreSQL/version/16/upgrade_000_alter_network_add_sasl.sql similarity index 100% rename from src/core/SQL/PostgreSQL/16/upgrade_000_alter_network_add_sasl.sql rename to src/core/SQL/PostgreSQL/version/16/upgrade_000_alter_network_add_sasl.sql diff --git a/src/core/SQL/PostgreSQL/17/upgrade_000_alter_quasseluser_add_passwordversion.sql b/src/core/SQL/PostgreSQL/version/17/upgrade_000_alter_quasseluser_add_passwordversion.sql similarity index 100% rename from src/core/SQL/PostgreSQL/17/upgrade_000_alter_quasseluser_add_passwordversion.sql rename to src/core/SQL/PostgreSQL/version/17/upgrade_000_alter_quasseluser_add_passwordversion.sql diff --git a/src/core/SQL/PostgreSQL/18/upgrade_000_alter_ircserver_add_sslverify.sql b/src/core/SQL/PostgreSQL/version/18/upgrade_000_alter_ircserver_add_sslverify.sql similarity index 100% rename from src/core/SQL/PostgreSQL/18/upgrade_000_alter_ircserver_add_sslverify.sql rename to src/core/SQL/PostgreSQL/version/18/upgrade_000_alter_ircserver_add_sslverify.sql diff --git a/src/core/SQL/PostgreSQL/19/upgrade_000_alter_network_add_ratelimit_usecustom.sql b/src/core/SQL/PostgreSQL/version/19/upgrade_000_alter_network_add_ratelimit_usecustom.sql similarity index 100% rename from src/core/SQL/PostgreSQL/19/upgrade_000_alter_network_add_ratelimit_usecustom.sql rename to src/core/SQL/PostgreSQL/version/19/upgrade_000_alter_network_add_ratelimit_usecustom.sql diff --git a/src/core/SQL/PostgreSQL/19/upgrade_001_alter_network_add_ratelimit_burstsize.sql b/src/core/SQL/PostgreSQL/version/19/upgrade_001_alter_network_add_ratelimit_burstsize.sql similarity index 100% rename from src/core/SQL/PostgreSQL/19/upgrade_001_alter_network_add_ratelimit_burstsize.sql rename to src/core/SQL/PostgreSQL/version/19/upgrade_001_alter_network_add_ratelimit_burstsize.sql diff --git a/src/core/SQL/PostgreSQL/19/upgrade_002_alter_network_add_ratelimit_delay.sql b/src/core/SQL/PostgreSQL/version/19/upgrade_002_alter_network_add_ratelimit_delay.sql similarity index 100% rename from src/core/SQL/PostgreSQL/19/upgrade_002_alter_network_add_ratelimit_delay.sql rename to src/core/SQL/PostgreSQL/version/19/upgrade_002_alter_network_add_ratelimit_delay.sql diff --git a/src/core/SQL/PostgreSQL/19/upgrade_003_alter_network_add_ratelimit_unlimited.sql b/src/core/SQL/PostgreSQL/version/19/upgrade_003_alter_network_add_ratelimit_unlimited.sql similarity index 100% rename from src/core/SQL/PostgreSQL/19/upgrade_003_alter_network_add_ratelimit_unlimited.sql rename to src/core/SQL/PostgreSQL/version/19/upgrade_003_alter_network_add_ratelimit_unlimited.sql diff --git a/src/core/SQL/PostgreSQL/20/upgrade_000_alter_buffer_add_lastmsgid.sql b/src/core/SQL/PostgreSQL/version/20/upgrade_000_alter_buffer_add_lastmsgid.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/upgrade_000_alter_buffer_add_lastmsgid.sql rename to src/core/SQL/PostgreSQL/version/20/upgrade_000_alter_buffer_add_lastmsgid.sql diff --git a/src/core/SQL/PostgreSQL/20/upgrade_001_add_function_populate_lastmsgid.sql b/src/core/SQL/PostgreSQL/version/20/upgrade_001_add_function_populate_lastmsgid.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/upgrade_001_add_function_populate_lastmsgid.sql rename to src/core/SQL/PostgreSQL/version/20/upgrade_001_add_function_populate_lastmsgid.sql diff --git a/src/core/SQL/PostgreSQL/20/upgrade_002_run_function_populate_lastmsgid.sql b/src/core/SQL/PostgreSQL/version/20/upgrade_002_run_function_populate_lastmsgid.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/upgrade_002_run_function_populate_lastmsgid.sql rename to src/core/SQL/PostgreSQL/version/20/upgrade_002_run_function_populate_lastmsgid.sql diff --git a/src/core/SQL/PostgreSQL/20/upgrade_003_correct_bad_lastseenmsgid.sql b/src/core/SQL/PostgreSQL/version/20/upgrade_003_correct_bad_lastseenmsgid.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/upgrade_003_correct_bad_lastseenmsgid.sql rename to src/core/SQL/PostgreSQL/version/20/upgrade_003_correct_bad_lastseenmsgid.sql diff --git a/src/core/SQL/PostgreSQL/20/upgrade_004_add_lastseenmsgid_constraint.sql b/src/core/SQL/PostgreSQL/version/20/upgrade_004_add_lastseenmsgid_constraint.sql similarity index 100% rename from src/core/SQL/PostgreSQL/20/upgrade_004_add_lastseenmsgid_constraint.sql rename to src/core/SQL/PostgreSQL/version/20/upgrade_004_add_lastseenmsgid_constraint.sql diff --git a/src/core/SQL/SQLite/21/delete_backlog_by_uid.sql b/src/core/SQL/SQLite/delete_backlog_by_uid.sql similarity index 100% rename from src/core/SQL/SQLite/21/delete_backlog_by_uid.sql rename to src/core/SQL/SQLite/delete_backlog_by_uid.sql diff --git a/src/core/SQL/SQLite/21/delete_backlog_for_buffer.sql b/src/core/SQL/SQLite/delete_backlog_for_buffer.sql similarity index 100% rename from src/core/SQL/SQLite/21/delete_backlog_for_buffer.sql rename to src/core/SQL/SQLite/delete_backlog_for_buffer.sql diff --git a/src/core/SQL/SQLite/21/delete_backlog_for_network.sql b/src/core/SQL/SQLite/delete_backlog_for_network.sql similarity index 100% rename from src/core/SQL/SQLite/21/delete_backlog_for_network.sql rename to src/core/SQL/SQLite/delete_backlog_for_network.sql diff --git a/src/core/SQL/SQLite/21/delete_buffer_for_bufferid.sql b/src/core/SQL/SQLite/delete_buffer_for_bufferid.sql similarity index 100% rename from src/core/SQL/SQLite/21/delete_buffer_for_bufferid.sql rename to src/core/SQL/SQLite/delete_buffer_for_bufferid.sql diff --git a/src/core/SQL/SQLite/21/delete_buffers_by_uid.sql b/src/core/SQL/SQLite/delete_buffers_by_uid.sql similarity index 100% rename from src/core/SQL/SQLite/21/delete_buffers_by_uid.sql rename to src/core/SQL/SQLite/delete_buffers_by_uid.sql diff --git a/src/core/SQL/SQLite/21/delete_buffers_for_network.sql b/src/core/SQL/SQLite/delete_buffers_for_network.sql similarity index 100% rename from src/core/SQL/SQLite/21/delete_buffers_for_network.sql rename to src/core/SQL/SQLite/delete_buffers_for_network.sql diff --git a/src/core/SQL/SQLite/21/delete_identity.sql b/src/core/SQL/SQLite/delete_identity.sql similarity index 100% rename from src/core/SQL/SQLite/21/delete_identity.sql rename to src/core/SQL/SQLite/delete_identity.sql diff --git a/src/core/SQL/SQLite/21/delete_ircservers_for_network.sql b/src/core/SQL/SQLite/delete_ircservers_for_network.sql similarity index 100% rename from src/core/SQL/SQLite/21/delete_ircservers_for_network.sql rename to src/core/SQL/SQLite/delete_ircservers_for_network.sql diff --git a/src/core/SQL/SQLite/21/delete_network.sql b/src/core/SQL/SQLite/delete_network.sql similarity index 100% rename from src/core/SQL/SQLite/21/delete_network.sql rename to src/core/SQL/SQLite/delete_network.sql diff --git a/src/core/SQL/SQLite/21/delete_networks_by_uid.sql b/src/core/SQL/SQLite/delete_networks_by_uid.sql similarity index 100% rename from src/core/SQL/SQLite/21/delete_networks_by_uid.sql rename to src/core/SQL/SQLite/delete_networks_by_uid.sql diff --git a/src/core/SQL/SQLite/21/delete_nicks.sql b/src/core/SQL/SQLite/delete_nicks.sql similarity index 100% rename from src/core/SQL/SQLite/21/delete_nicks.sql rename to src/core/SQL/SQLite/delete_nicks.sql diff --git a/src/core/SQL/SQLite/21/delete_quasseluser.sql b/src/core/SQL/SQLite/delete_quasseluser.sql similarity index 100% rename from src/core/SQL/SQLite/21/delete_quasseluser.sql rename to src/core/SQL/SQLite/delete_quasseluser.sql diff --git a/src/core/SQL/SQLite/21/insert_buffer.sql b/src/core/SQL/SQLite/insert_buffer.sql similarity index 100% rename from src/core/SQL/SQLite/21/insert_buffer.sql rename to src/core/SQL/SQLite/insert_buffer.sql diff --git a/src/core/SQL/SQLite/21/insert_identity.sql b/src/core/SQL/SQLite/insert_identity.sql similarity index 100% rename from src/core/SQL/SQLite/21/insert_identity.sql rename to src/core/SQL/SQLite/insert_identity.sql diff --git a/src/core/SQL/SQLite/21/insert_message.sql b/src/core/SQL/SQLite/insert_message.sql similarity index 100% rename from src/core/SQL/SQLite/21/insert_message.sql rename to src/core/SQL/SQLite/insert_message.sql diff --git a/src/core/SQL/SQLite/21/insert_network.sql b/src/core/SQL/SQLite/insert_network.sql similarity index 100% rename from src/core/SQL/SQLite/21/insert_network.sql rename to src/core/SQL/SQLite/insert_network.sql diff --git a/src/core/SQL/SQLite/21/insert_nick.sql b/src/core/SQL/SQLite/insert_nick.sql similarity index 100% rename from src/core/SQL/SQLite/21/insert_nick.sql rename to src/core/SQL/SQLite/insert_nick.sql diff --git a/src/core/SQL/SQLite/21/insert_quasseluser.sql b/src/core/SQL/SQLite/insert_quasseluser.sql similarity index 100% rename from src/core/SQL/SQLite/21/insert_quasseluser.sql rename to src/core/SQL/SQLite/insert_quasseluser.sql diff --git a/src/core/SQL/SQLite/21/insert_sender.sql b/src/core/SQL/SQLite/insert_sender.sql similarity index 100% rename from src/core/SQL/SQLite/21/insert_sender.sql rename to src/core/SQL/SQLite/insert_sender.sql diff --git a/src/core/SQL/SQLite/21/insert_server.sql b/src/core/SQL/SQLite/insert_server.sql similarity index 100% rename from src/core/SQL/SQLite/21/insert_server.sql rename to src/core/SQL/SQLite/insert_server.sql diff --git a/src/core/SQL/SQLite/21/insert_user_setting.sql b/src/core/SQL/SQLite/insert_user_setting.sql similarity index 100% rename from src/core/SQL/SQLite/21/insert_user_setting.sql rename to src/core/SQL/SQLite/insert_user_setting.sql diff --git a/src/core/SQL/SQLite/21/migrate_read_backlog.sql b/src/core/SQL/SQLite/migrate_read_backlog.sql similarity index 100% rename from src/core/SQL/SQLite/21/migrate_read_backlog.sql rename to src/core/SQL/SQLite/migrate_read_backlog.sql diff --git a/src/core/SQL/SQLite/21/migrate_read_buffer.sql b/src/core/SQL/SQLite/migrate_read_buffer.sql similarity index 100% rename from src/core/SQL/SQLite/21/migrate_read_buffer.sql rename to src/core/SQL/SQLite/migrate_read_buffer.sql diff --git a/src/core/SQL/SQLite/21/migrate_read_identity.sql b/src/core/SQL/SQLite/migrate_read_identity.sql similarity index 100% rename from src/core/SQL/SQLite/21/migrate_read_identity.sql rename to src/core/SQL/SQLite/migrate_read_identity.sql diff --git a/src/core/SQL/SQLite/21/migrate_read_identity_nick.sql b/src/core/SQL/SQLite/migrate_read_identity_nick.sql similarity index 100% rename from src/core/SQL/SQLite/21/migrate_read_identity_nick.sql rename to src/core/SQL/SQLite/migrate_read_identity_nick.sql diff --git a/src/core/SQL/SQLite/21/migrate_read_ircserver.sql b/src/core/SQL/SQLite/migrate_read_ircserver.sql similarity index 100% rename from src/core/SQL/SQLite/21/migrate_read_ircserver.sql rename to src/core/SQL/SQLite/migrate_read_ircserver.sql diff --git a/src/core/SQL/SQLite/21/migrate_read_network.sql b/src/core/SQL/SQLite/migrate_read_network.sql similarity index 100% rename from src/core/SQL/SQLite/21/migrate_read_network.sql rename to src/core/SQL/SQLite/migrate_read_network.sql diff --git a/src/core/SQL/SQLite/21/migrate_read_quasseluser.sql b/src/core/SQL/SQLite/migrate_read_quasseluser.sql similarity index 100% rename from src/core/SQL/SQLite/21/migrate_read_quasseluser.sql rename to src/core/SQL/SQLite/migrate_read_quasseluser.sql diff --git a/src/core/SQL/SQLite/21/migrate_read_sender.sql b/src/core/SQL/SQLite/migrate_read_sender.sql similarity index 100% rename from src/core/SQL/SQLite/21/migrate_read_sender.sql rename to src/core/SQL/SQLite/migrate_read_sender.sql diff --git a/src/core/SQL/SQLite/21/migrate_read_usersetting.sql b/src/core/SQL/SQLite/migrate_read_usersetting.sql similarity index 100% rename from src/core/SQL/SQLite/21/migrate_read_usersetting.sql rename to src/core/SQL/SQLite/migrate_read_usersetting.sql diff --git a/src/core/SQL/SQLite/21/select_authuser.sql b/src/core/SQL/SQLite/select_authuser.sql similarity index 100% rename from src/core/SQL/SQLite/21/select_authuser.sql rename to src/core/SQL/SQLite/select_authuser.sql diff --git a/src/core/SQL/SQLite/21/select_bufferByName.sql b/src/core/SQL/SQLite/select_bufferByName.sql similarity index 100% rename from src/core/SQL/SQLite/21/select_bufferByName.sql rename to src/core/SQL/SQLite/select_bufferByName.sql diff --git a/src/core/SQL/SQLite/21/select_bufferExists.sql b/src/core/SQL/SQLite/select_bufferExists.sql similarity index 100% rename from src/core/SQL/SQLite/21/select_bufferExists.sql rename to src/core/SQL/SQLite/select_bufferExists.sql diff --git a/src/core/SQL/SQLite/21/select_buffer_by_id.sql b/src/core/SQL/SQLite/select_buffer_by_id.sql similarity index 100% rename from src/core/SQL/SQLite/21/select_buffer_by_id.sql rename to src/core/SQL/SQLite/select_buffer_by_id.sql diff --git a/src/core/SQL/SQLite/21/select_buffer_lastseen_messages.sql b/src/core/SQL/SQLite/select_buffer_lastseen_messages.sql similarity index 100% rename from src/core/SQL/SQLite/21/select_buffer_lastseen_messages.sql rename to src/core/SQL/SQLite/select_buffer_lastseen_messages.sql diff --git a/src/core/SQL/SQLite/21/select_buffer_markerlinemsgids.sql b/src/core/SQL/SQLite/select_buffer_markerlinemsgids.sql similarity index 100% rename from src/core/SQL/SQLite/21/select_buffer_markerlinemsgids.sql rename to src/core/SQL/SQLite/select_buffer_markerlinemsgids.sql diff --git a/src/core/SQL/SQLite/21/select_buffers.sql b/src/core/SQL/SQLite/select_buffers.sql similarity index 100% rename from src/core/SQL/SQLite/21/select_buffers.sql rename to src/core/SQL/SQLite/select_buffers.sql diff --git a/src/core/SQL/SQLite/21/select_buffers_for_merge.sql b/src/core/SQL/SQLite/select_buffers_for_merge.sql similarity index 100% rename from src/core/SQL/SQLite/21/select_buffers_for_merge.sql rename to src/core/SQL/SQLite/select_buffers_for_merge.sql diff --git a/src/core/SQL/SQLite/21/select_buffers_for_network.sql b/src/core/SQL/SQLite/select_buffers_for_network.sql similarity index 100% rename from src/core/SQL/SQLite/21/select_buffers_for_network.sql rename to src/core/SQL/SQLite/select_buffers_for_network.sql diff --git a/src/core/SQL/SQLite/21/select_checkidentity.sql b/src/core/SQL/SQLite/select_checkidentity.sql similarity index 100% rename from src/core/SQL/SQLite/21/select_checkidentity.sql rename to src/core/SQL/SQLite/select_checkidentity.sql diff --git a/src/core/SQL/SQLite/21/select_connected_networks.sql b/src/core/SQL/SQLite/select_connected_networks.sql similarity index 100% rename from src/core/SQL/SQLite/21/select_connected_networks.sql rename to src/core/SQL/SQLite/select_connected_networks.sql diff --git a/src/core/SQL/SQLite/21/select_identities.sql b/src/core/SQL/SQLite/select_identities.sql similarity index 100% rename from src/core/SQL/SQLite/21/select_identities.sql rename to src/core/SQL/SQLite/select_identities.sql diff --git a/src/core/SQL/SQLite/21/select_internaluser.sql b/src/core/SQL/SQLite/select_internaluser.sql similarity index 100% rename from src/core/SQL/SQLite/21/select_internaluser.sql rename to src/core/SQL/SQLite/select_internaluser.sql diff --git a/src/core/SQL/SQLite/21/select_messagesAll.sql b/src/core/SQL/SQLite/select_messagesAll.sql similarity index 100% rename from src/core/SQL/SQLite/21/select_messagesAll.sql rename to src/core/SQL/SQLite/select_messagesAll.sql diff --git a/src/core/SQL/SQLite/21/select_messagesAllNew.sql b/src/core/SQL/SQLite/select_messagesAllNew.sql similarity index 100% rename from src/core/SQL/SQLite/21/select_messagesAllNew.sql rename to src/core/SQL/SQLite/select_messagesAllNew.sql diff --git a/src/core/SQL/SQLite/21/select_messagesNewerThan.sql b/src/core/SQL/SQLite/select_messagesNewerThan.sql similarity index 100% rename from src/core/SQL/SQLite/21/select_messagesNewerThan.sql rename to src/core/SQL/SQLite/select_messagesNewerThan.sql diff --git a/src/core/SQL/SQLite/21/select_messagesNewestK.sql b/src/core/SQL/SQLite/select_messagesNewestK.sql similarity index 100% rename from src/core/SQL/SQLite/21/select_messagesNewestK.sql rename to src/core/SQL/SQLite/select_messagesNewestK.sql diff --git a/src/core/SQL/SQLite/21/select_messagesRange.sql b/src/core/SQL/SQLite/select_messagesRange.sql similarity index 100% rename from src/core/SQL/SQLite/21/select_messagesRange.sql rename to src/core/SQL/SQLite/select_messagesRange.sql diff --git a/src/core/SQL/SQLite/21/select_networkExists.sql b/src/core/SQL/SQLite/select_networkExists.sql similarity index 100% rename from src/core/SQL/SQLite/21/select_networkExists.sql rename to src/core/SQL/SQLite/select_networkExists.sql diff --git a/src/core/SQL/SQLite/21/select_network_awaymsg.sql b/src/core/SQL/SQLite/select_network_awaymsg.sql similarity index 100% rename from src/core/SQL/SQLite/21/select_network_awaymsg.sql rename to src/core/SQL/SQLite/select_network_awaymsg.sql diff --git a/src/core/SQL/SQLite/21/select_network_usermode.sql b/src/core/SQL/SQLite/select_network_usermode.sql similarity index 100% rename from src/core/SQL/SQLite/21/select_network_usermode.sql rename to src/core/SQL/SQLite/select_network_usermode.sql diff --git a/src/core/SQL/SQLite/21/select_networks_for_user.sql b/src/core/SQL/SQLite/select_networks_for_user.sql similarity index 100% rename from src/core/SQL/SQLite/21/select_networks_for_user.sql rename to src/core/SQL/SQLite/select_networks_for_user.sql diff --git a/src/core/SQL/SQLite/21/select_nicks.sql b/src/core/SQL/SQLite/select_nicks.sql similarity index 100% rename from src/core/SQL/SQLite/21/select_nicks.sql rename to src/core/SQL/SQLite/select_nicks.sql diff --git a/src/core/SQL/SQLite/21/select_persistent_channels.sql b/src/core/SQL/SQLite/select_persistent_channels.sql similarity index 100% rename from src/core/SQL/SQLite/21/select_persistent_channels.sql rename to src/core/SQL/SQLite/select_persistent_channels.sql diff --git a/src/core/SQL/SQLite/21/select_servers_for_network.sql b/src/core/SQL/SQLite/select_servers_for_network.sql similarity index 100% rename from src/core/SQL/SQLite/21/select_servers_for_network.sql rename to src/core/SQL/SQLite/select_servers_for_network.sql diff --git a/src/core/SQL/SQLite/21/select_user_setting.sql b/src/core/SQL/SQLite/select_user_setting.sql similarity index 100% rename from src/core/SQL/SQLite/21/select_user_setting.sql rename to src/core/SQL/SQLite/select_user_setting.sql diff --git a/src/core/SQL/SQLite/21/select_userid.sql b/src/core/SQL/SQLite/select_userid.sql similarity index 100% rename from src/core/SQL/SQLite/21/select_userid.sql rename to src/core/SQL/SQLite/select_userid.sql diff --git a/src/core/SQL/SQLite/21/setup_000_quasseluser.sql b/src/core/SQL/SQLite/setup_000_quasseluser.sql similarity index 100% rename from src/core/SQL/SQLite/21/setup_000_quasseluser.sql rename to src/core/SQL/SQLite/setup_000_quasseluser.sql diff --git a/src/core/SQL/SQLite/21/setup_010_sender.sql b/src/core/SQL/SQLite/setup_010_sender.sql similarity index 100% rename from src/core/SQL/SQLite/21/setup_010_sender.sql rename to src/core/SQL/SQLite/setup_010_sender.sql diff --git a/src/core/SQL/SQLite/21/setup_020_network.sql b/src/core/SQL/SQLite/setup_020_network.sql similarity index 100% rename from src/core/SQL/SQLite/21/setup_020_network.sql rename to src/core/SQL/SQLite/setup_020_network.sql diff --git a/src/core/SQL/SQLite/21/setup_030_buffer.sql b/src/core/SQL/SQLite/setup_030_buffer.sql similarity index 100% rename from src/core/SQL/SQLite/21/setup_030_buffer.sql rename to src/core/SQL/SQLite/setup_030_buffer.sql diff --git a/src/core/SQL/SQLite/21/setup_040_buffer_idx.sql b/src/core/SQL/SQLite/setup_040_buffer_idx.sql similarity index 100% rename from src/core/SQL/SQLite/21/setup_040_buffer_idx.sql rename to src/core/SQL/SQLite/setup_040_buffer_idx.sql diff --git a/src/core/SQL/SQLite/21/setup_050_buffer_cname_idx.sql b/src/core/SQL/SQLite/setup_050_buffer_cname_idx.sql similarity index 100% rename from src/core/SQL/SQLite/21/setup_050_buffer_cname_idx.sql rename to src/core/SQL/SQLite/setup_050_buffer_cname_idx.sql diff --git a/src/core/SQL/SQLite/21/setup_060_backlog.sql b/src/core/SQL/SQLite/setup_060_backlog.sql similarity index 100% rename from src/core/SQL/SQLite/21/setup_060_backlog.sql rename to src/core/SQL/SQLite/setup_060_backlog.sql diff --git a/src/core/SQL/SQLite/21/setup_070_coreinfo.sql b/src/core/SQL/SQLite/setup_070_coreinfo.sql similarity index 100% rename from src/core/SQL/SQLite/21/setup_070_coreinfo.sql rename to src/core/SQL/SQLite/setup_070_coreinfo.sql diff --git a/src/core/SQL/SQLite/21/setup_080_ircservers.sql b/src/core/SQL/SQLite/setup_080_ircservers.sql similarity index 100% rename from src/core/SQL/SQLite/21/setup_080_ircservers.sql rename to src/core/SQL/SQLite/setup_080_ircservers.sql diff --git a/src/core/SQL/SQLite/21/setup_090_backlog_idx.sql b/src/core/SQL/SQLite/setup_090_backlog_idx.sql similarity index 100% rename from src/core/SQL/SQLite/21/setup_090_backlog_idx.sql rename to src/core/SQL/SQLite/setup_090_backlog_idx.sql diff --git a/src/core/SQL/SQLite/21/setup_100_backlog_idx2.sql b/src/core/SQL/SQLite/setup_100_backlog_idx2.sql similarity index 100% rename from src/core/SQL/SQLite/21/setup_100_backlog_idx2.sql rename to src/core/SQL/SQLite/setup_100_backlog_idx2.sql diff --git a/src/core/SQL/SQLite/21/setup_110_buffer_user_idx.sql b/src/core/SQL/SQLite/setup_110_buffer_user_idx.sql similarity index 100% rename from src/core/SQL/SQLite/21/setup_110_buffer_user_idx.sql rename to src/core/SQL/SQLite/setup_110_buffer_user_idx.sql diff --git a/src/core/SQL/SQLite/21/setup_120_user_setting.sql b/src/core/SQL/SQLite/setup_120_user_setting.sql similarity index 100% rename from src/core/SQL/SQLite/21/setup_120_user_setting.sql rename to src/core/SQL/SQLite/setup_120_user_setting.sql diff --git a/src/core/SQL/SQLite/21/setup_130_identity.sql b/src/core/SQL/SQLite/setup_130_identity.sql similarity index 100% rename from src/core/SQL/SQLite/21/setup_130_identity.sql rename to src/core/SQL/SQLite/setup_130_identity.sql diff --git a/src/core/SQL/SQLite/21/setup_140_identity_nick.sql b/src/core/SQL/SQLite/setup_140_identity_nick.sql similarity index 100% rename from src/core/SQL/SQLite/21/setup_140_identity_nick.sql rename to src/core/SQL/SQLite/setup_140_identity_nick.sql diff --git a/src/core/SQL/SQLite/21/update_backlog_bufferid.sql b/src/core/SQL/SQLite/update_backlog_bufferid.sql similarity index 100% rename from src/core/SQL/SQLite/21/update_backlog_bufferid.sql rename to src/core/SQL/SQLite/update_backlog_bufferid.sql diff --git a/src/core/SQL/SQLite/21/update_buffer_lastmsgid.sql b/src/core/SQL/SQLite/update_buffer_lastmsgid.sql similarity index 100% rename from src/core/SQL/SQLite/21/update_buffer_lastmsgid.sql rename to src/core/SQL/SQLite/update_buffer_lastmsgid.sql diff --git a/src/core/SQL/SQLite/21/update_buffer_lastseen.sql b/src/core/SQL/SQLite/update_buffer_lastseen.sql similarity index 100% rename from src/core/SQL/SQLite/21/update_buffer_lastseen.sql rename to src/core/SQL/SQLite/update_buffer_lastseen.sql diff --git a/src/core/SQL/SQLite/21/update_buffer_markerlinemsgid.sql b/src/core/SQL/SQLite/update_buffer_markerlinemsgid.sql similarity index 100% rename from src/core/SQL/SQLite/21/update_buffer_markerlinemsgid.sql rename to src/core/SQL/SQLite/update_buffer_markerlinemsgid.sql diff --git a/src/core/SQL/SQLite/21/update_buffer_name.sql b/src/core/SQL/SQLite/update_buffer_name.sql similarity index 100% rename from src/core/SQL/SQLite/21/update_buffer_name.sql rename to src/core/SQL/SQLite/update_buffer_name.sql diff --git a/src/core/SQL/SQLite/21/update_buffer_persistent_channel.sql b/src/core/SQL/SQLite/update_buffer_persistent_channel.sql similarity index 100% rename from src/core/SQL/SQLite/21/update_buffer_persistent_channel.sql rename to src/core/SQL/SQLite/update_buffer_persistent_channel.sql diff --git a/src/core/SQL/SQLite/21/update_buffer_set_channel_key.sql b/src/core/SQL/SQLite/update_buffer_set_channel_key.sql similarity index 100% rename from src/core/SQL/SQLite/21/update_buffer_set_channel_key.sql rename to src/core/SQL/SQLite/update_buffer_set_channel_key.sql diff --git a/src/core/SQL/SQLite/21/update_identity.sql b/src/core/SQL/SQLite/update_identity.sql similarity index 100% rename from src/core/SQL/SQLite/21/update_identity.sql rename to src/core/SQL/SQLite/update_identity.sql diff --git a/src/core/SQL/SQLite/21/update_network.sql b/src/core/SQL/SQLite/update_network.sql similarity index 100% rename from src/core/SQL/SQLite/21/update_network.sql rename to src/core/SQL/SQLite/update_network.sql diff --git a/src/core/SQL/SQLite/21/update_network_connected.sql b/src/core/SQL/SQLite/update_network_connected.sql similarity index 100% rename from src/core/SQL/SQLite/21/update_network_connected.sql rename to src/core/SQL/SQLite/update_network_connected.sql diff --git a/src/core/SQL/SQLite/21/update_network_set_awaymsg.sql b/src/core/SQL/SQLite/update_network_set_awaymsg.sql similarity index 100% rename from src/core/SQL/SQLite/21/update_network_set_awaymsg.sql rename to src/core/SQL/SQLite/update_network_set_awaymsg.sql diff --git a/src/core/SQL/SQLite/21/update_network_set_usermode.sql b/src/core/SQL/SQLite/update_network_set_usermode.sql similarity index 100% rename from src/core/SQL/SQLite/21/update_network_set_usermode.sql rename to src/core/SQL/SQLite/update_network_set_usermode.sql diff --git a/src/core/SQL/SQLite/21/update_user_setting.sql b/src/core/SQL/SQLite/update_user_setting.sql similarity index 100% rename from src/core/SQL/SQLite/21/update_user_setting.sql rename to src/core/SQL/SQLite/update_user_setting.sql diff --git a/src/core/SQL/SQLite/21/update_username.sql b/src/core/SQL/SQLite/update_username.sql similarity index 100% rename from src/core/SQL/SQLite/21/update_username.sql rename to src/core/SQL/SQLite/update_username.sql diff --git a/src/core/SQL/SQLite/21/update_userpassword.sql b/src/core/SQL/SQLite/update_userpassword.sql similarity index 100% rename from src/core/SQL/SQLite/21/update_userpassword.sql rename to src/core/SQL/SQLite/update_userpassword.sql diff --git a/src/core/SQL/SQLite/1/upgrade_000_drop_coreinfo.sql b/src/core/SQL/SQLite/version/1/upgrade_000_drop_coreinfo.sql similarity index 100% rename from src/core/SQL/SQLite/1/upgrade_000_drop_coreinfo.sql rename to src/core/SQL/SQLite/version/1/upgrade_000_drop_coreinfo.sql diff --git a/src/core/SQL/SQLite/1/upgrade_010_create_coreinfo.sql b/src/core/SQL/SQLite/version/1/upgrade_010_create_coreinfo.sql similarity index 100% rename from src/core/SQL/SQLite/1/upgrade_010_create_coreinfo.sql rename to src/core/SQL/SQLite/version/1/upgrade_010_create_coreinfo.sql diff --git a/src/core/SQL/SQLite/1/upgrade_020_update_schemaversion.sql b/src/core/SQL/SQLite/version/1/upgrade_020_update_schemaversion.sql similarity index 100% rename from src/core/SQL/SQLite/1/upgrade_020_update_schemaversion.sql rename to src/core/SQL/SQLite/version/1/upgrade_020_update_schemaversion.sql diff --git a/src/core/SQL/SQLite/10/upgrade_000_switch_to_msgid.sql b/src/core/SQL/SQLite/version/10/upgrade_000_switch_to_msgid.sql similarity index 100% rename from src/core/SQL/SQLite/10/upgrade_000_switch_to_msgid.sql rename to src/core/SQL/SQLite/version/10/upgrade_000_switch_to_msgid.sql diff --git a/src/core/SQL/SQLite/10/upgrade_010_rename_buffer_table.sql b/src/core/SQL/SQLite/version/10/upgrade_010_rename_buffer_table.sql similarity index 100% rename from src/core/SQL/SQLite/10/upgrade_010_rename_buffer_table.sql rename to src/core/SQL/SQLite/version/10/upgrade_010_rename_buffer_table.sql diff --git a/src/core/SQL/SQLite/10/upgrade_020_create_buffer_table.sql b/src/core/SQL/SQLite/version/10/upgrade_020_create_buffer_table.sql similarity index 100% rename from src/core/SQL/SQLite/10/upgrade_020_create_buffer_table.sql rename to src/core/SQL/SQLite/version/10/upgrade_020_create_buffer_table.sql diff --git a/src/core/SQL/SQLite/10/upgrade_030_copy_buffer_table.sql b/src/core/SQL/SQLite/version/10/upgrade_030_copy_buffer_table.sql similarity index 100% rename from src/core/SQL/SQLite/10/upgrade_030_copy_buffer_table.sql rename to src/core/SQL/SQLite/version/10/upgrade_030_copy_buffer_table.sql diff --git a/src/core/SQL/SQLite/10/upgrade_040_drop_buffer_old_table.sql b/src/core/SQL/SQLite/version/10/upgrade_040_drop_buffer_old_table.sql similarity index 100% rename from src/core/SQL/SQLite/10/upgrade_040_drop_buffer_old_table.sql rename to src/core/SQL/SQLite/version/10/upgrade_040_drop_buffer_old_table.sql diff --git a/src/core/SQL/SQLite/11/upgrade_000_create_user_setting.sql b/src/core/SQL/SQLite/version/11/upgrade_000_create_user_setting.sql similarity index 100% rename from src/core/SQL/SQLite/11/upgrade_000_create_user_setting.sql rename to src/core/SQL/SQLite/version/11/upgrade_000_create_user_setting.sql diff --git a/src/core/SQL/SQLite/12/upgrade_000_create_identity.sql b/src/core/SQL/SQLite/version/12/upgrade_000_create_identity.sql similarity index 100% rename from src/core/SQL/SQLite/12/upgrade_000_create_identity.sql rename to src/core/SQL/SQLite/version/12/upgrade_000_create_identity.sql diff --git a/src/core/SQL/SQLite/12/upgrade_010_create_identity_nick.sql b/src/core/SQL/SQLite/version/12/upgrade_010_create_identity_nick.sql similarity index 100% rename from src/core/SQL/SQLite/12/upgrade_010_create_identity_nick.sql rename to src/core/SQL/SQLite/version/12/upgrade_010_create_identity_nick.sql diff --git a/src/core/SQL/SQLite/12/upgrade_020_rename_servertable.sql b/src/core/SQL/SQLite/version/12/upgrade_020_rename_servertable.sql similarity index 100% rename from src/core/SQL/SQLite/12/upgrade_020_rename_servertable.sql rename to src/core/SQL/SQLite/version/12/upgrade_020_rename_servertable.sql diff --git a/src/core/SQL/SQLite/12/upgrade_030_create_ircserver.sql b/src/core/SQL/SQLite/version/12/upgrade_030_create_ircserver.sql similarity index 100% rename from src/core/SQL/SQLite/12/upgrade_030_create_ircserver.sql rename to src/core/SQL/SQLite/version/12/upgrade_030_create_ircserver.sql diff --git a/src/core/SQL/SQLite/12/upgrade_040_copy_ircserver.sql b/src/core/SQL/SQLite/version/12/upgrade_040_copy_ircserver.sql similarity index 100% rename from src/core/SQL/SQLite/12/upgrade_040_copy_ircserver.sql rename to src/core/SQL/SQLite/version/12/upgrade_040_copy_ircserver.sql diff --git a/src/core/SQL/SQLite/12/upgrade_050_drop_ircserverold.sql b/src/core/SQL/SQLite/version/12/upgrade_050_drop_ircserverold.sql similarity index 100% rename from src/core/SQL/SQLite/12/upgrade_050_drop_ircserverold.sql rename to src/core/SQL/SQLite/version/12/upgrade_050_drop_ircserverold.sql diff --git a/src/core/SQL/SQLite/13/upgrade_000_create_buffer_user_idx.sql b/src/core/SQL/SQLite/version/13/upgrade_000_create_buffer_user_idx.sql similarity index 100% rename from src/core/SQL/SQLite/13/upgrade_000_create_buffer_user_idx.sql rename to src/core/SQL/SQLite/version/13/upgrade_000_create_buffer_user_idx.sql diff --git a/src/core/SQL/SQLite/13/upgrade_010_create_buffer_cname_idx.sql b/src/core/SQL/SQLite/version/13/upgrade_010_create_buffer_cname_idx.sql similarity index 100% rename from src/core/SQL/SQLite/13/upgrade_010_create_buffer_cname_idx.sql rename to src/core/SQL/SQLite/version/13/upgrade_010_create_buffer_cname_idx.sql diff --git a/src/core/SQL/SQLite/13/upgrade_020_create_buffer_cname_idx.sql b/src/core/SQL/SQLite/version/13/upgrade_020_create_buffer_cname_idx.sql similarity index 100% rename from src/core/SQL/SQLite/13/upgrade_020_create_buffer_cname_idx.sql rename to src/core/SQL/SQLite/version/13/upgrade_020_create_buffer_cname_idx.sql diff --git a/src/core/SQL/SQLite/14/upgrade_000_rename_networktable.sql b/src/core/SQL/SQLite/version/14/upgrade_000_rename_networktable.sql similarity index 100% rename from src/core/SQL/SQLite/14/upgrade_000_rename_networktable.sql rename to src/core/SQL/SQLite/version/14/upgrade_000_rename_networktable.sql diff --git a/src/core/SQL/SQLite/14/upgrade_010_create_networktable.sql b/src/core/SQL/SQLite/version/14/upgrade_010_create_networktable.sql similarity index 100% rename from src/core/SQL/SQLite/14/upgrade_010_create_networktable.sql rename to src/core/SQL/SQLite/version/14/upgrade_010_create_networktable.sql diff --git a/src/core/SQL/SQLite/14/upgrade_030_copy_networktable.sql b/src/core/SQL/SQLite/version/14/upgrade_030_copy_networktable.sql similarity index 100% rename from src/core/SQL/SQLite/14/upgrade_030_copy_networktable.sql rename to src/core/SQL/SQLite/version/14/upgrade_030_copy_networktable.sql diff --git a/src/core/SQL/SQLite/14/upgrade_040_drop_networkold.sql b/src/core/SQL/SQLite/version/14/upgrade_040_drop_networkold.sql similarity index 100% rename from src/core/SQL/SQLite/14/upgrade_040_drop_networkold.sql rename to src/core/SQL/SQLite/version/14/upgrade_040_drop_networkold.sql diff --git a/src/core/SQL/SQLite/15/upgrade_000_fix_ircservers.sql b/src/core/SQL/SQLite/version/15/upgrade_000_fix_ircservers.sql similarity index 100% rename from src/core/SQL/SQLite/15/upgrade_000_fix_ircservers.sql rename to src/core/SQL/SQLite/version/15/upgrade_000_fix_ircservers.sql diff --git a/src/core/SQL/SQLite/15/upgrade_000_fix_network.sql b/src/core/SQL/SQLite/version/15/upgrade_000_fix_network.sql similarity index 100% rename from src/core/SQL/SQLite/15/upgrade_000_fix_network.sql rename to src/core/SQL/SQLite/version/15/upgrade_000_fix_network.sql diff --git a/src/core/SQL/SQLite/16/upgrade_000_alter_buffer_add_markerlinemsgid.sql b/src/core/SQL/SQLite/version/16/upgrade_000_alter_buffer_add_markerlinemsgid.sql similarity index 100% rename from src/core/SQL/SQLite/16/upgrade_000_alter_buffer_add_markerlinemsgid.sql rename to src/core/SQL/SQLite/version/16/upgrade_000_alter_buffer_add_markerlinemsgid.sql diff --git a/src/core/SQL/SQLite/17/upgrade_000_alter_network_add_sasl.sql b/src/core/SQL/SQLite/version/17/upgrade_000_alter_network_add_sasl.sql similarity index 100% rename from src/core/SQL/SQLite/17/upgrade_000_alter_network_add_sasl.sql rename to src/core/SQL/SQLite/version/17/upgrade_000_alter_network_add_sasl.sql diff --git a/src/core/SQL/SQLite/17/upgrade_001_alter_network_add_sasl.sql b/src/core/SQL/SQLite/version/17/upgrade_001_alter_network_add_sasl.sql similarity index 100% rename from src/core/SQL/SQLite/17/upgrade_001_alter_network_add_sasl.sql rename to src/core/SQL/SQLite/version/17/upgrade_001_alter_network_add_sasl.sql diff --git a/src/core/SQL/SQLite/17/upgrade_002_alter_network_add_sasl.sql b/src/core/SQL/SQLite/version/17/upgrade_002_alter_network_add_sasl.sql similarity index 100% rename from src/core/SQL/SQLite/17/upgrade_002_alter_network_add_sasl.sql rename to src/core/SQL/SQLite/version/17/upgrade_002_alter_network_add_sasl.sql diff --git a/src/core/SQL/SQLite/18/upgrade_000_alter_quasseluser_add_passwordversion.sql b/src/core/SQL/SQLite/version/18/upgrade_000_alter_quasseluser_add_passwordversion.sql similarity index 100% rename from src/core/SQL/SQLite/18/upgrade_000_alter_quasseluser_add_passwordversion.sql rename to src/core/SQL/SQLite/version/18/upgrade_000_alter_quasseluser_add_passwordversion.sql diff --git a/src/core/SQL/SQLite/19/upgrade_000_alter_ircserver_add_sslverify.sql b/src/core/SQL/SQLite/version/19/upgrade_000_alter_ircserver_add_sslverify.sql similarity index 100% rename from src/core/SQL/SQLite/19/upgrade_000_alter_ircserver_add_sslverify.sql rename to src/core/SQL/SQLite/version/19/upgrade_000_alter_ircserver_add_sslverify.sql diff --git a/src/core/SQL/SQLite/2/upgrade_000_drop_buffergroup.sql b/src/core/SQL/SQLite/version/2/upgrade_000_drop_buffergroup.sql similarity index 100% rename from src/core/SQL/SQLite/2/upgrade_000_drop_buffergroup.sql rename to src/core/SQL/SQLite/version/2/upgrade_000_drop_buffergroup.sql diff --git a/src/core/SQL/SQLite/2/upgrade_010_update_schemaversion.sql b/src/core/SQL/SQLite/version/2/upgrade_010_update_schemaversion.sql similarity index 100% rename from src/core/SQL/SQLite/2/upgrade_010_update_schemaversion.sql rename to src/core/SQL/SQLite/version/2/upgrade_010_update_schemaversion.sql diff --git a/src/core/SQL/SQLite/20/upgrade_000_alter_network_add_ratelimit_usecustom.sql b/src/core/SQL/SQLite/version/20/upgrade_000_alter_network_add_ratelimit_usecustom.sql similarity index 100% rename from src/core/SQL/SQLite/20/upgrade_000_alter_network_add_ratelimit_usecustom.sql rename to src/core/SQL/SQLite/version/20/upgrade_000_alter_network_add_ratelimit_usecustom.sql diff --git a/src/core/SQL/SQLite/20/upgrade_001_alter_network_add_ratelimit_burstsize.sql b/src/core/SQL/SQLite/version/20/upgrade_001_alter_network_add_ratelimit_burstsize.sql similarity index 100% rename from src/core/SQL/SQLite/20/upgrade_001_alter_network_add_ratelimit_burstsize.sql rename to src/core/SQL/SQLite/version/20/upgrade_001_alter_network_add_ratelimit_burstsize.sql diff --git a/src/core/SQL/SQLite/20/upgrade_002_alter_network_add_ratelimit_delay.sql b/src/core/SQL/SQLite/version/20/upgrade_002_alter_network_add_ratelimit_delay.sql similarity index 100% rename from src/core/SQL/SQLite/20/upgrade_002_alter_network_add_ratelimit_delay.sql rename to src/core/SQL/SQLite/version/20/upgrade_002_alter_network_add_ratelimit_delay.sql diff --git a/src/core/SQL/SQLite/20/upgrade_003_alter_network_add_ratelimit_unlimited.sql b/src/core/SQL/SQLite/version/20/upgrade_003_alter_network_add_ratelimit_unlimited.sql similarity index 100% rename from src/core/SQL/SQLite/20/upgrade_003_alter_network_add_ratelimit_unlimited.sql rename to src/core/SQL/SQLite/version/20/upgrade_003_alter_network_add_ratelimit_unlimited.sql diff --git a/src/core/SQL/SQLite/21/upgrade_000_alter_buffer_add_lastmsgid.sql b/src/core/SQL/SQLite/version/21/upgrade_000_alter_buffer_add_lastmsgid.sql similarity index 100% rename from src/core/SQL/SQLite/21/upgrade_000_alter_buffer_add_lastmsgid.sql rename to src/core/SQL/SQLite/version/21/upgrade_000_alter_buffer_add_lastmsgid.sql diff --git a/src/core/SQL/SQLite/21/upgrade_001_update_buffer_set_lastmsgid.sql b/src/core/SQL/SQLite/version/21/upgrade_001_update_buffer_set_lastmsgid.sql similarity index 100% rename from src/core/SQL/SQLite/21/upgrade_001_update_buffer_set_lastmsgid.sql rename to src/core/SQL/SQLite/version/21/upgrade_001_update_buffer_set_lastmsgid.sql diff --git a/src/core/SQL/SQLite/21/upgrade_002_update_buffer_fix_lastseenmsgid_over_lastmsgid.sql b/src/core/SQL/SQLite/version/21/upgrade_002_update_buffer_fix_lastseenmsgid_over_lastmsgid.sql similarity index 100% rename from src/core/SQL/SQLite/21/upgrade_002_update_buffer_fix_lastseenmsgid_over_lastmsgid.sql rename to src/core/SQL/SQLite/version/21/upgrade_002_update_buffer_fix_lastseenmsgid_over_lastmsgid.sql diff --git a/src/core/SQL/SQLite/21/upgrade_003_create_table_buffer_new.sql b/src/core/SQL/SQLite/version/21/upgrade_003_create_table_buffer_new.sql similarity index 100% rename from src/core/SQL/SQLite/21/upgrade_003_create_table_buffer_new.sql rename to src/core/SQL/SQLite/version/21/upgrade_003_create_table_buffer_new.sql diff --git a/src/core/SQL/SQLite/21/upgrade_004_insert_into_buffer_new_from_buffer.sql b/src/core/SQL/SQLite/version/21/upgrade_004_insert_into_buffer_new_from_buffer.sql similarity index 100% rename from src/core/SQL/SQLite/21/upgrade_004_insert_into_buffer_new_from_buffer.sql rename to src/core/SQL/SQLite/version/21/upgrade_004_insert_into_buffer_new_from_buffer.sql diff --git a/src/core/SQL/SQLite/21/upgrade_005_drop_table_buffer.sql b/src/core/SQL/SQLite/version/21/upgrade_005_drop_table_buffer.sql similarity index 100% rename from src/core/SQL/SQLite/21/upgrade_005_drop_table_buffer.sql rename to src/core/SQL/SQLite/version/21/upgrade_005_drop_table_buffer.sql diff --git a/src/core/SQL/SQLite/21/upgrade_006_alter_table_buffer_new_rename_to_buffer.sql b/src/core/SQL/SQLite/version/21/upgrade_006_alter_table_buffer_new_rename_to_buffer.sql similarity index 100% rename from src/core/SQL/SQLite/21/upgrade_006_alter_table_buffer_new_rename_to_buffer.sql rename to src/core/SQL/SQLite/version/21/upgrade_006_alter_table_buffer_new_rename_to_buffer.sql diff --git a/src/core/SQL/SQLite/3/upgrade_000_update_backlog_flags.sql b/src/core/SQL/SQLite/version/3/upgrade_000_update_backlog_flags.sql similarity index 100% rename from src/core/SQL/SQLite/3/upgrade_000_update_backlog_flags.sql rename to src/core/SQL/SQLite/version/3/upgrade_000_update_backlog_flags.sql diff --git a/src/core/SQL/SQLite/3/upgrade_010_update_schemaversion.sql b/src/core/SQL/SQLite/version/3/upgrade_010_update_schemaversion.sql similarity index 100% rename from src/core/SQL/SQLite/3/upgrade_010_update_schemaversion.sql rename to src/core/SQL/SQLite/version/3/upgrade_010_update_schemaversion.sql diff --git a/src/core/SQL/SQLite/4/upgrade_000_rename_buffertable.sql b/src/core/SQL/SQLite/version/4/upgrade_000_rename_buffertable.sql similarity index 100% rename from src/core/SQL/SQLite/4/upgrade_000_rename_buffertable.sql rename to src/core/SQL/SQLite/version/4/upgrade_000_rename_buffertable.sql diff --git a/src/core/SQL/SQLite/4/upgrade_010_create_buffertable.sql b/src/core/SQL/SQLite/version/4/upgrade_010_create_buffertable.sql similarity index 100% rename from src/core/SQL/SQLite/4/upgrade_010_create_buffertable.sql rename to src/core/SQL/SQLite/version/4/upgrade_010_create_buffertable.sql diff --git a/src/core/SQL/SQLite/4/upgrade_020_copy_buffertable.sql b/src/core/SQL/SQLite/version/4/upgrade_020_copy_buffertable.sql similarity index 100% rename from src/core/SQL/SQLite/4/upgrade_020_copy_buffertable.sql rename to src/core/SQL/SQLite/version/4/upgrade_020_copy_buffertable.sql diff --git a/src/core/SQL/SQLite/4/upgrade_030_drop_oldbuffertable.sql b/src/core/SQL/SQLite/version/4/upgrade_030_drop_oldbuffertable.sql similarity index 100% rename from src/core/SQL/SQLite/4/upgrade_030_drop_oldbuffertable.sql rename to src/core/SQL/SQLite/version/4/upgrade_030_drop_oldbuffertable.sql diff --git a/src/core/SQL/SQLite/4/upgrade_040_create_buffer_idx.sql b/src/core/SQL/SQLite/version/4/upgrade_040_create_buffer_idx.sql similarity index 100% rename from src/core/SQL/SQLite/4/upgrade_040_create_buffer_idx.sql rename to src/core/SQL/SQLite/version/4/upgrade_040_create_buffer_idx.sql diff --git a/src/core/SQL/SQLite/4/upgrade_050_create_buffer_cname_idx.sql b/src/core/SQL/SQLite/version/4/upgrade_050_create_buffer_cname_idx.sql similarity index 100% rename from src/core/SQL/SQLite/4/upgrade_050_create_buffer_cname_idx.sql rename to src/core/SQL/SQLite/version/4/upgrade_050_create_buffer_cname_idx.sql diff --git a/src/core/SQL/SQLite/5/upgrade_000_rename_networktable.sql b/src/core/SQL/SQLite/version/5/upgrade_000_rename_networktable.sql similarity index 100% rename from src/core/SQL/SQLite/5/upgrade_000_rename_networktable.sql rename to src/core/SQL/SQLite/version/5/upgrade_000_rename_networktable.sql diff --git a/src/core/SQL/SQLite/5/upgrade_010_create_newnetworktable.sql b/src/core/SQL/SQLite/version/5/upgrade_010_create_newnetworktable.sql similarity index 100% rename from src/core/SQL/SQLite/5/upgrade_010_create_newnetworktable.sql rename to src/core/SQL/SQLite/version/5/upgrade_010_create_newnetworktable.sql diff --git a/src/core/SQL/SQLite/5/upgrade_020_copy_networktable.sql b/src/core/SQL/SQLite/version/5/upgrade_020_copy_networktable.sql similarity index 100% rename from src/core/SQL/SQLite/5/upgrade_020_copy_networktable.sql rename to src/core/SQL/SQLite/version/5/upgrade_020_copy_networktable.sql diff --git a/src/core/SQL/SQLite/5/upgrade_030_drop_oldnetworktable.sql b/src/core/SQL/SQLite/version/5/upgrade_030_drop_oldnetworktable.sql similarity index 100% rename from src/core/SQL/SQLite/5/upgrade_030_drop_oldnetworktable.sql rename to src/core/SQL/SQLite/version/5/upgrade_030_drop_oldnetworktable.sql diff --git a/src/core/SQL/SQLite/5/upgrade_180_create_ircservers.sql b/src/core/SQL/SQLite/version/5/upgrade_180_create_ircservers.sql similarity index 100% rename from src/core/SQL/SQLite/5/upgrade_180_create_ircservers.sql rename to src/core/SQL/SQLite/version/5/upgrade_180_create_ircservers.sql diff --git a/src/core/SQL/SQLite/6/upgrade_000_alter_buffertable.sql b/src/core/SQL/SQLite/version/6/upgrade_000_alter_buffertable.sql similarity index 100% rename from src/core/SQL/SQLite/6/upgrade_000_alter_buffertable.sql rename to src/core/SQL/SQLite/version/6/upgrade_000_alter_buffertable.sql diff --git a/src/core/SQL/SQLite/6/upgrade_010_set_statusbuffertype.sql b/src/core/SQL/SQLite/version/6/upgrade_010_set_statusbuffertype.sql similarity index 100% rename from src/core/SQL/SQLite/6/upgrade_010_set_statusbuffertype.sql rename to src/core/SQL/SQLite/version/6/upgrade_010_set_statusbuffertype.sql diff --git a/src/core/SQL/SQLite/6/upgrade_020_set_channelbuffertype.sql b/src/core/SQL/SQLite/version/6/upgrade_020_set_channelbuffertype.sql similarity index 100% rename from src/core/SQL/SQLite/6/upgrade_020_set_channelbuffertype.sql rename to src/core/SQL/SQLite/version/6/upgrade_020_set_channelbuffertype.sql diff --git a/src/core/SQL/SQLite/6/upgrade_030_set_querybuffertype.sql b/src/core/SQL/SQLite/version/6/upgrade_030_set_querybuffertype.sql similarity index 100% rename from src/core/SQL/SQLite/6/upgrade_030_set_querybuffertype.sql rename to src/core/SQL/SQLite/version/6/upgrade_030_set_querybuffertype.sql diff --git a/src/core/SQL/SQLite/6/upgrade_040_update_msgtype.sql b/src/core/SQL/SQLite/version/6/upgrade_040_update_msgtype.sql similarity index 100% rename from src/core/SQL/SQLite/6/upgrade_040_update_msgtype.sql rename to src/core/SQL/SQLite/version/6/upgrade_040_update_msgtype.sql diff --git a/src/core/SQL/SQLite/6/upgrade_050_update_msgtype.sql b/src/core/SQL/SQLite/version/6/upgrade_050_update_msgtype.sql similarity index 100% rename from src/core/SQL/SQLite/6/upgrade_050_update_msgtype.sql rename to src/core/SQL/SQLite/version/6/upgrade_050_update_msgtype.sql diff --git a/src/core/SQL/SQLite/6/upgrade_060_update_msgtype.sql b/src/core/SQL/SQLite/version/6/upgrade_060_update_msgtype.sql similarity index 100% rename from src/core/SQL/SQLite/6/upgrade_060_update_msgtype.sql rename to src/core/SQL/SQLite/version/6/upgrade_060_update_msgtype.sql diff --git a/src/core/SQL/SQLite/6/upgrade_070_update_msgtype.sql b/src/core/SQL/SQLite/version/6/upgrade_070_update_msgtype.sql similarity index 100% rename from src/core/SQL/SQLite/6/upgrade_070_update_msgtype.sql rename to src/core/SQL/SQLite/version/6/upgrade_070_update_msgtype.sql diff --git a/src/core/SQL/SQLite/6/upgrade_080_update_msgtype.sql b/src/core/SQL/SQLite/version/6/upgrade_080_update_msgtype.sql similarity index 100% rename from src/core/SQL/SQLite/6/upgrade_080_update_msgtype.sql rename to src/core/SQL/SQLite/version/6/upgrade_080_update_msgtype.sql diff --git a/src/core/SQL/SQLite/6/upgrade_090_update_msgtype.sql b/src/core/SQL/SQLite/version/6/upgrade_090_update_msgtype.sql similarity index 100% rename from src/core/SQL/SQLite/6/upgrade_090_update_msgtype.sql rename to src/core/SQL/SQLite/version/6/upgrade_090_update_msgtype.sql diff --git a/src/core/SQL/SQLite/6/upgrade_100_update_msgtype.sql b/src/core/SQL/SQLite/version/6/upgrade_100_update_msgtype.sql similarity index 100% rename from src/core/SQL/SQLite/6/upgrade_100_update_msgtype.sql rename to src/core/SQL/SQLite/version/6/upgrade_100_update_msgtype.sql diff --git a/src/core/SQL/SQLite/6/upgrade_110_update_msgtype.sql b/src/core/SQL/SQLite/version/6/upgrade_110_update_msgtype.sql similarity index 100% rename from src/core/SQL/SQLite/6/upgrade_110_update_msgtype.sql rename to src/core/SQL/SQLite/version/6/upgrade_110_update_msgtype.sql diff --git a/src/core/SQL/SQLite/6/upgrade_120_update_msgtype.sql b/src/core/SQL/SQLite/version/6/upgrade_120_update_msgtype.sql similarity index 100% rename from src/core/SQL/SQLite/6/upgrade_120_update_msgtype.sql rename to src/core/SQL/SQLite/version/6/upgrade_120_update_msgtype.sql diff --git a/src/core/SQL/SQLite/6/upgrade_130_update_msgtype.sql b/src/core/SQL/SQLite/version/6/upgrade_130_update_msgtype.sql similarity index 100% rename from src/core/SQL/SQLite/6/upgrade_130_update_msgtype.sql rename to src/core/SQL/SQLite/version/6/upgrade_130_update_msgtype.sql diff --git a/src/core/SQL/SQLite/6/upgrade_140_update_msgtype.sql b/src/core/SQL/SQLite/version/6/upgrade_140_update_msgtype.sql similarity index 100% rename from src/core/SQL/SQLite/6/upgrade_140_update_msgtype.sql rename to src/core/SQL/SQLite/version/6/upgrade_140_update_msgtype.sql diff --git a/src/core/SQL/SQLite/6/upgrade_150_update_msgtype.sql b/src/core/SQL/SQLite/version/6/upgrade_150_update_msgtype.sql similarity index 100% rename from src/core/SQL/SQLite/6/upgrade_150_update_msgtype.sql rename to src/core/SQL/SQLite/version/6/upgrade_150_update_msgtype.sql diff --git a/src/core/SQL/SQLite/6/upgrade_160_update_msgtype.sql b/src/core/SQL/SQLite/version/6/upgrade_160_update_msgtype.sql similarity index 100% rename from src/core/SQL/SQLite/6/upgrade_160_update_msgtype.sql rename to src/core/SQL/SQLite/version/6/upgrade_160_update_msgtype.sql diff --git a/src/core/SQL/SQLite/7/upgrade_000_rename_networktable.sql b/src/core/SQL/SQLite/version/7/upgrade_000_rename_networktable.sql similarity index 100% rename from src/core/SQL/SQLite/7/upgrade_000_rename_networktable.sql rename to src/core/SQL/SQLite/version/7/upgrade_000_rename_networktable.sql diff --git a/src/core/SQL/SQLite/7/upgrade_010_create_newnetworktable.sql b/src/core/SQL/SQLite/version/7/upgrade_010_create_newnetworktable.sql similarity index 100% rename from src/core/SQL/SQLite/7/upgrade_010_create_newnetworktable.sql rename to src/core/SQL/SQLite/version/7/upgrade_010_create_newnetworktable.sql diff --git a/src/core/SQL/SQLite/7/upgrade_020_copy_networktable.sql b/src/core/SQL/SQLite/version/7/upgrade_020_copy_networktable.sql similarity index 100% rename from src/core/SQL/SQLite/7/upgrade_020_copy_networktable.sql rename to src/core/SQL/SQLite/version/7/upgrade_020_copy_networktable.sql diff --git a/src/core/SQL/SQLite/7/upgrade_030_drop_oldnetworktable.sql b/src/core/SQL/SQLite/version/7/upgrade_030_drop_oldnetworktable.sql similarity index 100% rename from src/core/SQL/SQLite/7/upgrade_030_drop_oldnetworktable.sql rename to src/core/SQL/SQLite/version/7/upgrade_030_drop_oldnetworktable.sql diff --git a/src/core/SQL/SQLite/7/upgrade_040_alter_buffer_add_lastseen.sql b/src/core/SQL/SQLite/version/7/upgrade_040_alter_buffer_add_lastseen.sql similarity index 100% rename from src/core/SQL/SQLite/7/upgrade_040_alter_buffer_add_lastseen.sql rename to src/core/SQL/SQLite/version/7/upgrade_040_alter_buffer_add_lastseen.sql diff --git a/src/core/SQL/SQLite/8/upgrade_000_alter_network_add_connected.sql b/src/core/SQL/SQLite/version/8/upgrade_000_alter_network_add_connected.sql similarity index 100% rename from src/core/SQL/SQLite/8/upgrade_000_alter_network_add_connected.sql rename to src/core/SQL/SQLite/version/8/upgrade_000_alter_network_add_connected.sql diff --git a/src/core/SQL/SQLite/8/upgrade_010_alter_buffer_add_key.sql b/src/core/SQL/SQLite/version/8/upgrade_010_alter_buffer_add_key.sql similarity index 100% rename from src/core/SQL/SQLite/8/upgrade_010_alter_buffer_add_key.sql rename to src/core/SQL/SQLite/version/8/upgrade_010_alter_buffer_add_key.sql diff --git a/src/core/SQL/SQLite/8/upgrade_020_alter_buffer_add_joined.sql b/src/core/SQL/SQLite/version/8/upgrade_020_alter_buffer_add_joined.sql similarity index 100% rename from src/core/SQL/SQLite/8/upgrade_020_alter_buffer_add_joined.sql rename to src/core/SQL/SQLite/version/8/upgrade_020_alter_buffer_add_joined.sql diff --git a/src/core/SQL/SQLite/8/upgrade_030_update_buffer_set_joined_for_channels.sql b/src/core/SQL/SQLite/version/8/upgrade_030_update_buffer_set_joined_for_channels.sql similarity index 100% rename from src/core/SQL/SQLite/8/upgrade_030_update_buffer_set_joined_for_channels.sql rename to src/core/SQL/SQLite/version/8/upgrade_030_update_buffer_set_joined_for_channels.sql diff --git a/src/core/SQL/SQLite/9/upgrade_000_create_backlog_idx.sql b/src/core/SQL/SQLite/version/9/upgrade_000_create_backlog_idx.sql similarity index 100% rename from src/core/SQL/SQLite/9/upgrade_000_create_backlog_idx.sql rename to src/core/SQL/SQLite/version/9/upgrade_000_create_backlog_idx.sql diff --git a/src/core/SQL/SQLite/9/upgrade_010_create_backlog_idx2.sql b/src/core/SQL/SQLite/version/9/upgrade_010_create_backlog_idx2.sql similarity index 100% rename from src/core/SQL/SQLite/9/upgrade_010_create_backlog_idx2.sql rename to src/core/SQL/SQLite/version/9/upgrade_010_create_backlog_idx2.sql diff --git a/src/core/SQL/SQLite/9/upgrade_020_create_buffer_idx.sql b/src/core/SQL/SQLite/version/9/upgrade_020_create_buffer_idx.sql similarity index 100% rename from src/core/SQL/SQLite/9/upgrade_020_create_buffer_idx.sql rename to src/core/SQL/SQLite/version/9/upgrade_020_create_buffer_idx.sql diff --git a/src/core/SQL/updateSQLResource.sh b/src/core/SQL/updateSQLResource.sh index e5c99e46..83a93669 100755 --- a/src/core/SQL/updateSQLResource.sh +++ b/src/core/SQL/updateSQLResource.sh @@ -29,18 +29,28 @@ cat > "$SQL_RES_FILE" < EOF -# In a subshell, change to the SQL directory so find output remains consistent, +# In a subshell, use C locale to sort consistently regardless of +# language, change to SQL directory so find output stays consistent, # then... # Find all files with a .sql ending... # | ...sort the results by version # | ...modify the beginning to change '.[...]' into ' ./SQL[...]' (add the directory path back) # ...and modify the end to add '[...]' # | ...append to the resource file. -(cd "$SCRIPT_DIR" ; find . -name "*.sql" | sort -t/ -k2,2 -k3n | sed -e "s/^./ .\/$SQL_DIR_NAME/g" -e "s/$/<\/file>/g" >> "$SQL_RES_FILE" ) +(export LC_ALL="C" ; cd "$SCRIPT_DIR" ; find . -name "*.sql" | sort --field-separator=/ --key=2,2 --key=4n | sed -e "s/^./ .\/$SQL_DIR_NAME/g" -e "s/$/<\/file>/g" >> "$SQL_RES_FILE" ) # Newer versions of sort support a "--version-sort" flag to naturally sort. # Unfortunately, some supported platforms don't yet have that version. -# For now, "-t/ -k2,2 -k3n" does -almost- the same thing (there's a difference -# when sorting periods versus underscores). +# For now, "--field-separator=/ --key=2,2 --key=4n" does -almost- the same +# thing (there's a difference when sorting periods versus underscores). +# +# Further explanation for sort command: +# --field-separator=/ +# > Separate fields by "/" +# --key=2,2 +# > Sort by the second field, i.e. "SQLite" or "Postgres" +# --key=4n +# > Sort by the fourth field using numeric comparison +# (e.g. the "##" in "SQL/[database]/versions/##") # Add the Qt resource footer cat >> "$SQL_RES_FILE" < ALTER TABLE ircserver # > ADD COLUMN test [additional column-specific details] # -# 4. Create a pair of migration scripts for moving from SQLite to PostgreSQL +# 4. Update the pair of migration scripts for moving from SQLite to PostgreSQL # # [Example] Modifying the 'ircserver' table to add column 'test' -# > Modify 'SQLite/##/migrate_read_ircserver.sql' to select from new column -# > Modify 'PostgreSQL/##/migrate_write_ircserver.sql' to insert to new column +# > Modify 'SQLite/migrate_read_ircserver.sql' to select from new column +# > Modify 'PostgreSQL/migrate_write_ircserver.sql' to insert to new column # # 5. Update the SQL resource file; re-run CMake if needed # # The easy way: run "updateSQLResource.sh" in this directory. # # The manual way: -# Add the new SQL queries to 'src/core/sql.qrc', update all existing files. +# Add the new SQL queries to 'src/core/sql.qrc', update all changed existing +# files. # # [Example] Modifying the 'ircserver' table to add column 'test' -# > Add the new upgrade script... -# ./SQL/SQLite/19/upgrade_000_alter_ircserver_add_test.sql -# ./SQL/PostgreSQL/18/upgrade_000_alter_ircserver_add_test.sql -# > Find/replace all non-upgrade scripts from the old schema number to new one -# ./SQL/SQLite/[18->19]/update_buffer_persistent_channel.sql -# ./SQL/PostgreSQL/[17->18]/update_buffer_persistent_channel.sql +# > Add the new upgrade scripts... +# ./SQL/SQLite/version/19/upgrade_000_alter_ircserver_add_test.sql +# ./SQL/PostgreSQL/version/18/upgrade_000_alter_ircserver_add_test.sql +# > Add/update non-upgrade scripts, if any... +# ./SQL/SQLite/update_buffer_persistent_channel.sql +# ./SQL/PostgreSQL/update_buffer_persistent_channel.sql # (etc) # # 6. Update the migration logic in 'src/core/abstractsqlstorage.h', and the @@ -87,6 +93,51 @@ # # 9. Test everything! Upgrade, migrate, new setups, new client/old core, # old client/new core, etc. +# +# More specifically, you likely should try the following combinations, +# especially if you change the protocol. Check if any data or settings get +# lost or corrupted, or if anything unusual shows up in the log. +# +# [Mac/Linux] +# Fresh configuration (reset the database and settings) +# > SQLite +# > New core, new client +# > New core, old client +# > Old core, new client +# > New monolithic (combined core/client build) +# > Postgres +# > New core, new client +# > New core, old client +# > Old core, new client +# Migration (set up SQLite, then --select-backend PostgreSQL) +# > SQLite -> Postgres, new core, new client +# Upgrading existing (set up a copy from 'master', then build your branch) +# > SQLite +# > Old -> new core +# > Old monolithic -> new monolithic +# > Postgres +# > Old -> new core +# +# [Windows] +# Fresh configuration (reset the database and settings) +# > SQLite +# > New core, new client +# > New core, old client +# > Old core, new client +# > New monolithic (combined core/client build) +# Upgrading existing (set up a copy from 'master', then build your branch) +# > SQLite +# > Old -> new core +# > Old monolithic -> new monolithic +# (If someone figures out how Postgres runs on Windows with Quassel, please +# update this comment) +# +# Yes, this looks excessive, and maybe it is. But it's easy to overlook +# some minor typo that breaks the client/core for a certain configuration. +# People may get unhappy and rioting might happen in the streets. And we don't +# want that, do we? +# +# Thank you for reading this guide and good luck with your changes! TARGET_DIR="$1" # If not specified, assume current directory @@ -95,25 +146,40 @@ if [ ! "$TARGET_DIR" ]; then fi if [[ ! -d "$TARGET_DIR" ]]; then - echo "No such directory '$TARGET_DIR'" + echo "No such directory '$TARGET_DIR'" >&2 exit 1 fi -cd "$TARGET_DIR" +# Find out the name of the target directory to offer some guidance later. +TARGET_DB_NAME=$(basename "$TARGET_DIR") + +# Upgrade scripts are stored in the 'version' subdirectory, e.g. +# 'SQL/[database]/version/##'. +cd "$TARGET_DIR/version" # Grab the current schema version CURRENT_VERSION=$(ls | sort -n | tail -n1) if [ ! $CURRENT_VERSION ]; then - echo "No previous schema found to upgrade from" + echo "No previous schema found to upgrade from" >&2 exit 2 fi # Increment by one ((NEW_VERSION=$CURRENT_VERSION + 1)) -# Create the new schema directory, add the directory, and move all files over... +# Create the new schema directory. mkdir "$NEW_VERSION" -git add "$NEW_VERSION" -# ...except for 'upgrade_' scripts. -find "$CURRENT_VERSION" -maxdepth 1 -type f \! -name "upgrade_*" \! -name ".*" -exec git mv {} "$NEW_VERSION" \; +# Git doesn't track empty folders, no need for 'git add "$NEW_VERSION"'. + +echo "New schema version '$TARGET_DB_NAME/version/$NEW_VERSION' created." >&2 +echo "Create any needed 'upgrade_[...].sql' scripts in this folder." >&2 + +# Don't move any files over. Schema version upgrade scripts are now stored +# independently of the main SQL files in order to make the repository history +# more useful and easier to work with. + +# Granted, this script doesn't do anything one couldn't easily manually do. +# I'd argue that's a good thing. Though as this script offers documentation +# and guidance for contributors new to the database schema system as well as +# helping migrate those used to the older method, it seems worthwhile keeping. diff --git a/src/core/abstractsqlstorage.cpp b/src/core/abstractsqlstorage.cpp index a59b4c15..c100d4ef 100644 --- a/src/core/abstractsqlstorage.cpp +++ b/src/core/abstractsqlstorage.cpp @@ -151,10 +151,20 @@ Storage::State AbstractSqlStorage::init(const QVariantMap &settings) QString AbstractSqlStorage::queryString(const QString &queryName, int version) { - if (version == 0) - version = schemaVersion(); + QFileInfo queryInfo; + + // The current schema is stored in the root folder, while upgrade queries are stored in the + // 'versions/##' subfolders. + if (version == 0) { + // Use the current SQL schema, not a versioned request + queryInfo = QFileInfo(QString(":/SQL/%1/%2.sql").arg(displayName()).arg(queryName)); + // If version is needed later, get it via version = schemaVersion(); + } else { + // Use the specified schema version, not the general folder + queryInfo = QFileInfo(QString(":/SQL/%1/version/%2/%3.sql") + .arg(displayName()).arg(version).arg(queryName)); + } - QFileInfo queryInfo(QString(":/SQL/%1/%2/%3.sql").arg(displayName()).arg(version).arg(queryName)); if (!queryInfo.exists() || !queryInfo.isFile() || !queryInfo.isReadable()) { qCritical() << "Unable to read SQL-Query" << queryName << "for engine" << displayName(); return QString(); @@ -173,7 +183,8 @@ QString AbstractSqlStorage::queryString(const QString &queryName, int version) QStringList AbstractSqlStorage::setupQueries() { QStringList queries; - QDir dir = QDir(QString(":/SQL/%1/%2/").arg(displayName()).arg(schemaVersion())); + // The current schema is stored in the root folder, including setup scripts. + QDir dir = QDir(QString(":/SQL/%1/").arg(displayName())); foreach(QFileInfo fileInfo, dir.entryInfoList(QStringList() << "setup*", QDir::NoFilter, QDir::Name)) { queries << queryString(fileInfo.baseName()); } @@ -211,7 +222,8 @@ bool AbstractSqlStorage::setup(const QVariantMap &settings) QStringList AbstractSqlStorage::upgradeQueries(int version) { QStringList queries; - QDir dir = QDir(QString(":/SQL/%1/%2/").arg(displayName()).arg(version)); + // Upgrade queries are stored in the 'version/##' subfolders. + QDir dir = QDir(QString(":/SQL/%1/version/%2/").arg(displayName()).arg(version)); foreach(QFileInfo fileInfo, dir.entryInfoList(QStringList() << "upgrade*", QDir::NoFilter, QDir::Name)) { queries << queryString(fileInfo.baseName(), version); } @@ -248,7 +260,8 @@ int AbstractSqlStorage::schemaVersion() int version; bool ok; - QDir dir = QDir(":/SQL/" + displayName()); + // Schema versions are stored in the 'version/##' subfolders. + QDir dir = QDir(QString(":/SQL/%1/version/").arg(displayName())); foreach(QFileInfo fileInfo, dir.entryInfoList()) { if (!fileInfo.isDir()) continue; diff --git a/src/core/abstractsqlstorage.h b/src/core/abstractsqlstorage.h index fc1f67e4..7f8e38f4 100644 --- a/src/core/abstractsqlstorage.h +++ b/src/core/abstractsqlstorage.h @@ -50,8 +50,24 @@ protected: QSqlDatabase logDb(); - QString queryString(const QString &queryName, int version); - inline QString queryString(const QString &queryName) { return queryString(queryName, 0); } + /** + * Fetch an SQL query string by name and optional schema version + * + * Loads the named SQL query from the built-in SQL resource collection, returning it as a + * string. If a version is specified, it'll be loaded from the schema version-specific folder + * instead. + * + * @see schemaVersion() + * + * @param[in] queryName File name of the SQL query, minus the .sql extension + * @param[in] version + * @parblock + * SQL schema version; if 0, fetches from current version, otherwise loads from the specified + * schema version instead of the current schema files. + * @endparblock + * @return String with the requested SQL query, ready for parameter substitution + */ + QString queryString(const QString &queryName, int version = 0); QStringList setupQueries(); diff --git a/src/core/sql.qrc b/src/core/sql.qrc index 0ac40d9e..1ce6c88e 100644 --- a/src/core/sql.qrc +++ b/src/core/sql.qrc @@ -1,275 +1,275 @@ - ./SQL/PostgreSQL/15/upgrade_000_alter_buffer_add_markerlinemsgid.sql - ./SQL/PostgreSQL/16/upgrade_000_alter_network_add_sasl.sql - ./SQL/PostgreSQL/17/upgrade_000_alter_quasseluser_add_passwordversion.sql - ./SQL/PostgreSQL/18/upgrade_000_alter_ircserver_add_sslverify.sql - ./SQL/PostgreSQL/19/upgrade_000_alter_network_add_ratelimit_usecustom.sql - ./SQL/PostgreSQL/19/upgrade_001_alter_network_add_ratelimit_burstsize.sql - ./SQL/PostgreSQL/19/upgrade_002_alter_network_add_ratelimit_delay.sql - ./SQL/PostgreSQL/19/upgrade_003_alter_network_add_ratelimit_unlimited.sql - ./SQL/PostgreSQL/20/delete_backlog_by_uid.sql - ./SQL/PostgreSQL/20/delete_backlog_for_buffer.sql - ./SQL/PostgreSQL/20/delete_backlog_for_network.sql - ./SQL/PostgreSQL/20/delete_buffer_for_bufferid.sql - ./SQL/PostgreSQL/20/delete_buffers_by_uid.sql - ./SQL/PostgreSQL/20/delete_buffers_for_network.sql - ./SQL/PostgreSQL/20/delete_identity.sql - ./SQL/PostgreSQL/20/delete_ircservers_for_network.sql - ./SQL/PostgreSQL/20/delete_networks_by_uid.sql - ./SQL/PostgreSQL/20/delete_network.sql - ./SQL/PostgreSQL/20/delete_nicks.sql - ./SQL/PostgreSQL/20/delete_quasseluser.sql - ./SQL/PostgreSQL/20/insert_buffer.sql - ./SQL/PostgreSQL/20/insert_identity.sql - ./SQL/PostgreSQL/20/insert_message.sql - ./SQL/PostgreSQL/20/insert_network.sql - ./SQL/PostgreSQL/20/insert_nick.sql - ./SQL/PostgreSQL/20/insert_quasseluser.sql - ./SQL/PostgreSQL/20/insert_sender.sql - ./SQL/PostgreSQL/20/insert_server.sql - ./SQL/PostgreSQL/20/insert_user_setting.sql - ./SQL/PostgreSQL/20/migrate_write_backlog.sql - ./SQL/PostgreSQL/20/migrate_write_buffer.sql - ./SQL/PostgreSQL/20/migrate_write_identity_nick.sql - ./SQL/PostgreSQL/20/migrate_write_identity.sql - ./SQL/PostgreSQL/20/migrate_write_ircserver.sql - ./SQL/PostgreSQL/20/migrate_write_network.sql - ./SQL/PostgreSQL/20/migrate_write_quasseluser.sql - ./SQL/PostgreSQL/20/migrate_write_sender.sql - ./SQL/PostgreSQL/20/migrate_write_usersetting.sql - ./SQL/PostgreSQL/20/select_authuser.sql - ./SQL/PostgreSQL/20/select_buffer_by_id.sql - ./SQL/PostgreSQL/20/select_bufferByName.sql - ./SQL/PostgreSQL/20/select_bufferExists.sql - ./SQL/PostgreSQL/20/select_buffer_lastseen_messages.sql - ./SQL/PostgreSQL/20/select_buffer_markerlinemsgids.sql - ./SQL/PostgreSQL/20/select_buffers_for_network.sql - ./SQL/PostgreSQL/20/select_buffers.sql - ./SQL/PostgreSQL/20/select_checkidentity.sql - ./SQL/PostgreSQL/20/select_connected_networks.sql - ./SQL/PostgreSQL/20/select_identities.sql - ./SQL/PostgreSQL/20/select_internaluser.sql - ./SQL/PostgreSQL/20/select_messagesAllNew.sql - ./SQL/PostgreSQL/20/select_messagesAll.sql - ./SQL/PostgreSQL/20/select_messagesNewerThan.sql - ./SQL/PostgreSQL/20/select_messagesNewestK.sql - ./SQL/PostgreSQL/20/select_messagesRange.sql - ./SQL/PostgreSQL/20/select_network_awaymsg.sql - ./SQL/PostgreSQL/20/select_networkExists.sql - ./SQL/PostgreSQL/20/select_networks_for_user.sql - ./SQL/PostgreSQL/20/select_network_usermode.sql - ./SQL/PostgreSQL/20/select_nicks.sql - ./SQL/PostgreSQL/20/select_persistent_channels.sql - ./SQL/PostgreSQL/20/select_senderid.sql - ./SQL/PostgreSQL/20/select_servers_for_network.sql - ./SQL/PostgreSQL/20/select_userid.sql - ./SQL/PostgreSQL/20/select_user_setting.sql - ./SQL/PostgreSQL/20/setup_000_quasseluser.sql - ./SQL/PostgreSQL/20/setup_010_sender.sql - ./SQL/PostgreSQL/20/setup_020_identity.sql - ./SQL/PostgreSQL/20/setup_030_identity_nick.sql - ./SQL/PostgreSQL/20/setup_040_network.sql - ./SQL/PostgreSQL/20/setup_050_buffer.sql - ./SQL/PostgreSQL/20/setup_060_backlog.sql - ./SQL/PostgreSQL/20/setup_070_coreinfo.sql - ./SQL/PostgreSQL/20/setup_080_ircservers.sql - ./SQL/PostgreSQL/20/setup_090_backlog_idx.sql - ./SQL/PostgreSQL/20/setup_100_user_setting.sql - ./SQL/PostgreSQL/20/setup_110_alter_sender_seq.sql - ./SQL/PostgreSQL/20/setup_120_alter_messageid_seq.sql - ./SQL/PostgreSQL/20/setup_130_function_lastmsgid.sql - ./SQL/PostgreSQL/20/update_backlog_bufferid.sql - ./SQL/PostgreSQL/20/update_buffer_lastmsgid.sql - ./SQL/PostgreSQL/20/update_buffer_lastseen.sql - ./SQL/PostgreSQL/20/update_buffer_markerlinemsgid.sql - ./SQL/PostgreSQL/20/update_buffer_name.sql - ./SQL/PostgreSQL/20/update_buffer_persistent_channel.sql - ./SQL/PostgreSQL/20/update_buffer_set_channel_key.sql - ./SQL/PostgreSQL/20/update_identity.sql - ./SQL/PostgreSQL/20/update_network_connected.sql - ./SQL/PostgreSQL/20/update_network_set_awaymsg.sql - ./SQL/PostgreSQL/20/update_network_set_usermode.sql - ./SQL/PostgreSQL/20/update_network.sql - ./SQL/PostgreSQL/20/update_username.sql - ./SQL/PostgreSQL/20/update_userpassword.sql - ./SQL/PostgreSQL/20/update_user_setting.sql - ./SQL/PostgreSQL/20/upgrade_000_alter_buffer_add_lastmsgid.sql - ./SQL/PostgreSQL/20/upgrade_001_add_function_populate_lastmsgid.sql - ./SQL/PostgreSQL/20/upgrade_002_run_function_populate_lastmsgid.sql - ./SQL/PostgreSQL/20/upgrade_003_correct_bad_lastseenmsgid.sql - ./SQL/PostgreSQL/20/upgrade_004_add_lastseenmsgid_constraint.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 - ./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 - ./SQL/SQLite/3/upgrade_010_update_schemaversion.sql - ./SQL/SQLite/4/upgrade_000_rename_buffertable.sql - ./SQL/SQLite/4/upgrade_010_create_buffertable.sql - ./SQL/SQLite/4/upgrade_020_copy_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/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_030_drop_oldnetworktable.sql - ./SQL/SQLite/5/upgrade_180_create_ircservers.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/7/upgrade_000_rename_networktable.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/8/upgrade_000_alter_network_add_connected.sql - ./SQL/SQLite/8/upgrade_010_alter_buffer_add_key.sql - ./SQL/SQLite/8/upgrade_020_alter_buffer_add_joined.sql - ./SQL/SQLite/8/upgrade_030_update_buffer_set_joined_for_channels.sql - ./SQL/SQLite/9/upgrade_000_create_backlog_idx.sql - ./SQL/SQLite/9/upgrade_010_create_backlog_idx2.sql - ./SQL/SQLite/9/upgrade_020_create_buffer_idx.sql - ./SQL/SQLite/10/upgrade_000_switch_to_msgid.sql - ./SQL/SQLite/10/upgrade_010_rename_buffer_table.sql - ./SQL/SQLite/10/upgrade_020_create_buffer_table.sql - ./SQL/SQLite/10/upgrade_030_copy_buffer_table.sql - ./SQL/SQLite/10/upgrade_040_drop_buffer_old_table.sql - ./SQL/SQLite/11/upgrade_000_create_user_setting.sql - ./SQL/SQLite/12/upgrade_000_create_identity.sql - ./SQL/SQLite/12/upgrade_010_create_identity_nick.sql - ./SQL/SQLite/12/upgrade_020_rename_servertable.sql - ./SQL/SQLite/12/upgrade_030_create_ircserver.sql - ./SQL/SQLite/12/upgrade_040_copy_ircserver.sql - ./SQL/SQLite/12/upgrade_050_drop_ircserverold.sql - ./SQL/SQLite/13/upgrade_000_create_buffer_user_idx.sql - ./SQL/SQLite/13/upgrade_010_create_buffer_cname_idx.sql - ./SQL/SQLite/13/upgrade_020_create_buffer_cname_idx.sql - ./SQL/SQLite/14/upgrade_000_rename_networktable.sql - ./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/upgrade_000_fix_ircservers.sql - ./SQL/SQLite/15/upgrade_000_fix_network.sql - ./SQL/SQLite/16/upgrade_000_alter_buffer_add_markerlinemsgid.sql - ./SQL/SQLite/17/upgrade_000_alter_network_add_sasl.sql - ./SQL/SQLite/17/upgrade_001_alter_network_add_sasl.sql - ./SQL/SQLite/17/upgrade_002_alter_network_add_sasl.sql - ./SQL/SQLite/18/upgrade_000_alter_quasseluser_add_passwordversion.sql - ./SQL/SQLite/19/upgrade_000_alter_ircserver_add_sslverify.sql - ./SQL/SQLite/20/upgrade_000_alter_network_add_ratelimit_usecustom.sql - ./SQL/SQLite/20/upgrade_001_alter_network_add_ratelimit_burstsize.sql - ./SQL/SQLite/20/upgrade_002_alter_network_add_ratelimit_delay.sql - ./SQL/SQLite/20/upgrade_003_alter_network_add_ratelimit_unlimited.sql - ./SQL/SQLite/21/delete_backlog_by_uid.sql - ./SQL/SQLite/21/delete_backlog_for_buffer.sql - ./SQL/SQLite/21/delete_backlog_for_network.sql - ./SQL/SQLite/21/delete_buffer_for_bufferid.sql - ./SQL/SQLite/21/delete_buffers_by_uid.sql - ./SQL/SQLite/21/delete_buffers_for_network.sql - ./SQL/SQLite/21/delete_identity.sql - ./SQL/SQLite/21/delete_ircservers_for_network.sql - ./SQL/SQLite/21/delete_networks_by_uid.sql - ./SQL/SQLite/21/delete_network.sql - ./SQL/SQLite/21/delete_nicks.sql - ./SQL/SQLite/21/delete_quasseluser.sql - ./SQL/SQLite/21/insert_buffer.sql - ./SQL/SQLite/21/insert_identity.sql - ./SQL/SQLite/21/insert_message.sql - ./SQL/SQLite/21/insert_network.sql - ./SQL/SQLite/21/insert_nick.sql - ./SQL/SQLite/21/insert_quasseluser.sql - ./SQL/SQLite/21/insert_sender.sql - ./SQL/SQLite/21/insert_server.sql - ./SQL/SQLite/21/insert_user_setting.sql - ./SQL/SQLite/21/migrate_read_backlog.sql - ./SQL/SQLite/21/migrate_read_buffer.sql - ./SQL/SQLite/21/migrate_read_identity_nick.sql - ./SQL/SQLite/21/migrate_read_identity.sql - ./SQL/SQLite/21/migrate_read_ircserver.sql - ./SQL/SQLite/21/migrate_read_network.sql - ./SQL/SQLite/21/migrate_read_quasseluser.sql - ./SQL/SQLite/21/migrate_read_sender.sql - ./SQL/SQLite/21/migrate_read_usersetting.sql - ./SQL/SQLite/21/select_authuser.sql - ./SQL/SQLite/21/select_buffer_by_id.sql - ./SQL/SQLite/21/select_bufferByName.sql - ./SQL/SQLite/21/select_bufferExists.sql - ./SQL/SQLite/21/select_buffer_lastseen_messages.sql - ./SQL/SQLite/21/select_buffer_markerlinemsgids.sql - ./SQL/SQLite/21/select_buffers_for_merge.sql - ./SQL/SQLite/21/select_buffers_for_network.sql - ./SQL/SQLite/21/select_buffers.sql - ./SQL/SQLite/21/select_checkidentity.sql - ./SQL/SQLite/21/select_connected_networks.sql - ./SQL/SQLite/21/select_identities.sql - ./SQL/SQLite/21/select_internaluser.sql - ./SQL/SQLite/21/select_messagesAllNew.sql - ./SQL/SQLite/21/select_messagesAll.sql - ./SQL/SQLite/21/select_messagesNewerThan.sql - ./SQL/SQLite/21/select_messagesNewestK.sql - ./SQL/SQLite/21/select_messagesRange.sql - ./SQL/SQLite/21/select_network_awaymsg.sql - ./SQL/SQLite/21/select_networkExists.sql - ./SQL/SQLite/21/select_networks_for_user.sql - ./SQL/SQLite/21/select_network_usermode.sql - ./SQL/SQLite/21/select_nicks.sql - ./SQL/SQLite/21/select_persistent_channels.sql - ./SQL/SQLite/21/select_servers_for_network.sql - ./SQL/SQLite/21/select_userid.sql - ./SQL/SQLite/21/select_user_setting.sql - ./SQL/SQLite/21/setup_000_quasseluser.sql - ./SQL/SQLite/21/setup_010_sender.sql - ./SQL/SQLite/21/setup_020_network.sql - ./SQL/SQLite/21/setup_030_buffer.sql - ./SQL/SQLite/21/setup_040_buffer_idx.sql - ./SQL/SQLite/21/setup_050_buffer_cname_idx.sql - ./SQL/SQLite/21/setup_060_backlog.sql - ./SQL/SQLite/21/setup_070_coreinfo.sql - ./SQL/SQLite/21/setup_080_ircservers.sql - ./SQL/SQLite/21/setup_090_backlog_idx.sql - ./SQL/SQLite/21/setup_100_backlog_idx2.sql - ./SQL/SQLite/21/setup_110_buffer_user_idx.sql - ./SQL/SQLite/21/setup_120_user_setting.sql - ./SQL/SQLite/21/setup_130_identity.sql - ./SQL/SQLite/21/setup_140_identity_nick.sql - ./SQL/SQLite/21/update_backlog_bufferid.sql - ./SQL/SQLite/21/update_buffer_lastmsgid.sql - ./SQL/SQLite/21/update_buffer_lastseen.sql - ./SQL/SQLite/21/update_buffer_markerlinemsgid.sql - ./SQL/SQLite/21/update_buffer_name.sql - ./SQL/SQLite/21/update_buffer_persistent_channel.sql - ./SQL/SQLite/21/update_buffer_set_channel_key.sql - ./SQL/SQLite/21/update_identity.sql - ./SQL/SQLite/21/update_network_connected.sql - ./SQL/SQLite/21/update_network_set_awaymsg.sql - ./SQL/SQLite/21/update_network_set_usermode.sql - ./SQL/SQLite/21/update_network.sql - ./SQL/SQLite/21/update_username.sql - ./SQL/SQLite/21/update_userpassword.sql - ./SQL/SQLite/21/update_user_setting.sql - ./SQL/SQLite/21/upgrade_000_alter_buffer_add_lastmsgid.sql - ./SQL/SQLite/21/upgrade_001_update_buffer_set_lastmsgid.sql - ./SQL/SQLite/21/upgrade_002_update_buffer_fix_lastseenmsgid_over_lastmsgid.sql - ./SQL/SQLite/21/upgrade_003_create_table_buffer_new.sql - ./SQL/SQLite/21/upgrade_004_insert_into_buffer_new_from_buffer.sql - ./SQL/SQLite/21/upgrade_005_drop_table_buffer.sql - ./SQL/SQLite/21/upgrade_006_alter_table_buffer_new_rename_to_buffer.sql + ./SQL/PostgreSQL/delete_backlog_by_uid.sql + ./SQL/PostgreSQL/delete_backlog_for_buffer.sql + ./SQL/PostgreSQL/delete_backlog_for_network.sql + ./SQL/PostgreSQL/delete_buffer_for_bufferid.sql + ./SQL/PostgreSQL/delete_buffers_by_uid.sql + ./SQL/PostgreSQL/delete_buffers_for_network.sql + ./SQL/PostgreSQL/delete_identity.sql + ./SQL/PostgreSQL/delete_ircservers_for_network.sql + ./SQL/PostgreSQL/delete_network.sql + ./SQL/PostgreSQL/delete_networks_by_uid.sql + ./SQL/PostgreSQL/delete_nicks.sql + ./SQL/PostgreSQL/delete_quasseluser.sql + ./SQL/PostgreSQL/insert_buffer.sql + ./SQL/PostgreSQL/insert_identity.sql + ./SQL/PostgreSQL/insert_message.sql + ./SQL/PostgreSQL/insert_network.sql + ./SQL/PostgreSQL/insert_nick.sql + ./SQL/PostgreSQL/insert_quasseluser.sql + ./SQL/PostgreSQL/insert_sender.sql + ./SQL/PostgreSQL/insert_server.sql + ./SQL/PostgreSQL/insert_user_setting.sql + ./SQL/PostgreSQL/migrate_write_backlog.sql + ./SQL/PostgreSQL/migrate_write_buffer.sql + ./SQL/PostgreSQL/migrate_write_identity.sql + ./SQL/PostgreSQL/migrate_write_identity_nick.sql + ./SQL/PostgreSQL/migrate_write_ircserver.sql + ./SQL/PostgreSQL/migrate_write_network.sql + ./SQL/PostgreSQL/migrate_write_quasseluser.sql + ./SQL/PostgreSQL/migrate_write_sender.sql + ./SQL/PostgreSQL/migrate_write_usersetting.sql + ./SQL/PostgreSQL/select_authuser.sql + ./SQL/PostgreSQL/select_bufferByName.sql + ./SQL/PostgreSQL/select_bufferExists.sql + ./SQL/PostgreSQL/select_buffer_by_id.sql + ./SQL/PostgreSQL/select_buffer_lastseen_messages.sql + ./SQL/PostgreSQL/select_buffer_markerlinemsgids.sql + ./SQL/PostgreSQL/select_buffers.sql + ./SQL/PostgreSQL/select_buffers_for_network.sql + ./SQL/PostgreSQL/select_checkidentity.sql + ./SQL/PostgreSQL/select_connected_networks.sql + ./SQL/PostgreSQL/select_identities.sql + ./SQL/PostgreSQL/select_internaluser.sql + ./SQL/PostgreSQL/select_messagesAll.sql + ./SQL/PostgreSQL/select_messagesAllNew.sql + ./SQL/PostgreSQL/select_messagesNewerThan.sql + ./SQL/PostgreSQL/select_messagesNewestK.sql + ./SQL/PostgreSQL/select_messagesRange.sql + ./SQL/PostgreSQL/select_networkExists.sql + ./SQL/PostgreSQL/select_network_awaymsg.sql + ./SQL/PostgreSQL/select_network_usermode.sql + ./SQL/PostgreSQL/select_networks_for_user.sql + ./SQL/PostgreSQL/select_nicks.sql + ./SQL/PostgreSQL/select_persistent_channels.sql + ./SQL/PostgreSQL/select_senderid.sql + ./SQL/PostgreSQL/select_servers_for_network.sql + ./SQL/PostgreSQL/select_user_setting.sql + ./SQL/PostgreSQL/select_userid.sql + ./SQL/PostgreSQL/setup_000_quasseluser.sql + ./SQL/PostgreSQL/setup_010_sender.sql + ./SQL/PostgreSQL/setup_020_identity.sql + ./SQL/PostgreSQL/setup_030_identity_nick.sql + ./SQL/PostgreSQL/setup_040_network.sql + ./SQL/PostgreSQL/setup_050_buffer.sql + ./SQL/PostgreSQL/setup_060_backlog.sql + ./SQL/PostgreSQL/setup_070_coreinfo.sql + ./SQL/PostgreSQL/setup_080_ircservers.sql + ./SQL/PostgreSQL/setup_090_backlog_idx.sql + ./SQL/PostgreSQL/setup_100_user_setting.sql + ./SQL/PostgreSQL/setup_110_alter_sender_seq.sql + ./SQL/PostgreSQL/setup_120_alter_messageid_seq.sql + ./SQL/PostgreSQL/setup_130_function_lastmsgid.sql + ./SQL/PostgreSQL/update_backlog_bufferid.sql + ./SQL/PostgreSQL/update_buffer_lastmsgid.sql + ./SQL/PostgreSQL/update_buffer_lastseen.sql + ./SQL/PostgreSQL/update_buffer_markerlinemsgid.sql + ./SQL/PostgreSQL/update_buffer_name.sql + ./SQL/PostgreSQL/update_buffer_persistent_channel.sql + ./SQL/PostgreSQL/update_buffer_set_channel_key.sql + ./SQL/PostgreSQL/update_identity.sql + ./SQL/PostgreSQL/update_network.sql + ./SQL/PostgreSQL/update_network_connected.sql + ./SQL/PostgreSQL/update_network_set_awaymsg.sql + ./SQL/PostgreSQL/update_network_set_usermode.sql + ./SQL/PostgreSQL/update_user_setting.sql + ./SQL/PostgreSQL/update_username.sql + ./SQL/PostgreSQL/update_userpassword.sql + ./SQL/PostgreSQL/version/15/upgrade_000_alter_buffer_add_markerlinemsgid.sql + ./SQL/PostgreSQL/version/16/upgrade_000_alter_network_add_sasl.sql + ./SQL/PostgreSQL/version/17/upgrade_000_alter_quasseluser_add_passwordversion.sql + ./SQL/PostgreSQL/version/18/upgrade_000_alter_ircserver_add_sslverify.sql + ./SQL/PostgreSQL/version/19/upgrade_000_alter_network_add_ratelimit_usecustom.sql + ./SQL/PostgreSQL/version/19/upgrade_001_alter_network_add_ratelimit_burstsize.sql + ./SQL/PostgreSQL/version/19/upgrade_002_alter_network_add_ratelimit_delay.sql + ./SQL/PostgreSQL/version/19/upgrade_003_alter_network_add_ratelimit_unlimited.sql + ./SQL/PostgreSQL/version/20/upgrade_000_alter_buffer_add_lastmsgid.sql + ./SQL/PostgreSQL/version/20/upgrade_001_add_function_populate_lastmsgid.sql + ./SQL/PostgreSQL/version/20/upgrade_002_run_function_populate_lastmsgid.sql + ./SQL/PostgreSQL/version/20/upgrade_003_correct_bad_lastseenmsgid.sql + ./SQL/PostgreSQL/version/20/upgrade_004_add_lastseenmsgid_constraint.sql + ./SQL/SQLite/delete_backlog_by_uid.sql + ./SQL/SQLite/delete_backlog_for_buffer.sql + ./SQL/SQLite/delete_backlog_for_network.sql + ./SQL/SQLite/delete_buffer_for_bufferid.sql + ./SQL/SQLite/delete_buffers_by_uid.sql + ./SQL/SQLite/delete_buffers_for_network.sql + ./SQL/SQLite/delete_identity.sql + ./SQL/SQLite/delete_ircservers_for_network.sql + ./SQL/SQLite/delete_network.sql + ./SQL/SQLite/delete_networks_by_uid.sql + ./SQL/SQLite/delete_nicks.sql + ./SQL/SQLite/delete_quasseluser.sql + ./SQL/SQLite/insert_buffer.sql + ./SQL/SQLite/insert_identity.sql + ./SQL/SQLite/insert_message.sql + ./SQL/SQLite/insert_network.sql + ./SQL/SQLite/insert_nick.sql + ./SQL/SQLite/insert_quasseluser.sql + ./SQL/SQLite/insert_sender.sql + ./SQL/SQLite/insert_server.sql + ./SQL/SQLite/insert_user_setting.sql + ./SQL/SQLite/migrate_read_backlog.sql + ./SQL/SQLite/migrate_read_buffer.sql + ./SQL/SQLite/migrate_read_identity.sql + ./SQL/SQLite/migrate_read_identity_nick.sql + ./SQL/SQLite/migrate_read_ircserver.sql + ./SQL/SQLite/migrate_read_network.sql + ./SQL/SQLite/migrate_read_quasseluser.sql + ./SQL/SQLite/migrate_read_sender.sql + ./SQL/SQLite/migrate_read_usersetting.sql + ./SQL/SQLite/select_authuser.sql + ./SQL/SQLite/select_bufferByName.sql + ./SQL/SQLite/select_bufferExists.sql + ./SQL/SQLite/select_buffer_by_id.sql + ./SQL/SQLite/select_buffer_lastseen_messages.sql + ./SQL/SQLite/select_buffer_markerlinemsgids.sql + ./SQL/SQLite/select_buffers.sql + ./SQL/SQLite/select_buffers_for_merge.sql + ./SQL/SQLite/select_buffers_for_network.sql + ./SQL/SQLite/select_checkidentity.sql + ./SQL/SQLite/select_connected_networks.sql + ./SQL/SQLite/select_identities.sql + ./SQL/SQLite/select_internaluser.sql + ./SQL/SQLite/select_messagesAll.sql + ./SQL/SQLite/select_messagesAllNew.sql + ./SQL/SQLite/select_messagesNewerThan.sql + ./SQL/SQLite/select_messagesNewestK.sql + ./SQL/SQLite/select_messagesRange.sql + ./SQL/SQLite/select_networkExists.sql + ./SQL/SQLite/select_network_awaymsg.sql + ./SQL/SQLite/select_network_usermode.sql + ./SQL/SQLite/select_networks_for_user.sql + ./SQL/SQLite/select_nicks.sql + ./SQL/SQLite/select_persistent_channels.sql + ./SQL/SQLite/select_servers_for_network.sql + ./SQL/SQLite/select_user_setting.sql + ./SQL/SQLite/select_userid.sql + ./SQL/SQLite/setup_000_quasseluser.sql + ./SQL/SQLite/setup_010_sender.sql + ./SQL/SQLite/setup_020_network.sql + ./SQL/SQLite/setup_030_buffer.sql + ./SQL/SQLite/setup_040_buffer_idx.sql + ./SQL/SQLite/setup_050_buffer_cname_idx.sql + ./SQL/SQLite/setup_060_backlog.sql + ./SQL/SQLite/setup_070_coreinfo.sql + ./SQL/SQLite/setup_080_ircservers.sql + ./SQL/SQLite/setup_090_backlog_idx.sql + ./SQL/SQLite/setup_100_backlog_idx2.sql + ./SQL/SQLite/setup_110_buffer_user_idx.sql + ./SQL/SQLite/setup_120_user_setting.sql + ./SQL/SQLite/setup_130_identity.sql + ./SQL/SQLite/setup_140_identity_nick.sql + ./SQL/SQLite/update_backlog_bufferid.sql + ./SQL/SQLite/update_buffer_lastmsgid.sql + ./SQL/SQLite/update_buffer_lastseen.sql + ./SQL/SQLite/update_buffer_markerlinemsgid.sql + ./SQL/SQLite/update_buffer_name.sql + ./SQL/SQLite/update_buffer_persistent_channel.sql + ./SQL/SQLite/update_buffer_set_channel_key.sql + ./SQL/SQLite/update_identity.sql + ./SQL/SQLite/update_network.sql + ./SQL/SQLite/update_network_connected.sql + ./SQL/SQLite/update_network_set_awaymsg.sql + ./SQL/SQLite/update_network_set_usermode.sql + ./SQL/SQLite/update_user_setting.sql + ./SQL/SQLite/update_username.sql + ./SQL/SQLite/update_userpassword.sql + ./SQL/SQLite/version/1/upgrade_000_drop_coreinfo.sql + ./SQL/SQLite/version/1/upgrade_010_create_coreinfo.sql + ./SQL/SQLite/version/1/upgrade_020_update_schemaversion.sql + ./SQL/SQLite/version/2/upgrade_000_drop_buffergroup.sql + ./SQL/SQLite/version/2/upgrade_010_update_schemaversion.sql + ./SQL/SQLite/version/3/upgrade_000_update_backlog_flags.sql + ./SQL/SQLite/version/3/upgrade_010_update_schemaversion.sql + ./SQL/SQLite/version/4/upgrade_000_rename_buffertable.sql + ./SQL/SQLite/version/4/upgrade_010_create_buffertable.sql + ./SQL/SQLite/version/4/upgrade_020_copy_buffertable.sql + ./SQL/SQLite/version/4/upgrade_030_drop_oldbuffertable.sql + ./SQL/SQLite/version/4/upgrade_040_create_buffer_idx.sql + ./SQL/SQLite/version/4/upgrade_050_create_buffer_cname_idx.sql + ./SQL/SQLite/version/5/upgrade_000_rename_networktable.sql + ./SQL/SQLite/version/5/upgrade_010_create_newnetworktable.sql + ./SQL/SQLite/version/5/upgrade_020_copy_networktable.sql + ./SQL/SQLite/version/5/upgrade_030_drop_oldnetworktable.sql + ./SQL/SQLite/version/5/upgrade_180_create_ircservers.sql + ./SQL/SQLite/version/6/upgrade_000_alter_buffertable.sql + ./SQL/SQLite/version/6/upgrade_010_set_statusbuffertype.sql + ./SQL/SQLite/version/6/upgrade_020_set_channelbuffertype.sql + ./SQL/SQLite/version/6/upgrade_030_set_querybuffertype.sql + ./SQL/SQLite/version/6/upgrade_040_update_msgtype.sql + ./SQL/SQLite/version/6/upgrade_050_update_msgtype.sql + ./SQL/SQLite/version/6/upgrade_060_update_msgtype.sql + ./SQL/SQLite/version/6/upgrade_070_update_msgtype.sql + ./SQL/SQLite/version/6/upgrade_080_update_msgtype.sql + ./SQL/SQLite/version/6/upgrade_090_update_msgtype.sql + ./SQL/SQLite/version/6/upgrade_100_update_msgtype.sql + ./SQL/SQLite/version/6/upgrade_110_update_msgtype.sql + ./SQL/SQLite/version/6/upgrade_120_update_msgtype.sql + ./SQL/SQLite/version/6/upgrade_130_update_msgtype.sql + ./SQL/SQLite/version/6/upgrade_140_update_msgtype.sql + ./SQL/SQLite/version/6/upgrade_150_update_msgtype.sql + ./SQL/SQLite/version/6/upgrade_160_update_msgtype.sql + ./SQL/SQLite/version/7/upgrade_000_rename_networktable.sql + ./SQL/SQLite/version/7/upgrade_010_create_newnetworktable.sql + ./SQL/SQLite/version/7/upgrade_020_copy_networktable.sql + ./SQL/SQLite/version/7/upgrade_030_drop_oldnetworktable.sql + ./SQL/SQLite/version/7/upgrade_040_alter_buffer_add_lastseen.sql + ./SQL/SQLite/version/8/upgrade_000_alter_network_add_connected.sql + ./SQL/SQLite/version/8/upgrade_010_alter_buffer_add_key.sql + ./SQL/SQLite/version/8/upgrade_020_alter_buffer_add_joined.sql + ./SQL/SQLite/version/8/upgrade_030_update_buffer_set_joined_for_channels.sql + ./SQL/SQLite/version/9/upgrade_000_create_backlog_idx.sql + ./SQL/SQLite/version/9/upgrade_010_create_backlog_idx2.sql + ./SQL/SQLite/version/9/upgrade_020_create_buffer_idx.sql + ./SQL/SQLite/version/10/upgrade_000_switch_to_msgid.sql + ./SQL/SQLite/version/10/upgrade_010_rename_buffer_table.sql + ./SQL/SQLite/version/10/upgrade_020_create_buffer_table.sql + ./SQL/SQLite/version/10/upgrade_030_copy_buffer_table.sql + ./SQL/SQLite/version/10/upgrade_040_drop_buffer_old_table.sql + ./SQL/SQLite/version/11/upgrade_000_create_user_setting.sql + ./SQL/SQLite/version/12/upgrade_000_create_identity.sql + ./SQL/SQLite/version/12/upgrade_010_create_identity_nick.sql + ./SQL/SQLite/version/12/upgrade_020_rename_servertable.sql + ./SQL/SQLite/version/12/upgrade_030_create_ircserver.sql + ./SQL/SQLite/version/12/upgrade_040_copy_ircserver.sql + ./SQL/SQLite/version/12/upgrade_050_drop_ircserverold.sql + ./SQL/SQLite/version/13/upgrade_000_create_buffer_user_idx.sql + ./SQL/SQLite/version/13/upgrade_010_create_buffer_cname_idx.sql + ./SQL/SQLite/version/13/upgrade_020_create_buffer_cname_idx.sql + ./SQL/SQLite/version/14/upgrade_000_rename_networktable.sql + ./SQL/SQLite/version/14/upgrade_010_create_networktable.sql + ./SQL/SQLite/version/14/upgrade_030_copy_networktable.sql + ./SQL/SQLite/version/14/upgrade_040_drop_networkold.sql + ./SQL/SQLite/version/15/upgrade_000_fix_ircservers.sql + ./SQL/SQLite/version/15/upgrade_000_fix_network.sql + ./SQL/SQLite/version/16/upgrade_000_alter_buffer_add_markerlinemsgid.sql + ./SQL/SQLite/version/17/upgrade_000_alter_network_add_sasl.sql + ./SQL/SQLite/version/17/upgrade_001_alter_network_add_sasl.sql + ./SQL/SQLite/version/17/upgrade_002_alter_network_add_sasl.sql + ./SQL/SQLite/version/18/upgrade_000_alter_quasseluser_add_passwordversion.sql + ./SQL/SQLite/version/19/upgrade_000_alter_ircserver_add_sslverify.sql + ./SQL/SQLite/version/20/upgrade_000_alter_network_add_ratelimit_usecustom.sql + ./SQL/SQLite/version/20/upgrade_001_alter_network_add_ratelimit_burstsize.sql + ./SQL/SQLite/version/20/upgrade_002_alter_network_add_ratelimit_delay.sql + ./SQL/SQLite/version/20/upgrade_003_alter_network_add_ratelimit_unlimited.sql + ./SQL/SQLite/version/21/upgrade_000_alter_buffer_add_lastmsgid.sql + ./SQL/SQLite/version/21/upgrade_001_update_buffer_set_lastmsgid.sql + ./SQL/SQLite/version/21/upgrade_002_update_buffer_fix_lastseenmsgid_over_lastmsgid.sql + ./SQL/SQLite/version/21/upgrade_003_create_table_buffer_new.sql + ./SQL/SQLite/version/21/upgrade_004_insert_into_buffer_new_from_buffer.sql + ./SQL/SQLite/version/21/upgrade_005_drop_table_buffer.sql + ./SQL/SQLite/version/21/upgrade_006_alter_table_buffer_new_rename_to_buffer.sql -- 2.20.1