]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Fix for bug 86447 - ChangeFieldType() wasn't dealing with 'not null' properly.
authorjake%acutex.net <>
Wed, 20 Jun 2001 08:37:19 +0000 (08:37 +0000)
committerjake%acutex.net <>
Wed, 20 Jun 2001 08:37:19 +0000 (08:37 +0000)
r= justdave@syndicomm.com

checksetup.pl

index f8ef65d77674985a1cd8584d190959c90ef2b16e..b349a306520afbbee1b901df94ba75524fad4213 100755 (executable)
@@ -1411,6 +1411,9 @@ sub ChangeFieldType ($$$)
     #print "0: $$ref[0]   1: $$ref[1]   2: $$ref[2]   3: $$ref[3]  4: $$ref[4]\n";
 
     my $oldtype = $ref->[1];
+    if (! $ref->[2]) {
+        $oldtype .= qq{ not null};
+    }
     if ($ref->[4]) {
         $oldtype .= qq{ default "$ref->[4]"};
     }
@@ -1419,7 +1422,8 @@ sub ChangeFieldType ($$$)
         print "Updating field type $field in table $table ...\n";
         print "old: $oldtype\n";
         print "new: $newtype\n";
-        $newtype .= " NOT NULL" if $$ref[3];
+#        'not null' should be passed as part of the call to ChangeFieldType()
+#        $newtype .= " NOT NULL" if $$ref[3];
         $dbh->do("ALTER TABLE $table
                   CHANGE $field
                   $field $newtype");
@@ -1549,10 +1553,10 @@ AddField('products', 'votesperuser', 'mediumint not null');
 # tinytext is equivalent to varchar(255), which is quite huge, so I change
 # them all to varchar(64).
 
-ChangeFieldType ('bugs',       'product', 'varchar(64)');
+ChangeFieldType ('bugs',       'product', 'varchar(64) not null');
 ChangeFieldType ('components', 'program', 'varchar(64)');
 ChangeFieldType ('products',   'product', 'varchar(64)');
-ChangeFieldType ('versions',   'program', 'varchar(64)');
+ChangeFieldType ('versions',   'program', 'varchar(64) not null');
 
 # 2000-01-16 Added a "keywords" field to the bugs table, which
 # contains a string copy of the entries of the keywords table for this
@@ -1967,8 +1971,8 @@ if (!($sth->fetchrow_arrayref()->[0])) {
 # the size of the target_milestone field in the bugs table.
 
 ChangeFieldType('bugs', 'target_milestone',
-                'varchar(20) default "---"');
-ChangeFieldType('milestones', 'value', 'varchar(20)');
+                'varchar(20) not null default "---"');
+ChangeFieldType('milestones', 'value', 'varchar(20) not null');
 
 
 # 2000-03-23 Added a defaultmilestone field to the products table, so that