AACK! checksetup.pl was stomping all over the new fielddefs table if

it got run more than once.  This checkin fixes that, and also changes
the DumpBugActivity() routine to give me enough information to
hopefully repair the damaged mozilla.org database...


git-svn-id: svn://10.0.0.236/trunk@58412 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
terry%mozilla.org
2000-01-22 21:43:30 +00:00
parent a0459b9da7
commit e11e9b4ace
2 changed files with 16 additions and 5 deletions

View File

@@ -778,12 +778,14 @@ sub DumpBugActivity {
$datepart = "and bugs_activity.bug_when >= $starttime";
}
my $query = "
SELECT fielddefs.name, bugs_activity.bug_when,
SELECT IFNULL(fielddefs.name, bugs_activity.fieldid),
bugs_activity.bug_when,
bugs_activity.oldvalue, bugs_activity.newvalue,
profiles.login_name
FROM bugs_activity,profiles,fielddefs
FROM bugs_activity LEFT JOIN fielddefs ON
bugs_activity.fieldid = fielddefs.fieldid,
profiles
WHERE bugs_activity.bug_id = $id $datepart
AND fielddefs.fieldid = bugs_activity.fieldid
AND profiles.userid = bugs_activity.who
ORDER BY bugs_activity.bug_when";

View File

@@ -851,9 +851,17 @@ sub AddFDef ($$$) {
$name = $dbh->quote($name);
$description = $dbh->quote($description);
my $sth = $dbh->prepare("SELECT fieldid FROM fielddefs " .
"WHERE name = $name");
$sth->execute();
my ($fieldid) = ($sth->fetchrow_array());
if (!$fieldid) {
$fieldid = 'NULL';
}
$dbh->do("REPLACE INTO fielddefs " .
"(name, description, mailhead, sortkey) VALUES " .
"($name, $description, $mailhead, $headernum)");
"(fieldid, name, description, mailhead, sortkey) VALUES " .
"($fieldid, $name, $description, $mailhead, $headernum)");
$headernum++;
}
@@ -876,6 +884,7 @@ AddFDef("cc", "CC", 0);
AddFDef("dependson", "BugsThisDependsOn", 0);
AddFDef("blocked", "OtherBugsDependingOnThis", 0);
AddFDef("target_milestone", "Target Milestone", 0);
AddFDef("stupidtest", "Stupidtest", 0);