From 94c43fcc33fc53a10bf9453133fc6c581a6a0556 Mon Sep 17 00:00:00 2001 From: Oliver Gorwits Date: Wed, 3 Aug 2022 15:04:12 +0100 Subject: [PATCH] #906 snmp browser is very slow sometimes --- .../Netdisco/DB/Result/Virtual/OidChildren.pm | 13 ++------ lib/App/Netdisco/Web/Plugin/Device/SNMP.pm | 33 +++++++++++++------ 2 files changed, 25 insertions(+), 21 deletions(-) diff --git a/lib/App/Netdisco/DB/Result/Virtual/OidChildren.pm b/lib/App/Netdisco/DB/Result/Virtual/OidChildren.pm index 4d380efa..97575393 100644 --- a/lib/App/Netdisco/DB/Result/Virtual/OidChildren.pm +++ b/lib/App/Netdisco/DB/Result/Virtual/OidChildren.pm @@ -11,20 +11,11 @@ __PACKAGE__->table_class('DBIx::Class::ResultSource::View'); __PACKAGE__->table("oid_children"); __PACKAGE__->result_source_instance->is_virtual(1); __PACKAGE__->result_source_instance->view_definition(<resultset('Virtual::GenericReport')->result_source; + $rs->view_definition($query); + $rs->remove_columns($rs->columns); + $rs->add_columns(qw/part children/); + my %kids = map { ($base .'.'. $_->{part}) => $_ } - schema('netdisco')->resultset('Virtual::OidChildren') - ->search({}, { bind => [ - (scalar @parts + 1), - (scalar @parts + 2), - $base, - (scalar @parts + 1), - (scalar @parts + 1), - $ip, - $base, - ] })->hri->all; + schema('netdisco')->resultset('Virtual::GenericReport') + ->search(undef, { + result_class => 'DBIx::Class::ResultClass::HashRefInflator', + bind => [$ip, $base], + })->hri->all; return [{ text => 'No SNMP data for this device.',