Merge "Introduce change_tag_def table"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Wed, 9 May 2018 18:52:42 +0000 (18:52 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Wed, 9 May 2018 18:52:42 +0000 (18:52 +0000)
1  2 
maintenance/mssql/tables.sql
maintenance/tables.sql

@@@ -503,6 -503,24 +503,24 @@@ CREATE UNIQUE INDEX /*i*/cat_title ON /
  CREATE INDEX /*i*/cat_pages ON /*_*/category (cat_pages);
  
  
+ --
+ -- Table defining tag names for IDs. Also stores hit counts to avoid expensive queries on change_tag
+ --
+ CREATE TABLE /*_*/change_tag_def (
+     -- Numerical ID of the tag (ct_tag_id refers to this)
+     ctd_id int NOT NULL CONSTRAINT PK_change_tag_def PRIMARY KEY IDENTITY,
+     -- Symbolic name of the tag (what would previously be put in ct_tag)
+     ctd_name nvarchar(255) NOT NULL,
+     -- Whether this tag was defined manually by a privileged user using Special:Tags
+     ctd_user_defined tinyint NOT NULL CONSTRAINT DF_ctd_user_defined DEFAULT 0,
+     -- Number of times this tag was used
+     ctd_count int NOT NULL CONSTRAINT DF_ctd_count DEFAULT 0
+ ) /*$wgDBTableOptions*/;
+ CREATE UNIQUE INDEX /*i*/ctd_name ON /*_*/change_tag_def (ctd_name);
+ CREATE INDEX /*i*/ctd_count ON /*_*/change_tag_def (ctd_count);
+ CREATE INDEX /*i*/ctd_user_defined ON /*_*/change_tag_def (ctd_user_defined);
  --
  -- Track links to external URLs
  --
@@@ -1091,7 -1109,7 +1109,7 @@@ CREATE TABLE /*_*/interwiki 
    -- The URL of the file api.php
    iw_api nvarchar(max) NOT NULL,
  
 -  -- The name of the database (for a connection to be established with wfGetLB( 'wikiid' ))
 +  -- The name of the database (for a connection to be established with LBFactory::getMainLB( 'wikiid' ))
    iw_wikiid nvarchar(64) NOT NULL,
  
    -- A boolean value indicating whether the wiki is in this project
diff --combined maintenance/tables.sql
@@@ -1540,7 -1540,7 +1540,7 @@@ CREATE TABLE /*_*/interwiki 
    -- The URL of the file api.php
    iw_api blob NOT NULL,
  
 -  -- The name of the database (for a connection to be established with wfGetLB( 'wikiid' ))
 +  -- The name of the database (for a connection to be established with LBFactory::getMainLB( 'wikiid' ))
    iw_wikiid varchar(64) NOT NULL,
  
    -- A boolean value indicating whether the wiki is in this project
@@@ -1968,4 -1968,20 +1968,20 @@@ CREATE UNIQUE INDEX /*i*/site_ids_type 
  CREATE INDEX /*i*/site_ids_site ON /*_*/site_identifiers (si_site);
  CREATE INDEX /*i*/site_ids_key ON /*_*/site_identifiers (si_key);
  
+ -- Table defining tag names for IDs. Also stores hit counts to avoid expensive queries on change_tag
+ CREATE TABLE /*_*/change_tag_def (
+     -- Numerical ID of the tag (ct_tag_id refers to this)
+     ctd_id int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT,
+     -- Symbolic name of the tag (what would previously be put in ct_tag)
+     ctd_name varbinary(255) NOT NULL,
+     -- Whether this tag was defined manually by a privileged user using Special:Tags
+     ctd_user_defined tinyint(1) NOT NULL,
+     -- Number of times this tag was used
+     ctd_count bigint unsigned NOT NULL default 0
+ ) /*$wgDBTableOptions*/;
+ CREATE UNIQUE INDEX /*i*/ctd_name ON /*_*/change_tag_def (ctd_name);
+ CREATE INDEX /*i*/ctd_count ON /*_*/change_tag_def (ctd_count);
+ CREATE INDEX /*i*/ctd_user_defined ON /*_*/change_tag_def (ctd_user_defined);
  -- vim: sw=2 sts=2 et