aboutsummaryrefslogtreecommitdiffstats
path: root/sql/mysql
diff options
context:
space:
mode:
authorAmir Sarabadani <ladsgroup@gmail.com>2025-01-20 20:01:17 +0100
committerAmir Sarabadani <ladsgroup@gmail.com>2025-01-21 15:07:44 +0100
commita7a607fc40806df29dc4f220623156562575ba4c (patch)
treeaa985e6bba61d5af1c9ec699e312d6ff142de224 /sql/mysql
parent54989cd56e5de0c1d1d8bcf2efadd2032bf6f995 (diff)
downloadmediawikicore-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.sql12
-rw-r--r--sql/mysql/patch-collation.sql6
-rw-r--r--sql/mysql/tables-generated.sql14
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*/;