Presume STATEMENT binlog format if < 5.1.5 and still check other slaves in case they're newer versions of MySQL.

This commit is contained in:
Daniel Nichter
2012-10-26 17:06:21 -06:00
parent 3d03a3a0dc
commit 45ae32ceb2

View File

@@ -8554,15 +8554,21 @@ sub main {
PTDEBUG && _d(scalar @$slaves, 'slaves found');
# https://bugs.launchpad.net/percona-toolkit/+bug/938068
if ( $o->get('check-binlog-format')
&& VersionParser->new($master_dbh) >= '5.1.5' ) {
my ($master_binlog) = $master_dbh->selectrow_array(
'SELECT @@binlog_format');
if ( $o->get('check-binlog-format') ) {
my $master_binlog = 'STATEMENT';
if ( VersionParser->new($master_dbh) >= '5.1.5' ) {
($master_binlog) = $master_dbh->selectrow_array(
'SELECT @@binlog_format');
}
my $err = '';
for my $slave_cxn (@$slaves) {
next unless VersionParser->new($slave_cxn->dbh) >= '5.1.5';
my ($slave_binlog) = $slave_cxn->dbh->selectrow_array(
'SELECT @@binlog_format');
my $slave_binlog = 'STATEMENT';
if ( VersionParser->new($slave_cxn->dbh) >= '5.1.5' ) {
($slave_binlog) = $slave_cxn->dbh->selectrow_array(
'SELECT @@binlog_format');
}
if ( $master_binlog ne $slave_binlog ) {
$err .= $master_cxn->name() . " has binlog_format "
. $master_binlog . " but replica " . $slave_cxn->name()