Fix to return cached data for table methods (funcs) if available and not a partial request. Partial argument could be undef, but existed in methods supporting partial fetches. Changed check to see if there is a value in the partial argument rather than existence.

This commit is contained in:
Eric A. Miller
2012-07-25 20:41:33 -04:00
parent 6256f33079
commit e8a9d18445
2 changed files with 5 additions and 4 deletions

View File

@@ -14,7 +14,8 @@ version 2.09
[BUG FIXES] [BUG FIXES]
* Fixed logic to return cached data for table methods when available and
not a partial fetch
version 2.08 (2012-07-15) version 2.08 (2012-07-15)

View File

@@ -23,7 +23,7 @@ use vars
qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE $AUTOLOAD $INIT $DEBUG %SPEED_MAP qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE $AUTOLOAD $INIT $DEBUG %SPEED_MAP
$NOSUCH $BIGINT $REPEATERS/; $NOSUCH $BIGINT $REPEATERS/;
$VERSION = '2.08'; $VERSION = '2.09-cvs';
=head1 NAME =head1 NAME
@@ -3831,11 +3831,11 @@ sub AUTOLOAD {
# Load data if it both not cached and we are not requesting partial info. # Load data if it both not cached and we are not requesting partial info.
if ( defined $funcs{$attr} ) { if ( defined $funcs{$attr} ) {
return $self->_load_attr( $attr, $funcs{$attr}, @_ ) return $self->_load_attr( $attr, $funcs{$attr}, @_ )
unless ( defined $self->{"_${attr}"} and !scalar(@_) ); unless ( defined $self->{"_${attr}"} and !defined $_[0] );
} }
if ($table_leaf) { if ($table_leaf) {
return $self->_load_attr( $attr, $attr, @_ ) return $self->_load_attr( $attr, $attr, @_ )
unless ( defined $self->{"_${attr}"} and !scalar(@_) ); unless ( defined $self->{"_${attr}"} and !defined $_[0] );
} }
return $self->_show_attr($attr); return $self->_show_attr($attr);