my ($db_info, $dbname, $verbose) = @_;
my $sql ="select table_type, table_name, engine from tables where table_schema =\'".$dbname. "\' " ;
my $lines = $db_info->selectall_arrayref($sql) ;
my %engine_types;
for my $r( @$lines) {
my @rows = @$r ;
if ($rows[0] eq 'BASE TABLE') {
push @{ $engine_types{$rows[2]}}, $rows[1] ;
} elsif ($rows[0] eq 'VIEW') {
push @{ $engine_types{$rows[0]}}, $rows[1] ;
}
}
for ( keys %engine_types ) {
print uc($_) . " " . scalar(@{$engine_types{$_}}) . " tables $dbname\n" ;
}
if ( $verbose ) {
print "\n\nTable types found :\n---------------------------------------\n\n" ;
for my $engine( keys %engine_types ) {
for my $table ( @{ $engine_types{$engine}} ) {
printf "%-10s%-10s\n", $engine, $table ;
}
}
}
return \%engine_types ;
}