diff options
author | justdave%bugzilla.org <> | 2009-09-03 21:18:13 +0200 |
---|---|---|
committer | justdave%bugzilla.org <> | 2009-09-03 21:18:13 +0200 |
commit | 120fc1b9be07ee44c98a9ec2c5c64568e9ebccbd (patch) | |
tree | 47078cdd20837c5f8b9b131b650b318d4022daca | |
parent | 18f5eb175a9bc5cdb76ce611e07fead92804ed35 (diff) | |
download | bugzilla-120fc1b9be07ee44c98a9ec2c5c64568e9ebccbd.tar.gz bugzilla-120fc1b9be07ee44c98a9ec2c5c64568e9ebccbd.tar.xz |
Bug 513585: Don't trigger utf8 conversion just because there are VIEWs present in the database.
r=mkanat, a=mkanat
-rw-r--r-- | Bugzilla/DB/Mysql.pm | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/Bugzilla/DB/Mysql.pm b/Bugzilla/DB/Mysql.pm index 39064e4e2..a1bd71b76 100644 --- a/Bugzilla/DB/Mysql.pm +++ b/Bugzilla/DB/Mysql.pm @@ -321,7 +321,7 @@ EOT {Columns=>[1,2]}) }; my @isam_tables; foreach my $name (keys %table_status) { - push(@isam_tables, $name) if $table_status{$name} eq "ISAM"; + push(@isam_tables, $name) if (defined($table_status{$name}) && $table_status{$name} eq "ISAM"); } if(scalar(@isam_tables)) { @@ -369,7 +369,8 @@ EOT # Upgrade tables from MyISAM to InnoDB my @myisam_tables; foreach my $name (keys %table_status) { - if ($table_status{$name} =~ /^MYISAM$/i + if (defined($table_status{$name}) + && $table_status{$name} =~ /^MYISAM$/i && !grep($_ eq $name, Bugzilla::DB::Schema::Mysql::MYISAM_TABLES)) { push(@myisam_tables, $name) ; @@ -673,7 +674,7 @@ EOT my $utf_table_status = $self->selectall_arrayref("SHOW TABLE STATUS", {Slice=>{}}); $self->_after_table_status([map($_->{Name}, @$utf_table_status)]); - my @non_utf8_tables = grep($_->{Collation} !~ /^utf8/, @$utf_table_status); + my @non_utf8_tables = grep(defined($_->{Collation}) && $_->{Collation} !~ /^utf8/, @$utf_table_status); if (Bugzilla->params->{'utf8'} && scalar @non_utf8_tables) { print <<EOT; |