my$mandatorygroups=$dbh->selectcol_arrayref("SELECT group_id FROM group_control_map WHERE product_id = ? AND (membercontrol = $mandatory)",undef,$product->id);
$dbh->do("DELETE user_group_map FROM groups JOIN user_group_map ON groups.id = user_group_map.group_id WHERE groups.isbuggroup = 1");
$dbh->do("DELETE group_group_map FROM groups JOIN group_group_map ON (groups.id = group_group_map.member_id OR groups.id = group_group_map.grantor_id) WHERE groups.isbuggroup = 1");
$dbh->do("DELETE group_control_map FROM groups JOIN group_control_map ON groups.id = group_control_map.group_id WHERE groups.isbuggroup = 1");
$dbh->do("UPDATE flagtypes LEFT JOIN groups ON flagtypes.grant_group_id = groups.id SET grant_group_id = NULL WHERE groups.isbuggroup = 1");
$dbh->do("UPDATE flagtypes LEFT JOIN groups ON flagtypes.request_group_id = groups.id SET request_group_id = NULL WHERE groups.isbuggroup = 1");
if($keep_group_bugs){
$dbh->do("DELETE FROM groups WHERE isbuggroup = 1 AND id $keep_group_bugs_sql");
}else{
$dbh->do("DELETE FROM groups WHERE isbuggroup = 1");
}
}
subdelete_sensitive_user_data{
#Removesensitiveuseraccountdata.
print"Deleting sensitive user account data...\n";
$dbh->do("UPDATE profiles SET cryptpassword = 'deleted'")unless$keep_passwords;
$dbh->do("DELETE FROM profiles_activity");
$dbh->do("DELETE FROM profile_search");
$dbh->do("DELETE FROM namedqueries");
$dbh->do("DELETE FROM tokens");
$dbh->do("DELETE FROM logincookies");
$dbh->do("DELETE FROM login_failure");
$dbh->do("DELETE FROM audit_log");
#queuedbugmail
$dbh->do("DELETE FROM ts_error");
$dbh->do("DELETE FROM ts_exitstatus");
$dbh->do("DELETE FROM ts_funcmap");
$dbh->do("DELETE FROM ts_job");
$dbh->do("DELETE FROM ts_note");
}
subdelete_attachment_data{
#Deleteunnecessaryattachmentdata.
print"Removing attachment data to preserve disk space...\n";