Bug 11057 - Increase size of ug_group in user_groups table
authorReedy <reedy@wikimedia.org>
Wed, 2 Jan 2013 20:20:22 +0000 (20:20 +0000)
committerReedy <reedy@wikimedia.org>
Wed, 2 Jan 2013 20:32:42 +0000 (20:32 +0000)
Change-Id: I79fd5c6e1566de3145ac39420da4fce77099745a

19 files changed:
includes/installer/MysqlUpdater.php
includes/installer/OracleUpdater.php
includes/installer/SqliteUpdater.php
maintenance/archives/patch-ufg_group-length-increase-255.sql [new file with mode: 0644]
maintenance/archives/patch-ufg_group-length-increase.sql [deleted file]
maintenance/archives/patch-ug_group-length-increase-255.sql [new file with mode: 0644]
maintenance/archives/patch-ug_group-length-increase.sql [deleted file]
maintenance/archives/patch-user_former_groups.sql
maintenance/oracle/archives/patch-ufg_group-length-increase-255.sql [new file with mode: 0644]
maintenance/oracle/archives/patch-ufg_group-length-increase.sql [deleted file]
maintenance/oracle/archives/patch-ug_group-length-increase-255.sql [new file with mode: 0644]
maintenance/oracle/archives/patch-ug_group-length-increase.sql [deleted file]
maintenance/oracle/archives/patch-user_former_groups.sql
maintenance/oracle/tables.sql
maintenance/sqlite/archives/patch-ufg_group-length-increase-255.sql [new file with mode: 0644]
maintenance/sqlite/archives/patch-ufg_group-length-increase.sql [deleted file]
maintenance/sqlite/archives/patch-ug_group-length-increase-255.sql [new file with mode: 0644]
maintenance/sqlite/archives/patch-ug_group-length-increase.sql [deleted file]
maintenance/tables.sql

index bbeb685..469e9a4 100644 (file)
@@ -203,10 +203,8 @@ class MysqlUpdater extends DatabaseUpdater {
                        array( 'addField', 'revision',      'rev_sha1',         'patch-rev_sha1.sql' ),
                        array( 'addField', 'archive',       'ar_sha1',          'patch-ar_sha1.sql' ),
                        array( 'addIndex', 'page', 'page_redirect_namespace_len', 'patch-page_redirect_namespace_len.sql' ),
-                       array( 'modifyField', 'user_groups', 'ug_group', 'patch-ug_group-length-increase.sql' ),
                        array( 'addField',      'uploadstash',  'us_chunk_inx',         'patch-uploadstash_chunk.sql' ),
                        array( 'addfield', 'job',           'job_timestamp',    'patch-jobs-add-timestamp.sql' ),
-                       array( 'modifyField', 'user_former_groups', 'ufg_group', 'patch-ufg_group-length-increase.sql' ),
 
                        // 1.20
                        array( 'addIndex', 'revision', 'page_user_timestamp', 'patch-revision-user-page-index.sql' ),
@@ -228,6 +226,8 @@ class MysqlUpdater extends DatabaseUpdater {
                        array( 'addField', 'job',           'job_attempts',       'patch-job_attempts.sql' ),
                        array( 'doEnableProfiling' ),
                        array( 'addField', 'uploadstash',      'us_props',      'patch-uploadstash-us_props.sql' ),
+                       array( 'modifyField', 'user_groups', 'ug_group', 'patch-ug_group-length-increase-255.sql' ),
+                       array( 'modifyField', 'user_former_groups', 'ufg_group', 'patch-ufg_group-length-increase-255.sql' ),
                );
        }
 
