diff --git a/bin/pt-archiver b/bin/pt-archiver index 89f4879f..5e1964a2 100755 --- a/bin/pt-archiver +++ b/bin/pt-archiver @@ -2763,8 +2763,6 @@ use overload ( use Carp (); -our $VERSION = 0.01; - has major => ( is => 'ro', isa => 'Int', @@ -2862,8 +2860,12 @@ sub BUILDARGS { if ( $query ) { $query = { map { $_->{variable_name} => $_->{value} } @$query }; @args{@methods} = $self->_split_version($query->{version}); - $args{flavor} = delete $query->{version_comment} - if $query->{version_comment}; + $args{flavor} = delete $query->{version_comment} if $query->{version_comment}; + if ($args{flavor} !~ m/mysql|maria|percona/i) { + eval { + ($args{flavor}) = $dbh->selectrow_array(q/SELECT VERSION()/); + }; + } } elsif ( eval { ($query) = $dbh->selectrow_array(q/SELECT VERSION()/) } ) { @args{@methods} = $self->_split_version($query); diff --git a/bin/pt-deadlock-logger b/bin/pt-deadlock-logger index dc92997c..44dac329 100755 --- a/bin/pt-deadlock-logger +++ b/bin/pt-deadlock-logger @@ -1879,8 +1879,6 @@ use overload ( use Carp (); -our $VERSION = 0.01; - has major => ( is => 'ro', isa => 'Int', @@ -1978,8 +1976,12 @@ sub BUILDARGS { if ( $query ) { $query = { map { $_->{variable_name} => $_->{value} } @$query }; @args{@methods} = $self->_split_version($query->{version}); - $args{flavor} = delete $query->{version_comment} - if $query->{version_comment}; + $args{flavor} = delete $query->{version_comment} if $query->{version_comment}; + if ($args{flavor} !~ m/mysql|maria|percona/i) { + eval { + ($args{flavor}) = $dbh->selectrow_array(q/SELECT VERSION()/); + }; + } } elsif ( eval { ($query) = $dbh->selectrow_array(q/SELECT VERSION()/) } ) { @args{@methods} = $self->_split_version($query); diff --git a/bin/pt-heartbeat b/bin/pt-heartbeat index e3895af4..eb5e9e1f 100755 --- a/bin/pt-heartbeat +++ b/bin/pt-heartbeat @@ -5737,8 +5737,12 @@ sub BUILDARGS { if ( $query ) { $query = { map { $_->{variable_name} => $_->{value} } @$query }; @args{@methods} = $self->_split_version($query->{version}); - $args{flavor} = delete $query->{version_comment} - if $query->{version_comment}; + $args{flavor} = delete $query->{version_comment} if $query->{version_comment}; + if ($args{flavor} !~ m/mysql|maria|percona/i) { + eval { + ($args{flavor}) = $dbh->selectrow_array(q/SELECT VERSION()/); + }; + } } elsif ( eval { ($query) = $dbh->selectrow_array(q/SELECT VERSION()/) } ) { @args{@methods} = $self->_split_version($query); diff --git a/bin/pt-online-schema-change b/bin/pt-online-schema-change index 5c408f97..335d2e37 100755 --- a/bin/pt-online-schema-change +++ b/bin/pt-online-schema-change @@ -2039,8 +2039,12 @@ sub BUILDARGS { if ( $query ) { $query = { map { $_->{variable_name} => $_->{value} } @$query }; @args{@methods} = $self->_split_version($query->{version}); - $args{flavor} = delete $query->{version_comment} - if $query->{version_comment}; + $args{flavor} = delete $query->{version_comment} if $query->{version_comment}; + if ($args{flavor} !~ m/mysql|maria|percona/i) { + eval { + ($args{flavor}) = $dbh->selectrow_array(q/SELECT VERSION()/); + }; + } } elsif ( eval { ($query) = $dbh->selectrow_array(q/SELECT VERSION()/) } ) { @args{@methods} = $self->_split_version($query); diff --git a/bin/pt-slave-find b/bin/pt-slave-find index f2fd24f6..2b85378d 100755 --- a/bin/pt-slave-find +++ b/bin/pt-slave-find @@ -3278,8 +3278,6 @@ use overload ( use Carp (); -our $VERSION = 0.01; - has major => ( is => 'ro', isa => 'Int', @@ -3377,8 +3375,12 @@ sub BUILDARGS { if ( $query ) { $query = { map { $_->{variable_name} => $_->{value} } @$query }; @args{@methods} = $self->_split_version($query->{version}); - $args{flavor} = delete $query->{version_comment} - if $query->{version_comment}; + $args{flavor} = delete $query->{version_comment} if $query->{version_comment}; + if ($args{flavor} !~ m/mysql|maria|percona/i) { + eval { + ($args{flavor}) = $dbh->selectrow_array(q/SELECT VERSION()/); + }; + } } elsif ( eval { ($query) = $dbh->selectrow_array(q/SELECT VERSION()/) } ) { @args{@methods} = $self->_split_version($query); diff --git a/bin/pt-slave-restart b/bin/pt-slave-restart index 717b56f0..611b3f4f 100755 --- a/bin/pt-slave-restart +++ b/bin/pt-slave-restart @@ -2029,8 +2029,6 @@ use overload ( use Carp (); -our $VERSION = 0.01; - has major => ( is => 'ro', isa => 'Int', @@ -2128,8 +2126,12 @@ sub BUILDARGS { if ( $query ) { $query = { map { $_->{variable_name} => $_->{value} } @$query }; @args{@methods} = $self->_split_version($query->{version}); - $args{flavor} = delete $query->{version_comment} - if $query->{version_comment}; + $args{flavor} = delete $query->{version_comment} if $query->{version_comment}; + if ($args{flavor} !~ m/mysql|maria|percona/i) { + eval { + ($args{flavor}) = $dbh->selectrow_array(q/SELECT VERSION()/); + }; + } } elsif ( eval { ($query) = $dbh->selectrow_array(q/SELECT VERSION()/) } ) { @args{@methods} = $self->_split_version($query); diff --git a/bin/pt-table-checksum b/bin/pt-table-checksum index f7524ce8..06f0daa2 100755 --- a/bin/pt-table-checksum +++ b/bin/pt-table-checksum @@ -4237,8 +4237,6 @@ use overload ( use Carp (); -our $VERSION = 0.01; - has major => ( is => 'ro', isa => 'Int', @@ -4336,8 +4334,12 @@ sub BUILDARGS { if ( $query ) { $query = { map { $_->{variable_name} => $_->{value} } @$query }; @args{@methods} = $self->_split_version($query->{version}); - $args{flavor} = delete $query->{version_comment} - if $query->{version_comment}; + $args{flavor} = delete $query->{version_comment} if $query->{version_comment}; + if ($args{flavor} !~ m/mysql|maria|percona/i) { + eval { + ($args{flavor}) = $dbh->selectrow_array(q/SELECT VERSION()/); + }; + } } elsif ( eval { ($query) = $dbh->selectrow_array(q/SELECT VERSION()/) } ) { @args{@methods} = $self->_split_version($query); diff --git a/bin/pt-table-sync b/bin/pt-table-sync index 72467551..46165341 100755 --- a/bin/pt-table-sync +++ b/bin/pt-table-sync @@ -2490,8 +2490,6 @@ use overload ( use Carp (); -our $VERSION = 0.01; - has major => ( is => 'ro', isa => 'Int', @@ -2589,8 +2587,12 @@ sub BUILDARGS { if ( $query ) { $query = { map { $_->{variable_name} => $_->{value} } @$query }; @args{@methods} = $self->_split_version($query->{version}); - $args{flavor} = delete $query->{version_comment} - if $query->{version_comment}; + $args{flavor} = delete $query->{version_comment} if $query->{version_comment}; + if ($args{flavor} !~ m/mysql|maria|percona/i) { + eval { + ($args{flavor}) = $dbh->selectrow_array(q/SELECT VERSION()/); + }; + } } elsif ( eval { ($query) = $dbh->selectrow_array(q/SELECT VERSION()/) } ) { @args{@methods} = $self->_split_version($query); diff --git a/bin/pt-table-usage b/bin/pt-table-usage index 66db48b3..f96056fe 100755 --- a/bin/pt-table-usage +++ b/bin/pt-table-usage @@ -3663,8 +3663,6 @@ use overload ( use Carp (); -our $VERSION = 0.01; - has major => ( is => 'ro', isa => 'Int', @@ -3762,8 +3760,12 @@ sub BUILDARGS { if ( $query ) { $query = { map { $_->{variable_name} => $_->{value} } @$query }; @args{@methods} = $self->_split_version($query->{version}); - $args{flavor} = delete $query->{version_comment} - if $query->{version_comment}; + $args{flavor} = delete $query->{version_comment} if $query->{version_comment}; + if ($args{flavor} !~ m/mysql|maria|percona/i) { + eval { + ($args{flavor}) = $dbh->selectrow_array(q/SELECT VERSION()/); + }; + } } elsif ( eval { ($query) = $dbh->selectrow_array(q/SELECT VERSION()/) } ) { @args{@methods} = $self->_split_version($query); diff --git a/bin/pt-upgrade b/bin/pt-upgrade index 978bf463..1abd3280 100755 --- a/bin/pt-upgrade +++ b/bin/pt-upgrade @@ -5132,8 +5132,6 @@ use overload ( use Carp (); -our $VERSION = 0.01; - has major => ( is => 'ro', isa => 'Int', @@ -5231,8 +5229,12 @@ sub BUILDARGS { if ( $query ) { $query = { map { $_->{variable_name} => $_->{value} } @$query }; @args{@methods} = $self->_split_version($query->{version}); - $args{flavor} = delete $query->{version_comment} - if $query->{version_comment}; + $args{flavor} = delete $query->{version_comment} if $query->{version_comment}; + if ($args{flavor} !~ m/mysql|maria|percona/i) { + eval { + ($args{flavor}) = $dbh->selectrow_array(q/SELECT VERSION()/); + }; + } } elsif ( eval { ($query) = $dbh->selectrow_array(q/SELECT VERSION()/) } ) { @args{@methods} = $self->_split_version($query); diff --git a/bin/pt-variable-advisor b/bin/pt-variable-advisor index 17bbb49e..2a78073b 100755 --- a/bin/pt-variable-advisor +++ b/bin/pt-variable-advisor @@ -2330,8 +2330,6 @@ use overload ( use Carp (); -our $VERSION = 0.01; - has major => ( is => 'ro', isa => 'Int', @@ -2429,8 +2427,12 @@ sub BUILDARGS { if ( $query ) { $query = { map { $_->{variable_name} => $_->{value} } @$query }; @args{@methods} = $self->_split_version($query->{version}); - $args{flavor} = delete $query->{version_comment} - if $query->{version_comment}; + $args{flavor} = delete $query->{version_comment} if $query->{version_comment}; + if ($args{flavor} !~ m/mysql|maria|percona/i) { + eval { + ($args{flavor}) = $dbh->selectrow_array(q/SELECT VERSION()/); + }; + } } elsif ( eval { ($query) = $dbh->selectrow_array(q/SELECT VERSION()/) } ) { @args{@methods} = $self->_split_version($query); diff --git a/lib/VersionParser.pm b/lib/VersionParser.pm index 0a6dd496..08523ea2 100644 --- a/lib/VersionParser.pm +++ b/lib/VersionParser.pm @@ -144,8 +144,12 @@ sub BUILDARGS { if ( $query ) { $query = { map { $_->{variable_name} => $_->{value} } @$query }; @args{@methods} = $self->_split_version($query->{version}); - $args{flavor} = delete $query->{version_comment} - if $query->{version_comment}; + $args{flavor} = delete $query->{version_comment} if $query->{version_comment}; + if ($args{flavor} !~ m/mysql|maria|percona/i) { + eval { + ($args{flavor}) = $dbh->selectrow_array(q/SELECT VERSION()/); + }; + } } elsif ( eval { ($query) = $dbh->selectrow_array(q/SELECT VERSION()/) } ) { @args{@methods} = $self->_split_version($query);