Commit ab69b249 authored by unknown's avatar unknown

Fix handling of table-name matching in mysqlhotcopy when newer versions of

DBD::mysql that quote table names are used by removing the quoting. Also fix
a bug that stripped all '~' characters out of the table regex instead of
just the leading one used to negate the expression. (Bug #8136)


scripts/mysqlhotcopy.sh:
  remove quotes around table names
parent 4bb1c716
......@@ -272,10 +272,7 @@ foreach my $rdb ( @db_desc ) {
my $negated;
if ($rdb->{t_regex}) {
$t_regex = $rdb->{t_regex}; ## assign temporary regex
$negated = $t_regex =~ tr/~//d; ## remove and count
## negation operator: we
## don't allow ~ in table
## names
$negated = $t_regex =~ s/^~//; ## note and remove negation operator
$t_regex = qr/$t_regex/; ## make regex string from
## user regex
......@@ -820,6 +817,13 @@ sub get_list_of_tables {
});
my @dbh_tables = eval { $dbh->tables() };
## Remove quotes around table names
my $quote = $dbh->get_info(29); # SQL_IDENTIFIER_QUOTE_CHAR
if ($quote) {
foreach (@dbh_tables) { s/^$quote(.*)$quote$/$1/; }
}
$dbh->disconnect();
return @dbh_tables;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment