Fixed a bug in mysqlhotcopy, which made special table names
to cause program to abort. Such table name could have been one with a semicolon (:) in the middle.
This commit is contained in:
parent
94cce64416
commit
e69447933d
@ -453,13 +453,13 @@ if ( $opt{dryrun} ) {
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
my $start = time;
|
my $start = time;
|
||||||
$dbh->do("LOCK TABLES $hc_locks");
|
$dbh->do('LOCK TABLES $hc_locks');
|
||||||
printf "Locked $num_tables tables in %d seconds.\n", time-$start unless $opt{quiet};
|
printf "Locked $num_tables tables in %d seconds.\n", time-$start unless $opt{quiet};
|
||||||
$hc_started = time; # count from time lock is granted
|
$hc_started = time; # count from time lock is granted
|
||||||
|
|
||||||
# flush tables to make on-disk copy uptodate
|
# flush tables to make on-disk copy uptodate
|
||||||
$start = time;
|
$start = time;
|
||||||
$dbh->do("FLUSH TABLES /*!32323 $hc_tables */");
|
$dbh->do('FLUSH TABLES /*!32323 $hc_tables */');
|
||||||
printf "Flushed tables ($hc_tables) in %d seconds.\n", time-$start unless $opt{quiet};
|
printf "Flushed tables ($hc_tables) in %d seconds.\n", time-$start unless $opt{quiet};
|
||||||
$dbh->do( "FLUSH LOGS" ) if ( $opt{flushlog} );
|
$dbh->do( "FLUSH LOGS" ) if ( $opt{flushlog} );
|
||||||
$dbh->do( "RESET MASTER" ) if ( $opt{resetmaster} );
|
$dbh->do( "RESET MASTER" ) if ( $opt{resetmaster} );
|
||||||
@ -467,7 +467,7 @@ else {
|
|||||||
|
|
||||||
if ( $opt{record_log_pos} ) {
|
if ( $opt{record_log_pos} ) {
|
||||||
record_log_pos( $dbh, $opt{record_log_pos} );
|
record_log_pos( $dbh, $opt{record_log_pos} );
|
||||||
$dbh->do("FLUSH TABLES /*!32323 $hc_tables */");
|
$dbh->do('FLUSH TABLES /*!32323 $hc_tables */');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user