$dbh->bz_lock_tables('products WRITE', 'components WRITE',
'versions WRITE', 'milestones WRITE',
- 'group_control_map WRITE',
+ 'group_control_map WRITE', 'component_cc WRITE',
'flaginclusions WRITE', 'flagexclusions WRITE');
+ my $comp_ids = $dbh->selectcol_arrayref('SELECT id FROM components
+ WHERE product_id = ?',
+ undef, $product->id);
+
+ $dbh->do('DELETE FROM component_cc WHERE component_id IN
+ (' . join(',', @$comp_ids) . ')') if scalar(@$comp_ids);
+
$dbh->do("DELETE FROM components WHERE product_id = ?",
undef, $product->id);
["tokens", "userid"],
["user_group_map", "user_id"],
["components", "initialowner", "name"],
- ["components", "initialqacontact", "name"]);
+ ["components", "initialqacontact", "name"],
+ ["component_cc", "user_id"]);
CrossCheck("products", "id",
["bugs", "product_id", "bug_id"],
["flaginclusions", "product_id", "type_id"],
["flagexclusions", "product_id", "type_id"]);
+CrossCheck("components", "id",
+ ["component_cc", "component_id"]);
+
# Check the former enum types -mkanat@bugzilla.org
CrossCheck("bug_status", "value",
["bugs", "bug_status", "bug_id"]);