]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Reworked the rep_platform and op_sys fields. BEWARE; this includes
authorterry%netscape.com <>
Fri, 4 Dec 1998 00:10:51 +0000 (00:10 +0000)
committerterry%netscape.com <>
Fri, 4 Dec 1998 00:10:51 +0000 (00:10 +0000)
some changes to the database schema!

CHANGES
bug_status.html
enter_bug.cgi
globals.pl
makebugtable.sh

diff --git a/CHANGES b/CHANGES
index d3f6e4a230e016aecab5b3180627d674e89a10e9..59cd6c3a838fd360a74a4402ce23db14d1f07d24 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -9,6 +9,51 @@ query the CVS tree.  For example,
 
 will tell you what has been changed in the last week.
 
+12/2/98 The op_sys and rep_platform fields have been tweaked.  op_sys
+is now an enum, rather than having the legal values all hard-coded in
+perl.  rep_platform now no longer allows a value of "X-Windows".
+
+Here's how I ported to the new world.  This ought to work for you too.
+Actually, it's probably overkill.  I had a lot of illegal values for op_sys
+in my tables, from importing bugs from strange places.  If you haven't done 
+anything funky, then much of the below will be a no-op.
+
+First, send the following commands to MySQL to make sure all your values for
+rep_platform and op_sys are legal in the new world..
+
+       update bugs set rep_platform="Sun" where rep_platform="X-Windows" and op_sys like "Solaris%";
+       update bugs set rep_platform="SGI" where rep_platform="X-Windows" and op_sys = "IRIX";
+       update bugs set rep_platform="SGI" where rep_platform="X-Windows" and op_sys = "HP-UX";
+       update bugs set rep_platform="DEC" where rep_platform="X-Windows" and op_sys = "OSF/1";
+       update bugs set rep_platform="PC" where rep_platform="X-Windows" and op_sys = "Linux";
+       update bugs set rep_platform="other" where rep_platform="X-Windows";
+       update bugs set rep_platform="other" where rep_platform="";
+       update bugs set op_sys="Mac System 7" where op_sys="System 7";
+       update bugs set op_sys="Mac System 7.5" where op_sys="System 7.5";
+       update bugs set op_sys="Mac System 8.0" where op_sys="8.0";
+       update bugs set op_sys="OSF/1" where op_sys="Digital Unix 4.0";
+       update bugs set op_sys="IRIX" where op_sys like "IRIX %";
+       update bugs set op_sys="HP-UX" where op_sys like "HP-UX %";
+       update bugs set op_sys="Windows NT" where op_sys like "NT %";
+       update bugs set op_sys="OSF/1" where op_sys like "OSF/1 %";
+       update bugs set op_sys="Solaris" where op_sys like "Solaris %";
+       update bugs set op_sys="SunOS" where op_sys like "SunOS%";
+       update bugs set op_sys="other" where op_sys = "Motif";
+       update bugs set op_sys="other" where op_sys = "Other";
+
+Next, send the following commands to make sure you now have only legal
+entries in your table.  If either of the queries do not come up empty, then
+you have to do more stuff like the above.
+
+       select bug_id,op_sys,rep_platform from bugs where rep_platform not regexp "^(All|DEC|HP|Macintosh|PC|SGI|Sun|X-Windows|Other)$";
+       select bug_id,op_sys,rep_platform from bugs where op_sys not regexp "^(All|Windows 3.1|Windows 95|Windows 98|Windows NT|Mac System 7|Mac System 7.5|Mac System 7.1.6|Mac System 8.0|AIX|BSDI|HP-UX|IRIX|Linux|OSF/1|Solaris|SunOS|other)$";
+
+Finally, once that's all clear, alter the table to make enforce the new legal
+entries:
+
+       alter table bugs change column op_sys op_sys enum("All", "Windows 3.1", "Windows 95", "Windows 98", "Windows NT", "Mac System 7", "Mac System 7.5", "Mac System 7.1.6", "Mac System 8.0", "AIX", "BSDI", "HP-UX", "IRIX", "Linux", "OSF/1", "Solaris", "SunOS", "other") not null, change column rep_platform rep_platform enum("All", "DEC", "HP", "Macintosh", "PC", "SGI", "Sun", "Other");
+
+
 10/27/98 security check for legal products in place. bug charts are not
 available as an option if collectstats.pl has never been run. all products 
 get daily stats collected now. README updated: Chart::Base is listed as
index fff5585583fc6caeda933dcfc5498c3bf3c9efaa..1f429fe9b6cdbcd5a5f30935d9ed710ea15df963 100755 (executable)
@@ -159,14 +159,15 @@ Most bugs should have area set to <B>CODE</B>.  Legal values include:
 <LI> l10n <i>(localization)</i>
 </UL>
 <a name="rep_platform"><h2>Platform</h2></a>
