From 14d1076a781b6c617aa4eb8f60894a75e9cf2028 Mon Sep 17 00:00:00 2001 From: Yuri Astrakhan Date: Wed, 25 Oct 2006 14:17:58 +0000 Subject: [PATCH] Added querycachetwo table creation & patch. The table will be used to cache items with two links. --- maintenance/archives/patch-querycachetwo.sql | 22 +++++++++++++++++ maintenance/mysql5/tables.sql | 23 ++++++++++++++++++ maintenance/tables.sql | 25 +++++++++++++++++--- maintenance/updaters.inc | 1 + 4 files changed, 68 insertions(+), 3 deletions(-) create mode 100644 maintenance/archives/patch-querycachetwo.sql diff --git a/maintenance/archives/patch-querycachetwo.sql b/maintenance/archives/patch-querycachetwo.sql new file mode 100644 index 0000000000..cda5b90d07 --- /dev/null +++ b/maintenance/archives/patch-querycachetwo.sql @@ -0,0 +1,22 @@ +-- Used for caching expensive grouped queries that need two links (for example double-redirects) + +CREATE TABLE /*$wgDBprefix*/querycachetwo ( + -- A key name, generally the base name of of the special page. + qcc_type char(32) NOT NULL, + + -- Some sort of stored value. Sizes, counts... + qcc_value int(5) unsigned NOT NULL default '0', + + -- Target namespace+title + qcc_namespace int NOT NULL default '0', + qcc_title char(255) binary NOT NULL default '', + + -- Target namespace+title2 + qcc_namespacetwo int NOT NULL default '0', + qcc_titletwo char(255) binary NOT NULL default '', + + KEY qcc_type (qcc_type,qcc_value), + KEY qcc_title (qcc_type,qcc_namespace,qcc_title), + KEY qcc_titletwo (qcc_type,qcc_namespacetwo,qcc_titletwo) + +) TYPE=InnoDB; diff --git a/maintenance/mysql5/tables.sql b/maintenance/mysql5/tables.sql index f25988e388..c28c80ba49 100644 --- a/maintenance/mysql5/tables.sql +++ b/maintenance/mysql5/tables.sql @@ -1040,3 +1040,26 @@ CREATE TABLE /*$wgDBprefix*/redirect ( PRIMARY KEY rd_from (rd_from), KEY rd_ns_title (rd_namespace,rd_title,rd_from) ) TYPE=InnoDB, DEFAULT CHARSET=utf8; + +-- Used for caching expensive grouped queries that need two links (for example double-redirects) + +CREATE TABLE /*$wgDBprefix*/querycachetwo ( + -- A key name, generally the base name of of the special page. + qcc_type char(32) NOT NULL, + + -- Some sort of stored value. Sizes, counts... + qcc_value int(5) unsigned NOT NULL default '0', + + -- Target namespace+title + qcc_namespace int NOT NULL default '0', + qcc_title char(255) binary NOT NULL default '', + + -- Target namespace+title2 + qcc_namespacetwo int NOT NULL default '0', + qcc_titletwo char(255) binary NOT NULL default '', + + KEY qcc_type (qcc_type,qcc_value), + KEY qcc_title (qcc_type,qcc_namespace,qcc_title), + KEY qcc_titletwo (qcc_type,qcc_namespacetwo,qcc_titletwo) + +) TYPE=InnoDB, DEFAULT CHARSET=utf8; diff --git a/maintenance/tables.sql b/maintenance/tables.sql index 1c7905b7f0..20e45d9c70 100644 --- a/maintenance/tables.sql +++ b/maintenance/tables.sql @@ -1016,10 +1016,7 @@ CREATE TABLE /*$wgDBprefix*/querycache_info ( ) TYPE=InnoDB; --- --- Create the new redirect table. -- For each redirect, this table contains exactly one row defining its target --- CREATE TABLE /*$wgDBprefix*/redirect ( -- Key to the page_id of the redirect page rd_from int(8) unsigned NOT NULL default '0', @@ -1035,4 +1032,26 @@ CREATE TABLE /*$wgDBprefix*/redirect ( KEY rd_ns_title (rd_namespace,rd_title,rd_from) ) TYPE=InnoDB; +-- Used for caching expensive grouped queries that need two links (for example double-redirects) +CREATE TABLE /*$wgDBprefix*/querycachetwo ( + -- A key name, generally the base name of of the special page. + qcc_type char(32) NOT NULL, + + -- Some sort of stored value. Sizes, counts... + qcc_value int(5) unsigned NOT NULL default '0', + + -- Target namespace+title + qcc_namespace int NOT NULL default '0', + qcc_title char(255) binary NOT NULL default '', + + -- Target namespace+title2 + qcc_namespacetwo int NOT NULL default '0', + qcc_titletwo char(255) binary NOT NULL default '', + + KEY qcc_type (qcc_type,qcc_value), + KEY qcc_title (qcc_type,qcc_namespace,qcc_title), + KEY qcc_titletwo (qcc_type,qcc_namespacetwo,qcc_titletwo) + +) TYPE=InnoDB; + -- vim: sw=2 sts=2 et diff --git a/maintenance/updaters.inc b/maintenance/updaters.inc index 6985a44936..e3b4f65c4c 100644 --- a/maintenance/updaters.inc +++ b/maintenance/updaters.inc @@ -31,6 +31,7 @@ $wgNewTables = array( array( 'querycache_info', 'patch-querycacheinfo.sql' ), array( 'filearchive', 'patch-filearchive.sql' ), array( 'redirect', 'patch-redirect.sql' ), + array( 'querycachetwo', 'patch-querycachetwo.sql' ), ); $wgNewFields = array( -- 2.20.1