diff options
Diffstat (limited to 'maintenance/postgres/archives')
17 files changed, 131 insertions, 49 deletions
diff --git a/maintenance/postgres/archives/patch-categorylinks-better-collation.sql b/maintenance/postgres/archives/patch-categorylinks-better-collation.sql new file mode 100644 index 00000000..b3fa6346 --- /dev/null +++ b/maintenance/postgres/archives/patch-categorylinks-better-collation.sql @@ -0,0 +1,8 @@ +CREATE TYPE link_type AS ENUM ('page', 'subcat', 'file'); +DROP INDEX cl_sortkey; +ALTER TABLE categorylinks + ADD COLUMN cl_sortkey_prefix TEXT NOT NULL DEFAULT '', + ADD COLUMN cl_collation SMALLINT NOT NULL DEFAULT 0, + ADD COLUMN cl_type link_type NOT NULL DEFAULT 'page'; +CREATE INDEX cl_collation ON categorylinks ( cl_collation ); +CREATE INDEX cl_sortkey ON categorylinks ( cl_to, cl_type, cl_sortkey, cl_from ); diff --git a/maintenance/postgres/archives/patch-change_tag.sql b/maintenance/postgres/archives/patch-change_tag.sql index 1f52c474..89d74b63 100644 --- a/maintenance/postgres/archives/patch-change_tag.sql +++ b/maintenance/postgres/archives/patch-change_tag.sql @@ -1,28 +1,11 @@ - CREATE TABLE change_tag ( - ct_rc_id INTEGER NULL, - ct_log_id INTEGER NULL, - ct_rev_id INTEGER NULL, - ct_tag TEXT NOT NULL, - ct_params TEXT NULL + ct_rc_id INTEGER NULL, + ct_log_id INTEGER NULL, + ct_rev_id INTEGER NULL, + ct_tag TEXT NOT NULL, + ct_params TEXT NULL ); CREATE UNIQUE INDEX change_tag_rc_tag ON change_tag(ct_rc_id,ct_tag); CREATE UNIQUE INDEX change_tag_log_tag ON change_tag(ct_log_id,ct_tag); CREATE UNIQUE INDEX change_tag_rev_tag ON change_tag(ct_rev_id,ct_tag); CREATE INDEX change_tag_tag_id ON change_tag(ct_tag,ct_rc_id,ct_rev_id,ct_log_id); - - -CREATE TABLE tag_summary ( - ts_rc_id INTEGER NULL, - ts_log_id INTEGER NULL, - ts_rev_id INTEGER NULL, - ts_tags TEXT NOT NULL -); -CREATE UNIQUE INDEX tag_summary_rc_id ON tag_summary(ts_rc_id); -CREATE UNIQUE INDEX tag_summary_log_id ON tag_summary(ts_log_id); -CREATE UNIQUE INDEX tag_summary_rev_id ON tag_summary(ts_rev_id); - - -CREATE TABLE valid_tag ( - vt_tag TEXT NOT NULL PRIMARY KEY -); diff --git a/maintenance/postgres/archives/patch-iwlinks.sql b/maintenance/postgres/archives/patch-iwlinks.sql new file mode 100644 index 00000000..db26eae4 --- /dev/null +++ b/maintenance/postgres/archives/patch-iwlinks.sql @@ -0,0 +1,8 @@ + +CREATE TABLE iwlinks ( + iwl_from INTEGER NOT NULL DEFAULT 0, + iwl_prefix TEXT NOT NULL DEFAULT '', + iwl_title TEXT NOT NULL DEFAULT '' +); +CREATE UNIQUE INDEX iwl_from ON iwlinks (iwl_from, iwl_prefix, iwl_title); +CREATE UNIQUE INDEX iwl_prefix_title_from ON iwlinks (iwl_prefix, iwl_title, iwl_from); diff --git a/maintenance/postgres/archives/patch-kill-iwl_pft.sql b/maintenance/postgres/archives/patch-kill-iwl_pft.sql new file mode 100644 index 00000000..4419d9e9 --- /dev/null +++ b/maintenance/postgres/archives/patch-kill-iwl_pft.sql @@ -0,0 +1,7 @@ +-- +-- Kill the old iwl_prefix_from_title index, which may be present on some +-- installs if they ran update.php between it being added and being renamed +-- + +DROP INDEX iwl_prefix_from_title; + diff --git a/maintenance/postgres/archives/patch-kill-iwl_prefix.sql b/maintenance/postgres/archives/patch-kill-iwl_prefix.sql new file mode 100644 index 00000000..8b6d1084 --- /dev/null +++ b/maintenance/postgres/archives/patch-kill-iwl_prefix.sql @@ -0,0 +1,7 @@ +-- +-- Kill the old iwl_prefix index, which may be present on some +-- installs if they ran update.php between it being added and being renamed +-- + +DROP INDEX iwl_prefix; + diff --git a/maintenance/postgres/archives/patch-mediawiki_version.sql b/maintenance/postgres/archives/patch-mediawiki_version.sql deleted file mode 100644 index 811b38a1..00000000 --- a/maintenance/postgres/archives/patch-mediawiki_version.sql +++ /dev/null @@ -1,18 +0,0 @@ -CREATE TABLE mediawiki_version ( - type TEXT NOT NULL, - mw_version TEXT NOT NULL, - notes TEXT NULL, - - pg_version TEXT NULL, - pg_dbname TEXT NULL, - pg_user TEXT NULL, - pg_port TEXT NULL, - mw_schema TEXT NULL, - ts2_schema TEXT NULL, - ctype TEXT NULL, - - sql_version TEXT NULL, - sql_date TEXT NULL, - cdate TIMESTAMPTZ NOT NULL DEFAULT now() -); - diff --git a/maintenance/postgres/archives/patch-module_deps.sql b/maintenance/postgres/archives/patch-module_deps.sql new file mode 100644 index 00000000..703dcdaf --- /dev/null +++ b/maintenance/postgres/archives/patch-module_deps.sql @@ -0,0 +1,7 @@ +CREATE TABLE module_deps ( + md_module TEXT NOT NULL, + md_skin TEXT NOT NULL, + md_deps TEXT NOT NULL +); + +CREATE UNIQUE INDEX md_module_skin_idx ON module_deps (md_module, md_skin); diff --git a/maintenance/postgres/archives/patch-msg_resource.sql b/maintenance/postgres/archives/patch-msg_resource.sql new file mode 100644 index 00000000..00d82073 --- /dev/null +++ b/maintenance/postgres/archives/patch-msg_resource.sql @@ -0,0 +1,8 @@ +CREATE TABLE msg_resource ( + mr_resource TEXT NOT NULL, + mr_lang TEXT NOT NULL, + mr_blob TEXT NOT NULL, + mr_timestamp TIMESTAMPTZ NOT NULL +); + +CREATE UNIQUE INDEX mr_resource_lang_idx ON msg_resource (mr_resource, mr_lang); diff --git a/maintenance/postgres/archives/patch-msg_resource_links.sql b/maintenance/postgres/archives/patch-msg_resource_links.sql new file mode 100644 index 00000000..e7b80219 --- /dev/null +++ b/maintenance/postgres/archives/patch-msg_resource_links.sql @@ -0,0 +1,6 @@ +CREATE TABLE msg_resource_links ( + mrl_resource TEXT NOT NULL, + mrl_message TEXT NOT NULL +); + +CREATE UNIQUE INDEX mrl_message_resource_idx ON msg_resource_links (mrl_message, mrl_resource); diff --git a/maintenance/postgres/archives/patch-mwuser.sql b/maintenance/postgres/archives/patch-mwuser.sql deleted file mode 100644 index 3984703a..00000000 --- a/maintenance/postgres/archives/patch-mwuser.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE "user" RENAME TO mwuser; diff --git a/maintenance/postgres/archives/patch-page.sql b/maintenance/postgres/archives/patch-page.sql new file mode 100644 index 00000000..cceef898 --- /dev/null +++ b/maintenance/postgres/archives/patch-page.sql @@ -0,0 +1,24 @@ +CREATE SEQUENCE page_page_id_seq; +CREATE TABLE page ( + page_id INTEGER NOT NULL PRIMARY KEY DEFAULT nextval('page_page_id_seq'), + page_namespace SMALLINT NOT NULL, + page_title TEXT NOT NULL, + page_restrictions TEXT, + page_counter BIGINT NOT NULL DEFAULT 0, + page_is_redirect SMALLINT NOT NULL DEFAULT 0, + page_is_new SMALLINT NOT NULL DEFAULT 0, + page_random NUMERIC(15,14) NOT NULL DEFAULT RANDOM(), + page_touched TIMESTAMPTZ, + page_latest INTEGER NOT NULL, + page_len INTEGER NOT NULL +); +CREATE UNIQUE INDEX page_unique_name ON page (page_namespace, page_title); +CREATE INDEX page_main_title ON page (page_title) WHERE page_namespace = 0; +CREATE INDEX page_talk_title ON page (page_title) WHERE page_namespace = 1; +CREATE INDEX page_user_title ON page (page_title) WHERE page_namespace = 2; +CREATE INDEX page_utalk_title ON page (page_title) WHERE page_namespace = 3; +CREATE INDEX page_project_title ON page (page_title) WHERE page_namespace = 4; +CREATE INDEX page_mediawiki_title ON page (page_title) WHERE page_namespace = 8; +CREATE INDEX page_random_idx ON page (page_random); +CREATE INDEX page_len_idx ON page (page_len); + diff --git a/maintenance/postgres/archives/patch-pagecontent.sql b/maintenance/postgres/archives/patch-pagecontent.sql deleted file mode 100644 index c3651f92..00000000 --- a/maintenance/postgres/archives/patch-pagecontent.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE "text" RENAME TO pagecontent; diff --git a/maintenance/postgres/archives/patch-rename-iwl_prefix.sql b/maintenance/postgres/archives/patch-rename-iwl_prefix.sql new file mode 100644 index 00000000..a4bdb6a9 --- /dev/null +++ b/maintenance/postgres/archives/patch-rename-iwl_prefix.sql @@ -0,0 +1,2 @@ +DROP INDEX iwl_prefix; +CREATE UNIQUE INDEX iwl_prefix_title_from ON iwlinks (iwl_prefix, iwl_from, iwl_title); diff --git a/maintenance/postgres/archives/patch-tag_summary.sql b/maintenance/postgres/archives/patch-tag_summary.sql new file mode 100644 index 00000000..49e05e77 --- /dev/null +++ b/maintenance/postgres/archives/patch-tag_summary.sql @@ -0,0 +1,9 @@ +CREATE TABLE tag_summary ( + ts_rc_id INTEGER NULL, + ts_log_id INTEGER NULL, + ts_rev_id INTEGER NULL, + ts_tags TEXT NOT NULL +); +CREATE UNIQUE INDEX tag_summary_rc_id ON tag_summary(ts_rc_id); +CREATE UNIQUE INDEX tag_summary_log_id ON tag_summary(ts_log_id); +CREATE UNIQUE INDEX tag_summary_rev_id ON tag_summary(ts_rev_id); diff --git a/maintenance/postgres/archives/patch-testrun.sql b/maintenance/postgres/archives/patch-testrun.sql new file mode 100644 index 00000000..c15300b5 --- /dev/null +++ b/maintenance/postgres/archives/patch-testrun.sql @@ -0,0 +1,30 @@ +-- +-- Optional tables for parserTests recording mode +-- With --record option, success data will be saved to these tables, +-- and comparisons of what's changed from the previous run will be +-- displayed at the end of each run. +-- +-- This file is for the Postgres version of the tables +-- + +-- Note: "if exists" will not work on older versions of Postgres +DROP TABLE IF EXISTS testitem; +DROP TABLE IF EXISTS testrun; +DROP SEQUENCE IF EXISTS testrun_id_seq; + +CREATE SEQUENCE testrun_id_seq; +CREATE TABLE testrun ( + tr_id INTEGER PRIMARY KEY NOT NULL DEFAULT nextval('testrun_id_seq'), + tr_date TIMESTAMPTZ, + tr_mw_version TEXT, + tr_php_version TEXT, + tr_db_version TEXT, + tr_uname TEXT +); + +CREATE TABLE testitem ( + ti_run INTEGER NOT NULL REFERENCES testrun(tr_id) ON DELETE CASCADE, + ti_name TEXT NOT NULL, + ti_success SMALLINT NOT NULL +); +CREATE UNIQUE INDEX testitem_uniq ON testitem(ti_run, ti_name); diff --git a/maintenance/postgres/archives/patch-update_sequences.sql b/maintenance/postgres/archives/patch-update_sequences.sql index a3d30681..94f7be4f 100644 --- a/maintenance/postgres/archives/patch-update_sequences.sql +++ b/maintenance/postgres/archives/patch-update_sequences.sql @@ -1,20 +1,20 @@ -ALTER SEQUENCE rev_rev_id_val RENAME TO revision_rev_id_seq; +ALTER TABLE revision RENAME rev_rev_id_val TO revision_rev_id_seq; ALTER TABLE revision ALTER COLUMN rev_id SET DEFAULT NEXTVAL('revision_rev_id_seq'); -ALTER SEQUENCE text_old_id_val RENAME TO text_old_id_seq; +ALTER TABLE pagecontent RENAME text_old_id_val TO text_old_id_seq; ALTER TABLE pagecontent ALTER COLUMN old_id SET DEFAULT nextval('text_old_id_seq'); -ALTER SEQUENCE category_id_seq RENAME TO category_cat_id_seq; +ALTER TABLE category RENAME category_id_seq TO category_cat_id_seq; ALTER TABLE category ALTER COLUMN cat_id SET DEFAULT nextval('category_cat_id_seq'); -ALTER SEQUENCE ipblocks_ipb_id_val RENAME TO ipblocks_ipb_id_seq; +ALTER TABLE ipblocks RENAME ipblocks_ipb_id_val TO ipblocks_ipb_id_seq; ALTER TABLE ipblocks ALTER COLUMN ipb_id SET DEFAULT nextval('ipblocks_ipb_id_seq'); -ALTER SEQUENCE rc_rc_id_seq RENAME TO recentchanges_rc_id_seq; +ALTER TABLE recentchanges RENAME rc_rc_id_seq TO recentchanges_rc_id_seq; ALTER TABLE recentchanges ALTER COLUMN rc_id SET DEFAULT nextval('recentchanges_rc_id_seq'); -ALTER SEQUENCE log_log_id_seq RENAME TO logging_log_id_seq; +ALTER TABLE logging RENAME log_log_id_seq TO logging_log_id_seq; ALTER TABLE logging ALTER COLUMN log_id SET DEFAULT nextval('logging_log_id_seq'); -ALTER SEQUENCE pr_id_val RENAME TO page_restrictions_pr_id_seq; +ALTER TABLE page_restrictions RENAME pr_id_val TO page_restrictions_pr_id_seq; ALTER TABLE page_restrictions ALTER COLUMN pr_id SET DEFAULT nextval('page_restrictions_pr_id_seq'); diff --git a/maintenance/postgres/archives/patch-valid_tag.sql b/maintenance/postgres/archives/patch-valid_tag.sql new file mode 100644 index 00000000..98575c6e --- /dev/null +++ b/maintenance/postgres/archives/patch-valid_tag.sql @@ -0,0 +1,3 @@ +CREATE TABLE valid_tag ( + vt_tag TEXT NOT NULL PRIMARY KEY +); |