-This is the platform against which the bug was reported.  Legal
+This is the hardware platform against which the bug was reported.  Legal
 platforms include:
 
 <UL>
 <LI> All (happens on all platform; cross-platform bug)
 <LI> Macintosh
 <LI> PC
-<LI> X-Windows
+<LI> Sun
+<LI> HP
 </UL>
 
 <b>Note:</b> Selecting the option "All" does not select bugs assigned against all platforms.  It
@@ -189,6 +190,6 @@ status field appropriately.
 <hr>
 <address><a href="http://home.netscape.com/people/terry/">Terry Weissman &lt;terry@netscape.com&gt;</a></address>
 <!-- hhmts start -->
-Last modified: Tue Aug 25 23:11:26 1998
+Last modified: Wed Dec  2 14:08:58 1998
 <!-- hhmts end -->
 </body> </html>
index 529c394b8598c503f134695c9d81b0243d54adfe..6c41d1e970abda0c2b39ca910d89733925f1e5b0 100755 (executable)
@@ -78,12 +78,17 @@ sub pickplatform {
         return $value;
     }
     for ($ENV{'HTTP_USER_AGENT'}) {
-        /Mozilla.*\(X11/ && do {return "X-Windows";};
         /Mozilla.*\(Windows/ && do {return "PC";};
         /Mozilla.*\(Macintosh/ && do {return "Macintosh";};
         /Mozilla.*\(Win/ && do {return "PC";};
+        /Mozilla.*Linux.*86/ && do {return "PC";};
+        /Mozilla.*Linux.*alpha/ && do {return "DEC";};
+        /Mozilla.*OSF/ && do {return "DEC";};
+        /Mozilla.*HP-UX/ && do {return "HP";};
+        /Mozilla.*IRIX/ && do {return "SGI";};
+        /Mozilla.*(SunOS|Solaris)/ && do {return "Sun";};
         # default
-        return "PC";
+        return "Other";
     }
 }
 
index 4c59750557c04c7a6f58d38a52b5af01bcd4f440..3c8bf252a3d09cf54e61160781d2440fd4ce2d83 100644 (file)
@@ -71,10 +71,6 @@ sub FetchOneColumn {
 }
 
     
-@::legal_opsys = ("Windows 3.1", "Windows 95", "Windows NT", "System 7",
-                  "System 7.5", "7.1.6", "AIX", "BSDI", "HP-UX", "IRIX",
-                  "Linux", "OSF/1", "Solaris", "SunOS", "other");
-
 
 @::default_column_list = ("severity", "priority", "platform", "owner",
                           "status", "resolution", "summary");
@@ -255,6 +251,7 @@ sub GenerateVersionTable {
     @::legal_priority = SplitEnumType($cols->{"priority,type"});
     @::legal_severity = SplitEnumType($cols->{"bug_severity,type"});
     @::legal_platform = SplitEnumType($cols->{"rep_platform,type"});
+    @::legal_opsys = SplitEnumType($cols->{"op_sys,type"});
     @::legal_bug_status = SplitEnumType($cols->{"bug_status,type"});
     @::legal_resolution = SplitEnumType($cols->{"resolution,type"});
     @::legal_resolution_no_dup = @::legal_resolution;
@@ -283,7 +280,7 @@ sub GenerateVersionTable {
     print FID GenerateCode('%::components');
     @::legal_components = sort {uc($a) cmp uc($b)} keys(%carray);
     print FID GenerateCode('@::legal_components');
-    foreach my $i('product', 'priority', 'severity', 'platform',
+    foreach my $i('product', 'priority', 'severity', 'platform', 'opsys',
                   'bug_status', 'resolution', 'resolution_no_dup') {
         print FID GenerateCode('@::legal_' . $i);
     }
index ff0cc78c17a9ef5ca788ab912bda361bb0c70160..7f515ebe38053c19a93e7c1438ac3506899159a2 100755 (executable)
@@ -37,10 +37,10 @@ creation_ts datetime,
 delta_ts timestamp,
 short_desc mediumtext,
 long_desc mediumtext,
-op_sys tinytext,
+op_sys enum("All", "Windows 3.1", "Windows 95", "Windows 98", "Windows NT", "Mac System 7", "Mac System 7.5", "Mac System 7.1.6", "Mac System 8.0", "AIX", "BSDI", "HP-UX", "IRIX", "Linux", "OSF/1", "Solaris", "SunOS", "other") not null,
 priority enum("P1", "P2", "P3", "P4", "P5") not null,
 product varchar(16) not null,
-rep_platform enum("All", "DEC", "HP", "Macintosh", "PC", "SGI", "Sun", "X-Windows", "Other"),
+rep_platform enum("All", "DEC", "HP", "Macintosh", "PC", "SGI", "Sun", "Other"),
 reporter mediumint not null,
 version varchar(16) not null,
 area enum("BUILD", "CODE", "CONTENT", "DOC", "PERFORMANCE", "TEST", "UI", "i18n", "l10n") not null,