]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
AACK! checksetup.pl was stomping all over the new fielddefs table if
authorterry%mozilla.org <>
Sun, 23 Jan 2000 05:43:29 +0000 (05:43 +0000)
committerterry%mozilla.org <>
Sun, 23 Jan 2000 05:43:29 +0000 (05:43 +0000)
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...

CGI.pl
checksetup.pl

diff --git a/CGI.pl b/CGI.pl
index 4ad0064f3e279c2a464a8921053e5b3d65ecbfe8..8770da7489d368d40f4b96a2fb8030cb99bb7371 100644 (file)
--- 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";
 
index 02e629805b0f387ac0837f9441decd45f89eeb3b..6adbc42f48f53aaa9d4deff40b2f5120657db757 100755 (executable)
@@ -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);