mirror of
https://github.com/percona/percona-toolkit.git
synced 2025-09-17 17:27:57 +00:00
Updated modules
This commit is contained in:
@@ -1867,6 +1867,8 @@ use overload (
|
||||
fallback => 1,
|
||||
);
|
||||
|
||||
use Carp ();
|
||||
|
||||
our $VERSION = 0.01;
|
||||
|
||||
has major => (
|
||||
@@ -1921,8 +1923,9 @@ sub _split_version {
|
||||
|
||||
sub normalized_version {
|
||||
my ( $self ) = @_;
|
||||
my @version_parts = map { $_ || 0 } $self->_split_version( $self->version );
|
||||
my $result = sprintf('%d%02d%02d', @version_parts);
|
||||
my $result = sprintf('%d%02d%02d', map { $_ || 0 } $self->major,
|
||||
$self->minor,
|
||||
$self->revision);
|
||||
PTDEBUG && _d($self->version, 'normalizes to', $result);
|
||||
return $result;
|
||||
}
|
||||
@@ -1956,10 +1959,13 @@ sub BUILDARGS {
|
||||
if ( @_ == 1 ) {
|
||||
my %args;
|
||||
if ( blessed($_[0]) && $_[0]->can("selectrow_hashref") ) {
|
||||
my $dbh = $_[0];
|
||||
my $query;
|
||||
PTDEBUG && _d("VersionParser got a dbh, trying to get the version");
|
||||
if ( eval { $query = $dbh->selectall_hashref(q<SHOW VARIABLES LIKE 'version%'>) } ) {
|
||||
my $dbh = $_[0];
|
||||
my $query = eval {
|
||||
$dbh->selectall_arrayref(q<SHOW VARIABLES LIKE 'version%'>, { Slice => {} })
|
||||
};
|
||||
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};
|
||||
@@ -1968,7 +1974,8 @@ sub BUILDARGS {
|
||||
@args{@methods} = $self->_split_version($query);
|
||||
}
|
||||
else {
|
||||
PTDEBUG && _d("Couldn't get the version from the dbh: $@");
|
||||
Carp::confess("Couldn't get the version from the dbh while "
|
||||
. "creating a VersionParser object: $@");
|
||||
}
|
||||
$args{innodb_version} = eval { $self->_innodb_version($dbh) };
|
||||
}
|
||||
|
Reference in New Issue
Block a user