From: Dave Lawrence Date: Tue, 31 Jul 2012 15:31:06 +0000 (-0400) Subject: Bug 776982 - Increase longdescs primary key size to INTSERIAL for future growth X-Git-Tag: bugzilla-4.3.3~55 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d0b2bc684850c7a6287eaabd27a98469d868d4fa;p=thirdparty%2Fbugzilla.git Bug 776982 - Increase longdescs primary key size to INTSERIAL for future growth r/a=LpSolit --- diff --git a/Bugzilla/DB/Schema.pm b/Bugzilla/DB/Schema.pm index a4bd40cbb3..3330c846ae 100644 --- a/Bugzilla/DB/Schema.pm +++ b/Bugzilla/DB/Schema.pm @@ -341,7 +341,7 @@ use constant ABSTRACT_SCHEMA => { COLUMN => 'id'}}, added => {TYPE => 'varchar(255)'}, removed => {TYPE => 'varchar(255)'}, - comment_id => {TYPE => 'INT3', + comment_id => {TYPE => 'INT4', REFERENCES => { TABLE => 'longdescs', COLUMN => 'comment_id', DELETE => 'CASCADE'}}, @@ -376,7 +376,7 @@ use constant ABSTRACT_SCHEMA => { longdescs => { FIELDS => [ - comment_id => {TYPE => 'MEDIUMSERIAL', NOTNULL => 1, + comment_id => {TYPE => 'INTSERIAL', NOTNULL => 1, PRIMARYKEY => 1}, bug_id => {TYPE => 'INT3', NOTNULL => 1, REFERENCES => {TABLE => 'bugs', diff --git a/Bugzilla/Install/DB.pm b/Bugzilla/Install/DB.pm index 382a50e509..31c8da71c3 100644 --- a/Bugzilla/Install/DB.pm +++ b/Bugzilla/Install/DB.pm @@ -440,7 +440,7 @@ sub update_table_definitions { # 2005-12-07 altlst@sonic.net -- Bug 225221 $dbh->bz_add_column('longdescs', 'comment_id', - {TYPE => 'MEDIUMSERIAL', NOTNULL => 1, PRIMARYKEY => 1}); + {TYPE => 'INTSERIAL', NOTNULL => 1, PRIMARYKEY => 1}); _stop_storing_inactive_flags(); _change_short_desc_from_mediumtext_to_varchar(); @@ -592,7 +592,7 @@ sub update_table_definitions { _fix_series_creator_fk(); # 2009-11-14 dkl@redhat.com - Bug 310450 - $dbh->bz_add_column('bugs_activity', 'comment_id', {TYPE => 'INT3'}); + $dbh->bz_add_column('bugs_activity', 'comment_id', {TYPE => 'INT4'}); # 2010-04-07 LpSolit@gmail.com - Bug 69621 $dbh->bz_drop_column('bugs', 'keywords'); @@ -691,6 +691,9 @@ sub update_table_definitions { {TYPE => 'INTSERIAL', NOTNULL => 1, PRIMARYKEY => 1}); + # 2012-07-24 dkl@mozilla.com - Bug 776982 + _fix_longdescs_primary_key(); + ################################################################ # New --TABLE-- changes should go *** A B O V E *** this point # ################################################################ @@ -3712,6 +3715,16 @@ sub _fix_notnull_defaults { } } +sub _fix_longdescs_primary_key { + my $dbh = Bugzilla->dbh; + if ($dbh->bz_column_info('longdescs', 'comment_id')->{TYPE} ne 'INTSERIAL') { + $dbh->bz_drop_related_fks('longdescs', 'comment_id'); + $dbh->bz_alter_column('bugs_activity', 'comment_id', {TYPE => 'INT4'}); + $dbh->bz_alter_column('longdescs', 'comment_id', + {TYPE => 'INTSERIAL', NOTNULL => 1, PRIMARYKEY => 1}); + } +} + 1; __END__