Updated modules

This commit is contained in:
Brian Fraser
2012-07-13 01:25:31 -03:00
parent 1d00866669
commit 541d001d2a
17 changed files with 159 additions and 748 deletions

View File

@@ -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) };
}