From 120fc1b9be07ee44c98a9ec2c5c64568e9ebccbd Mon Sep 17 00:00:00 2001 From: "justdave%bugzilla.org" <> Date: Thu, 3 Sep 2009 19:18:13 +0000 Subject: Bug 513585: Don't trigger utf8 conversion just because there are VIEWs present in the database. r=mkanat, a=mkanat --- Bugzilla/DB/Mysql.pm | 7 ++++--- 1 file 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 <