From: Roman Nosov Date: Fri, 9 Feb 2007 11:22:13 +0000 (+0000) Subject: Revision table tree patch (No objections have been raised so i'm committing it to... X-Git-Tag: 1.31.0-rc.0~54088 X-Git-Url: http://git.cyclocoop.org/%24image?a=commitdiff_plain;h=fcbea0c876e5f628586988b4ae625678ce8f4c41;p=lhc%2Fweb%2Fwiklou.git Revision table tree patch (No objections have been raised so i'm committing it to trunk) --- diff --git a/RELEASE-NOTES b/RELEASE-NOTES index e6c14684bd..2a899256f2 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -184,6 +184,7 @@ lighter making things easier to read. of other tables while they work. * Message names changed for AlphabeticPager introduced with r19758 for better localisations. +* Tree structure has been added to revision table == Languages updated == diff --git a/maintenance/archives/patch-rev_parent_id.sql b/maintenance/archives/patch-rev_parent_id.sql new file mode 100644 index 0000000000..971122bb76 --- /dev/null +++ b/maintenance/archives/patch-rev_parent_id.sql @@ -0,0 +1,9 @@ +-- +-- Key to revision.rev_id +-- This field is used to add support for a tree structure (The Adjacency List Model) +-- +-- 2007-03-04 +-- + +ALTER TABLE /*$wgDBprefix*/revision + ADD rev_parent_id int(8) unsigned default NULL; diff --git a/maintenance/mysql5/tables-binary.sql b/maintenance/mysql5/tables-binary.sql index 7f970f94ae..0d98f5f0c8 100644 --- a/maintenance/mysql5/tables-binary.sql +++ b/maintenance/mysql5/tables-binary.sql @@ -292,6 +292,10 @@ CREATE TABLE /*$wgDBprefix*/revision ( -- Not yet used; reserved for future changes to the deletion system. rev_deleted tinyint(1) unsigned NOT NULL default '0', + --Key to revision.rev_id + --This field is used to add support for a tree structure (The Adjacency List Model) + rev_parent_id int(8) unsigned default NULL, + PRIMARY KEY rev_page_id (rev_page, rev_id), UNIQUE INDEX rev_id (rev_id), INDEX rev_timestamp (rev_timestamp), diff --git a/maintenance/mysql5/tables.sql b/maintenance/mysql5/tables.sql index 11c9b16514..9afbd7d93f 100644 --- a/maintenance/mysql5/tables.sql +++ b/maintenance/mysql5/tables.sql @@ -283,6 +283,10 @@ CREATE TABLE /*$wgDBprefix*/revision ( -- Not yet used; reserved for future changes to the deletion system. rev_deleted tinyint(1) unsigned NOT NULL default '0', + --Key to revision.rev_id + --This field is used to add support for a tree structure (The Adjacency List Model) + rev_parent_id int(8) unsigned default NULL, + PRIMARY KEY rev_page_id (rev_page, rev_id), UNIQUE INDEX rev_id (rev_id), INDEX rev_timestamp (rev_timestamp), diff --git a/maintenance/postgres/tables.sql b/maintenance/postgres/tables.sql index 62e021e87a..1f7162b9e0 100644 --- a/maintenance/postgres/tables.sql +++ b/maintenance/postgres/tables.sql @@ -92,7 +92,9 @@ CREATE TABLE revision ( rev_user_text TEXT NOT NULL, rev_timestamp TIMESTAMPTZ NOT NULL, rev_minor_edit CHAR NOT NULL DEFAULT '0', - rev_deleted CHAR NOT NULL DEFAULT '0' + rev_deleted CHAR NOT NULL DEFAULT '0', + rev_parent_id INTEGER DEFAULT NULL + ); CREATE UNIQUE INDEX revision_unique ON revision (rev_page, rev_id); CREATE INDEX rev_text_id_idx ON revision (rev_text_id); diff --git a/maintenance/tables.sql b/maintenance/tables.sql index 28339f6c07..d2235f0161 100644 --- a/maintenance/tables.sql +++ b/maintenance/tables.sql @@ -270,6 +270,10 @@ CREATE TABLE /*$wgDBprefix*/revision ( -- Not yet used; reserved for future changes to the deletion system. rev_deleted tinyint(1) unsigned NOT NULL default '0', + --Key to revision.rev_id + --This field is used to add support for a tree structure (The Adjacency List Model) + rev_parent_id int(8) unsigned default NULL, + PRIMARY KEY rev_page_id (rev_page, rev_id), UNIQUE INDEX rev_id (rev_id), INDEX rev_timestamp (rev_timestamp), diff --git a/maintenance/updaters.inc b/maintenance/updaters.inc index 99cd39c5d0..efd4f51597 100644 --- a/maintenance/updaters.inc +++ b/maintenance/updaters.inc @@ -67,6 +67,7 @@ $wgNewFields = array( array( 'user', 'user_newpass_time','patch-user_newpass_time.sql' ), array( 'user', 'user_editcount', 'patch-user_editcount.sql' ), array( 'logging', 'log_id', 'patch-log_id.sql' ), + array( 'revision', 'rev_parent_id', 'patch-rev_parent_id.sql' ), ); function rename_table( $from, $to, $patch ) { @@ -412,6 +413,7 @@ function do_schema_restructuring() { rev_timestamp char(14) binary NOT NULL default '', rev_minor_edit tinyint(1) unsigned NOT NULL default '0', rev_deleted tinyint(1) unsigned NOT NULL default '0', + rev_parent_id int(8) unsigned default NULL, PRIMARY KEY rev_page_id (rev_page, rev_id), UNIQUE INDEX rev_id (rev_id),