Significant performance improvement validating AUTOLOAD methods
This commit is contained in:
1
Changes
1
Changes
@@ -5,6 +5,7 @@ Version 3.57
|
|||||||
* #145 Patch for Huawei (robwwd)
|
* #145 Patch for Huawei (robwwd)
|
||||||
* #228 Huawei aggregate link support
|
* #228 Huawei aggregate link support
|
||||||
* POE and duplex admin support added to L3::Huawei
|
* POE and duplex admin support added to L3::Huawei
|
||||||
|
* Significant performance improvement validating AUTOLOAD methods
|
||||||
|
|
||||||
[BUG FIXES]
|
[BUG FIXES]
|
||||||
|
|
||||||
|
|||||||
@@ -4679,16 +4679,26 @@ sub _validate_autoload_method {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# If the parent of the leaf has indexes it is contained within a table
|
my $table_leaf = 0;
|
||||||
my $indexes = $SNMP::MIB{$oid}{'parent'}{'indexes'};
|
|
||||||
my $table_leaf = 0;
|
# This is an expensive check so we assume anything in the funcs and globals
|
||||||
|
# hashes are known. Only for actual MIB leafs should we have to check the
|
||||||
|
# MIB. If the parent of the leaf has indexes it is contained within a table.
|
||||||
|
if ($funcs->{$attr}) {
|
||||||
|
$table_leaf = 1;
|
||||||
|
}
|
||||||
|
elsif (!$globals->{$attr}) {
|
||||||
|
|
||||||
if ( !$globals->{$attr}
|
# Prevent autovivification
|
||||||
&& ( ( defined $indexes && scalar( @{$indexes} ) > 0 )
|
if (exists $SNMP::MIB{$oid} &&
|
||||||
|| $funcs->{$attr} ))
|
exists $SNMP::MIB{$oid}{'parent'} &&
|
||||||
{
|
exists $SNMP::MIB{$oid}{'parent'}{'indexes'} &&
|
||||||
$table_leaf = 1;
|
defined $SNMP::MIB{$oid}{'parent'}{'indexes'} &&
|
||||||
}
|
scalar( @{$SNMP::MIB{$oid}{'parent'}{'indexes'}} ) > 0)
|
||||||
|
{
|
||||||
|
$table_leaf = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
# Tag on .0 for %GLOBALS and single instance MIB leafs unless
|
# Tag on .0 for %GLOBALS and single instance MIB leafs unless
|
||||||
# the leaf ends in a digit or we are going to use for a set operation
|
# the leaf ends in a digit or we are going to use for a set operation
|
||||||
|
|||||||
Reference in New Issue
Block a user