From: terry%mozilla.org <> Date: Sun, 23 Jan 2000 05:43:29 +0000 (+0000) Subject: AACK! checksetup.pl was stomping all over the new fielddefs table if X-Git-Tag: bugzilla-2.12~435 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6c604de4e442ea6fb716e6ca322a49773e795a74;p=thirdparty%2Fbugzilla.git 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... --- diff --git a/CGI.pl b/CGI.pl index 4ad0064f3e..8770da7489 100644 --- a/CGI.pl +++ b/CGI.pl @@ -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"; diff --git a/checksetup.pl b/checksetup.pl index 02e629805b..6adbc42f48 100755 --- a/checksetup.pl +++ b/checksetup.pl @@ -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);