Bug 903895 - Allow more than 32k components

r=gerv, a=sgreen


git-svn-id: svn://10.0.0.236/trunk@264988 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
bzrmirror%bugzilla.org
2013-08-30 08:51:42 +00:00
parent c83ee562ea
commit acb0db86c5
3 changed files with 28 additions and 8 deletions

View File

@@ -711,6 +711,9 @@ sub update_table_definitions {
# 2013-02-04 dkl@mozilla.com - Bug 824346
_fix_flagclusions_indexes();
# 2013-08-26 sgreen@redhat.com - Bug 903895
_fix_components_primary_key();
################################################################
# New --TABLE-- changes should go *** A B O V E *** this point #
################################################################
@@ -1429,9 +1432,9 @@ sub _use_ids_for_products_and_components {
print "Updating the database to use component IDs.\n";
$dbh->bz_add_column("components", "id",
{TYPE => 'SMALLSERIAL', NOTNULL => 1, PRIMARYKEY => 1});
{TYPE => 'MEDIUMSERIAL', NOTNULL => 1, PRIMARYKEY => 1});
$dbh->bz_add_column("bugs", "component_id",
{TYPE => 'INT2', NOTNULL => 1}, 0);
{TYPE => 'INT3', NOTNULL => 1}, 0);
my %components;
$sth = $dbh->prepare("SELECT id, value, product_id FROM components");
@@ -3852,6 +3855,23 @@ sub _fix_flagclusions_indexes {
}
}
sub _fix_components_primary_key {
my $dbh = Bugzilla->dbh;
if ($dbh->bz_column_info('components', 'id')->{TYPE} ne 'MEDIUMSERIAL') {
$dbh->bz_drop_related_fks('components', 'id');
$dbh->bz_alter_column("components", "id",
{TYPE => 'MEDIUMSERIAL', NOTNULL => 1, PRIMARYKEY => 1});
$dbh->bz_alter_column("flaginclusions", "component_id",
{TYPE => 'INT3'});
$dbh->bz_alter_column("flagexclusions", "component_id",
{TYPE => 'INT3'});
$dbh->bz_alter_column("bugs", "component_id",
{TYPE => 'INT3', NOTNULL => 1});
$dbh->bz_alter_column("component_cc", "component_id",
{TYPE => 'INT3', NOTNULL => 1});
}
}
1;
__END__