diff options
author | Amir Sarabadani <ladsgroup@gmail.com> | 2025-01-20 20:01:17 +0100 |
---|---|---|
committer | Amir Sarabadani <ladsgroup@gmail.com> | 2025-01-21 15:07:44 +0100 |
commit | a7a607fc40806df29dc4f220623156562575ba4c (patch) | |
tree | aa985e6bba61d5af1c9ec699e312d6ff142de224 /sql/mysql | |
parent | 54989cd56e5de0c1d1d8bcf2efadd2032bf6f995 (diff) | |
download | mediawikicore-a7a607fc40806df29dc4f220623156562575ba4c.tar.gz mediawikicore-a7a607fc40806df29dc4f220623156562575ba4c.zip |
schema: Add cl_target_id and cl_collation_id to categorylinks
To normalize cl_to and cl_collation
Bug: T299951
Change-Id: If58190f3cc912ffa99c623dc9f51d530d5c87186
Diffstat (limited to 'sql/mysql')
-rw-r--r-- | sql/mysql/patch-categorylinks-target_id.sql | 12 | ||||
-rw-r--r-- | sql/mysql/patch-collation.sql | 6 | ||||
-rw-r--r-- | sql/mysql/tables-generated.sql | 14 |
3 files changed, 32 insertions, 0 deletions
diff --git a/sql/mysql/patch-categorylinks-target_id.sql b/sql/mysql/patch-categorylinks-target_id.sql new file mode 100644 index 000000000000..81dcd1a9149b --- /dev/null +++ b/sql/mysql/patch-categorylinks-target_id.sql @@ -0,0 +1,12 @@ +-- This file is automatically generated using maintenance/generateSchemaChangeSql.php. +-- Source: sql/abstractSchemaChanges/patch-categorylinks-target_id.json +-- Do not modify this file directly. +-- See https://www.mediawiki.org/wiki/Manual:Schema_changes +ALTER TABLE /*_*/categorylinks + ADD cl_collation_id SMALLINT UNSIGNED DEFAULT 0 NOT NULL, + ADD cl_target_id BIGINT UNSIGNED DEFAULT NULL; + +CREATE INDEX cl_sortkey_id ON /*_*/categorylinks ( + cl_target_id, cl_type, cl_sortkey, + cl_from + ); diff --git a/sql/mysql/patch-collation.sql b/sql/mysql/patch-collation.sql new file mode 100644 index 000000000000..a9d3e7bdb64a --- /dev/null +++ b/sql/mysql/patch-collation.sql @@ -0,0 +1,6 @@ +CREATE TABLE /*_*/collation ( + collation_id SMALLINT UNSIGNED AUTO_INCREMENT NOT NULL, + collation_name VARBINARY(64) NOT NULL, + UNIQUE INDEX collation_name (collation_name), + PRIMARY KEY(collation_id) +) /*$wgDBTableOptions*/; diff --git a/sql/mysql/tables-generated.sql b/sql/mysql/tables-generated.sql index 7696eb81f384..0bf782500aa6 100644 --- a/sql/mysql/tables-generated.sql +++ b/sql/mysql/tables-generated.sql @@ -458,10 +458,16 @@ CREATE TABLE /*_*/categorylinks ( cl_timestamp TIMESTAMP NOT NULL, cl_collation VARBINARY(32) DEFAULT '' NOT NULL, cl_type ENUM('page', 'subcat', 'file') DEFAULT 'page' NOT NULL, + cl_collation_id SMALLINT UNSIGNED DEFAULT 0 NOT NULL, + cl_target_id BIGINT UNSIGNED DEFAULT NULL, INDEX cl_sortkey ( cl_to, cl_type, cl_sortkey, cl_from ), INDEX cl_timestamp (cl_to, cl_timestamp), + INDEX cl_sortkey_id ( + cl_target_id, cl_type, cl_sortkey, + cl_from + ), PRIMARY KEY(cl_from, cl_to) ) /*$wgDBTableOptions*/; @@ -923,3 +929,11 @@ CREATE TABLE /*_*/filetypes ( ), PRIMARY KEY(ft_id) ) /*$wgDBTableOptions*/; + + +CREATE TABLE /*_*/collation ( + collation_id SMALLINT UNSIGNED AUTO_INCREMENT NOT NULL, + collation_name VARBINARY(64) NOT NULL, + UNIQUE INDEX collation_name (collation_name), + PRIMARY KEY(collation_id) +) /*$wgDBTableOptions*/; |