Add 'whatlinkshere-filters'
[lhc/web/wiklou.git] / maintenance / tables.sql
index 6282f52..a9e8907 100644 (file)
@@ -166,6 +166,9 @@ CREATE TABLE /*$wgDBprefix*/user_newtalk (
   -- If the user is an anonymous user their IP address is stored here
   -- since the user_id of 0 is ambiguous
   user_ip varbinary(40) NOT NULL default '',
+  -- The highest timestamp of revisions of the talk page viewed
+  -- by this user
+  user_last_timestamp binary(14) NOT NULL default '',
   INDEX user_id (user_id),
   INDEX user_ip (user_ip)
 
@@ -384,6 +387,9 @@ CREATE TABLE /*$wgDBprefix*/archive (
   -- Will be NULL for pages deleted prior to 1.11.
   ar_page_id int unsigned,
   
+  -- Original previous revision
+  ar_parent_id int unsigned default NULL,
+  
   KEY name_title_timestamp (ar_namespace,ar_title,ar_timestamp),
   KEY usertext_timestamp (ar_user_text,ar_timestamp)
 
@@ -486,6 +492,39 @@ CREATE TABLE /*$wgDBprefix*/categorylinks (
 
 ) /*$wgDBTableOptions*/;
 
+-- 
+-- Track all existing categories.  Something is a category if 1) it has an en-
+-- try somewhere in categorylinks, or 2) it once did.  Categories might not
+-- have corresponding pages, so they need to be tracked separately.
+--
+CREATE TABLE /*$wgDBprefix*/category (
+  -- Primary key
+  cat_id int unsigned NOT NULL auto_increment,
+
+  -- Name of the category, in the same form as page_title (with underscores).
+  -- If there is a category page corresponding to this category, by definition,
+  -- it has this name (in the Category namespace).
+  cat_title varchar(255) binary NOT NULL,
+
+  -- The numbers of member pages (including categories and media), subcatego-
+  -- ries, and Image: namespace members, respectively.  These are signed to
+  -- make underflow more obvious.  We make the first number include the second
+  -- two for better sorting: subtracting for display is easy, adding for order-
+  -- ing is not.
+  cat_pages int signed NOT NULL default 0,
+  cat_subcats int signed NOT NULL default 0,
+  cat_files int signed NOT NULL default 0,
+
+  -- Reserved for future use
+  cat_hidden tinyint unsigned NOT NULL default 0,
+  
+  PRIMARY KEY (cat_id),
+  UNIQUE KEY (cat_title),
+
+  -- For Special:Mostlinkedcategories
+  KEY (cat_pages)
+) /*$wgDBTableOptions*/;
+
 --
 -- Track links to external URLs
 --
@@ -597,6 +636,9 @@ CREATE TABLE /*$wgDBprefix*/ipblocks (
   -- User ID who made the block.
   ipb_by int unsigned NOT NULL default '0',
   
+  -- User name of blocker
+  ipb_by_text varchar(255) binary NOT NULL default '',
+  
   -- Text comment made by blocker.
   ipb_reason tinyblob NOT NULL,
   
@@ -1019,6 +1061,9 @@ CREATE TABLE /*$wgDBprefix*/transcache (
 ) /*$wgDBTableOptions*/;
 
 CREATE TABLE /*$wgDBprefix*/logging (
+  -- Log ID, for referring to this specific log entry, probably for deletion and such.
+  log_id int unsigned NOT NULL auto_increment,
+
   -- Symbolic keys for the general log type and the action type
   -- within the log. The output format will be controlled by the
   -- action field, but only the type controls categorization.
@@ -1042,9 +1087,6 @@ CREATE TABLE /*$wgDBprefix*/logging (
   -- LF separated list of miscellaneous parameters
   log_params blob NOT NULL,
 
-  -- Log ID, for referring to this specific log entry, probably for deletion and such.
-  log_id int unsigned NOT NULL auto_increment,
-
   -- rev_deleted for logs
   log_deleted tinyint unsigned NOT NULL default '0',
 
@@ -1171,7 +1213,7 @@ CREATE TABLE /*$wgDBprefix*/page_restrictions (
 -- Protected titles - nonexistent pages that have been protected
 CREATE TABLE /*$wgDBprefix*/protected_titles (
   pt_namespace int NOT NULL,
-  pt_title varchar(255) NOT NULL,
+  pt_title varchar(255) binary NOT NULL,
   pt_user int unsigned NOT NULL,
   pt_reason tinyblob,
   pt_timestamp binary(14) NOT NULL,
@@ -1181,4 +1223,19 @@ CREATE TABLE /*$wgDBprefix*/protected_titles (
   KEY pt_timestamp (pt_timestamp)
 ) /*$wgDBTableOptions*/;
 
+-- Name/value pairs indexed by page_id
+CREATE TABLE /*$wgDBprefix*/page_props (
+  pp_page int NOT NULL,
+  pp_propname varbinary(60) NOT NULL,
+  pp_value blob NOT NULL,
+
+  PRIMARY KEY (pp_page,pp_propname)
+) /*$wgDBTableOptions*/;
+
+-- A table to log updates, one text key row per update.
+CREATE TABLE /*$wgDBprefix*/updatelog (
+  ul_key varchar(255) NOT NULL,
+  PRIMARY KEY (ul_key)
+) /*$wgDBTableOptions*/;
+
 -- vim: sw=2 sts=2 et