index 86b52d6..8f43a6d 100644 (file)
@@ -59,12 +59,10 @@ class OracleUpdater extends DatabaseUpdater {
                        array( 'addField', 'archive', 'ar_sha1', 'patch-ar_sha1_field.sql' ),
                        array( 'doRemoveNotNullEmptyDefaults2' ),
                        array( 'addIndex', 'page', 'i03', 'patch-page_redirect_namespace_len.sql' ),
-                       array( 'modifyField', 'user_groups', 'ug_group', 'patch-ug_group-length-increase.sql' ),
                        array( 'addField', 'uploadstash', 'us_chunk_inx', 'patch-us_chunk_inx_field.sql' ),
                        array( 'addField', 'job', 'job_timestamp', 'patch-job_timestamp_field.sql' ),
                        array( 'addIndex', 'job', 'i02', 'patch-job_timestamp_index.sql' ),
                        array( 'doPageRestrictionsPKUKFix' ),
-                       array( 'modifyField', 'user_former_groups', 'ufg_group', 'patch-ufg_group-length-increase.sql' ),
 
                        //1.20
                        array( 'addIndex', 'ipblocks', 'i05', 'patch-ipblocks_i05_index.sql' ),
@@ -84,6 +82,8 @@ class OracleUpdater extends DatabaseUpdater {
                        array( 'addField', 'job',           'job_token',         'patch-job_token.sql' ),
                        array( 'addField', 'job',           'job_attempts',       'patch-job_attempts.sql' ),
                        array( 'addField', 'uploadstash',      'us_props',      'patch-uploadstash-us_props.sql' ),
+                       array( 'modifyField', 'user_groups', 'ug_group', 'patch-ug_group-length-increase-255.sql' ),
+                       array( 'modifyField', 'user_former_groups', 'ufg_group', 'patch-ufg_group-length-increase-255.sql' ),
 
                        // KEEP THIS AT THE BOTTOM!!
                        array( 'doRebuildDuplicateFunction' ),
index 1d6bca0..b5cd640 100644 (file)
@@ -82,10 +82,8 @@ class SqliteUpdater extends DatabaseUpdater {
                        array( 'addField', 'revision',      'rev_sha1',         'patch-rev_sha1.sql' ),
                        array( 'addField', 'archive',       'ar_sha1',          'patch-ar_sha1.sql' ),
                        array( 'addIndex', 'page', 'page_redirect_namespace_len', 'patch-page_redirect_namespace_len.sql' ),
-                       array( 'modifyField', 'user_groups', 'ug_group', 'patch-ug_group-length-increase.sql' ),
                        array( 'addField',      'uploadstash',  'us_chunk_inx',         'patch-uploadstash_chunk.sql' ),
                        array( 'addfield', 'job',           'job_timestamp',    'patch-jobs-add-timestamp.sql' ),
-                       array( 'modifyField', 'user_former_groups', 'ufg_group', 'patch-ug_group-length-increase.sql' ),
 
                        // 1.20
                        array( 'addIndex', 'revision', 'page_user_timestamp', 'patch-revision-user-page-index.sql' ),
@@ -108,6 +106,8 @@ class SqliteUpdater extends DatabaseUpdater {
                        array( 'addField', 'job',           'job_attempts',      'patch-job_attempts.sql' ),
                        array( 'doEnableProfiling' ),
                        array( 'addField', 'uploadstash',      'us_props',      'patch-uploadstash-us_props.sql' ),
+                       array( 'modifyField', 'user_groups', 'ug_group', 'patch-ug_group-length-increase-255.sql' ),
+                       array( 'modifyField', 'user_former_groups', 'ufg_group', 'patch-ufg_group-length-increase-255.sql' ),
                );
        }
 
diff --git a/maintenance/archives/patch-ufg_group-length-increase-255.sql b/maintenance/archives/patch-ufg_group-length-increase-255.sql
new file mode 100644 (file)
index 0000000..4b7f0d3
--- /dev/null
@@ -0,0 +1,2 @@
+ALTER TABLE /*_*/user_former_groups
+       MODIFY COLUMN ufg_group varbinary(255) NOT NULL default '';
diff --git a/maintenance/archives/patch-ufg_group-length-increase.sql b/maintenance/archives/patch-ufg_group-length-increase.sql
deleted file mode 100644 (file)
index e24cba0..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-ALTER TABLE /*_*/user_former_groups
-       MODIFY COLUMN ufg_group varbinary(32) NOT NULL default '';
diff --git a/maintenance/archives/patch-ug_group-length-increase-255.sql b/maintenance/archives/patch-ug_group-length-increase-255.sql
new file mode 100644 (file)
index 0000000..79e17ac
--- /dev/null
@@ -0,0 +1,2 @@
+ALTER TABLE /*_*/user_groups
+       MODIFY COLUMN ug_group varbinary(255) NOT NULL default '';
diff --git a/maintenance/archives/patch-ug_group-length-increase.sql b/maintenance/archives/patch-ug_group-length-increase.sql
deleted file mode 100644 (file)
index e944a85..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-ALTER TABLE /*_*/user_groups
-       MODIFY COLUMN ug_group varbinary(32) NOT NULL default '';
index 591c753..b043196 100644 (file)
@@ -3,7 +3,7 @@
 CREATE TABLE /*_*/user_former_groups (
   -- Key to user_id
   ufg_user int unsigned NOT NULL default 0,
-  ufg_group varbinary(32) NOT NULL default ''
+  ufg_group varbinary(255) NOT NULL default ''
 ) /*$wgDBTableOptions*/;
 
 CREATE UNIQUE INDEX /*i*/ufg_user_group ON /*_*/user_former_groups (ufg_user,ufg_group);
diff --git a/maintenance/oracle/archives/patch-ufg_group-length-increase-255.sql b/maintenance/oracle/archives/patch-ufg_group-length-increase-255.sql
new file mode 100644 (file)
index 0000000..6a4a751
--- /dev/null
@@ -0,0 +1,9 @@
+define mw_prefix='{$wgDBprefix}';
+
+/*$mw$*/
+BEGIN
+       EXECUTE IMMEDIATE 'ALTER TABLE &mw_prefix.user_former_groups MODIFY ufg_group VARCHAR2(255) NOT NULL';
+EXCEPTION WHEN OTHERS THEN
+       IF (SQLCODE = -01442) THEN NULL; ELSE RAISE; END IF;
+END;
+/*$mw$*/
diff --git a/maintenance/oracle/archives/patch-ufg_group-length-increase.sql b/maintenance/oracle/archives/patch-ufg_group-length-increase.sql
deleted file mode 100644 (file)
index a48b8bf..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-define mw_prefix='{$wgDBprefix}';
-
-/*$mw$*/
-BEGIN
-       EXECUTE IMMEDIATE 'ALTER TABLE &mw_prefix.user_former_groups MODIFY ufg_group VARCHAR2(32) NOT NULL';
-EXCEPTION WHEN OTHERS THEN
-       IF (SQLCODE = -01442) THEN NULL; ELSE RAISE; END IF;
-END;
-/*$mw$*/
diff --git a/maintenance/oracle/archives/patch-ug_group-length-increase-255.sql b/maintenance/oracle/archives/patch-ug_group-length-increase-255.sql
new file mode 100644 (file)
index 0000000..00a5e7b
--- /dev/null
@@ -0,0 +1,9 @@
+define mw_prefix='{$wgDBprefix}';
+
+/*$mw$*/
+BEGIN
+       EXECUTE IMMEDIATE 'ALTER TABLE &mw_prefix.user_groups MODIFY ug_group VARCHAR2(255) NOT NULL';
+EXCEPTION WHEN OTHERS THEN
+       IF (SQLCODE = -01442) THEN NULL; ELSE RAISE; END IF;
+END;
+/*$mw$*/
diff --git a/maintenance/oracle/archives/patch-ug_group-length-increase.sql b/maintenance/oracle/archives/patch-ug_group-length-increase.sql
deleted file mode 100644 (file)
index 89e5532..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-define mw_prefix='{$wgDBprefix}';
-
-/*$mw$*/
-BEGIN
-       EXECUTE IMMEDIATE 'ALTER TABLE &mw_prefix.user_groups MODIFY ug_group VARCHAR2(32) NOT NULL';
-EXCEPTION WHEN OTHERS THEN
-       IF (SQLCODE = -01442) THEN NULL; ELSE RAISE; END IF;
-END;
-/*$mw$*/
index 59147eb..c14824e 100644 (file)
@@ -2,7 +2,7 @@ define mw_prefix='{$wgDBprefix}';
 
 CREATE TABLE &mw_prefix.user_former_groups (
   ufg_user   NUMBER      DEFAULT 0 NOT NULL,
-  ufg_group  VARCHAR2(16)     NOT NULL
+  ufg_group  VARCHAR2(255)     NOT NULL
 );
 ALTER TABLE &mw_prefix.user_former_groups ADD CONSTRAINT &mw_prefix.user_former_groups_fk1 FOREIGN KEY (ufg_user) REFERENCES &mw_prefix.mwuser(user_id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED;
 CREATE UNIQUE INDEX &mw_prefix.user_former_groups_u01 ON &mw_prefix.user_former_groups (ufg_user,ufg_group);
index c3c3df9..b5b3b07 100644 (file)
@@ -31,7 +31,7 @@ INSERT INTO &mw_prefix.mwuser
 
 CREATE TABLE &mw_prefix.user_groups (
   ug_user   NUMBER      DEFAULT 0 NOT NULL,
-  ug_group  VARCHAR2(32)     NOT NULL
+  ug_group  VARCHAR2(255)     NOT NULL
 );
 ALTER TABLE &mw_prefix.user_groups ADD CONSTRAINT &mw_prefix.user_groups_fk1 FOREIGN KEY (ug_user) REFERENCES &mw_prefix.mwuser(user_id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED;
 CREATE UNIQUE INDEX &mw_prefix.user_groups_u01 ON &mw_prefix.user_groups (ug_user,ug_group);
@@ -39,7 +39,7 @@ CREATE INDEX &mw_prefix.user_groups_i01 ON &mw_prefix.user_groups (ug_group);
 
 CREATE TABLE &mw_prefix.user_former_groups (
   ufg_user   NUMBER      DEFAULT 0 NOT NULL,
-  ufg_group  VARCHAR2(16)     NOT NULL
+  ufg_group  VARCHAR2(255)     NOT NULL
 );
 ALTER TABLE &mw_prefix.user_former_groups ADD CONSTRAINT &mw_prefix.user_former_groups_fk1 FOREIGN KEY (ufg_user) REFERENCES &mw_prefix.mwuser(user_id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED;
 CREATE UNIQUE INDEX &mw_prefix.user_former_groups_u01 ON &mw_prefix.user_former_groups (ufg_user,ufg_group);
diff --git a/maintenance/sqlite/archives/patch-ufg_group-length-increase-255.sql b/maintenance/sqlite/archives/patch-ufg_group-length-increase-255.sql
new file mode 100644 (file)
index 0000000..edd0a3d
--- /dev/null
@@ -0,0 +1,15 @@
+ CREATE TABLE /*_*/user_former_groups_tmp (
+  ufg_user int unsigned NOT NULL default 0,
+  ufg_group varbinary(255) NOT NULL default ''
+) /*$wgDBTableOptions*/;
+
+INSERT INTO /*_*/user_former_groups_tmp
+       SELECT ufg_user, ufg_group
+               FROM /*_*/user_former_groups;
+
+DROP TABLE /*_*/user_former_groups;
+
+ALTER TABLE /*_*/user_former_groups_tmp RENAME TO /*_*/user_former_groups;
+
+CREATE UNIQUE INDEX /*i*/ufg_user_group ON /*_*/user_former_groups (ufg_user,ufg_group);
+
diff --git a/maintenance/sqlite/archives/patch-ufg_group-length-increase.sql b/maintenance/sqlite/archives/patch-ufg_group-length-increase.sql
deleted file mode 100644 (file)
index c6dcea5..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-CREATE TABLE /*_*/user_former_groups_tmp (
-  ug_user int unsigned NOT NULL default 0,
-  ug_group varbinary(32) NOT NULL default ''
-) /*$wgDBTableOptions*/;
-
-INSERT INTO /*_*/user_former_groups_tmp
-       SELECT ug_user, ug_group
-               FROM /*_*/user_groups;
-
-DROP TABLE /*_*/user_former_groups;
-
-ALTER TABLE /*_*/user_former_groups_tmp RENAME TO /*_*/user_former_groups;
-
-CREATE UNIQUE INDEX /*i*/ufg_user_group ON /*_*/user_former_groups (ufg_user,ufg_group);
-
diff --git a/maintenance/sqlite/archives/patch-ug_group-length-increase-255.sql b/maintenance/sqlite/archives/patch-ug_group-length-increase-255.sql
new file mode 100644 (file)
index 0000000..3daeb7c
--- /dev/null
@@ -0,0 +1,15 @@
+CREATE TABLE /*_*/user_groups_tmp (
+  ug_user int unsigned NOT NULL default 0,
+  ug_group varbinary(255) NOT NULL default ''
+) /*$wgDBTableOptions*/;
+
+INSERT INTO /*_*/user_groups_tmp
+       SELECT ug_user, ug_group
+               FROM /*_*/user_groups;
+
+DROP TABLE /*_*/user_groups;
+
+ALTER TABLE /*_*/user_groups_tmp RENAME TO /*_*/user_groups;
+
+CREATE UNIQUE INDEX /*i*/ug_user_group ON /*_*/user_groups (ug_user,ug_group);
+CREATE INDEX /*i*/ug_group ON /*_*/user_groups (ug_group);
diff --git a/maintenance/sqlite/archives/patch-ug_group-length-increase.sql b/maintenance/sqlite/archives/patch-ug_group-length-increase.sql
deleted file mode 100644 (file)
index 5e81093..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-CREATE TABLE /*_*/user_groups_tmp (
-  ug_user int unsigned NOT NULL default 0,
-  ug_group varbinary(32) NOT NULL default ''
-) /*$wgDBTableOptions*/;
-
-INSERT INTO /*_*/user_groups_tmp
-       SELECT ug_user, ug_group
-               FROM /*_*/user_groups;
-
-DROP TABLE /*_*/user_groups;
-
-ALTER TABLE /*_*/user_groups_tmp RENAME TO /*_*/user_groups;
-
-CREATE UNIQUE INDEX /*i*/ug_user_group ON /*_*/user_groups (ug_user,ug_group);
-CREATE INDEX /*i*/ug_group ON /*_*/user_groups (ug_group);
index c9a188b..14d7422 100644 (file)
@@ -152,7 +152,7 @@ CREATE TABLE /*_*/user_groups (
   -- with particular permissions. A user will have the combined
   -- permissions of any group they're explicitly in, plus
   -- the implicit '*' and 'user' groups.
-  ug_group varbinary(32) NOT NULL default ''
+  ug_group varbinary(255) NOT NULL default ''
 ) /*$wgDBTableOptions*/;
 
 CREATE UNIQUE INDEX /*i*/ug_user_group ON /*_*/user_groups (ug_user,ug_group);
@@ -164,7 +164,7 @@ CREATE INDEX /*i*/ug_group ON /*_*/user_groups (ug_group);
 CREATE TABLE /*_*/user_former_groups (
   -- Key to user_id
   ufg_user int unsigned NOT NULL default 0,
-  ufg_group varbinary(32) NOT NULL default ''
+  ufg_group varbinary(255) NOT NULL default ''
 ) /*$wgDBTableOptions*/;
 
 CREATE UNIQUE INDEX /*i*/ufg_user_group ON /*_*/user_former_groups (ufg_user,ufg_group);