]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 361140: Upgrades from versions with enums fail UTF-8 conversion
authormkanat%bugzilla.org <>
Mon, 20 Nov 2006 12:25:09 +0000 (12:25 +0000)
committermkanat%bugzilla.org <>
Mon, 20 Nov 2006 12:25:09 +0000 (12:25 +0000)
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=bkor, a=justdave

Bugzilla/DB/Mysql.pm

index 5a9a01416e5be80d53690dcde2a09247d317770b..4335a1b2fecb54fab2724a18bd5ceb55d90bc906 100644 (file)
@@ -576,6 +576,10 @@ EOT
             my $info_sth = $self->prepare("SHOW FULL COLUMNS FROM $table");
             $info_sth->execute();
             while (my $column = $info_sth->fetchrow_hashref) {
+                # Our conversion code doesn't work on enum fields, but they
+                # all go away later in checksetup anyway.
+                next if $column->{Type} =~ /enum/i;
+
                 # If this particular column isn't stored in utf-8
                 if ($column->{Collation}
                     && $column->{Collation} ne 'NULL' 
@@ -617,8 +621,9 @@ EOT
                     $self->do("ALTER TABLE $table CHANGE COLUMN $name $name 
                               $utf8");
                 }
-                $self->do("ALTER TABLE $table DEFAULT CHARACTER SET utf8");
             }
+
+            $self->do("ALTER TABLE $table DEFAULT CHARACTER SET utf8");
         } # foreach my $table (@tables)
 
         my $db_name = Bugzilla->localconfig->{db_name};