From 51975ddeb94dcb48ec45a02bda2e8076a4193b2a Mon Sep 17 00:00:00 2001 From: darode Date: Wed, 13 Jun 2012 11:20:31 +0000 Subject: [PATCH] 2012-06-12 Dario Rodriguez * lib/PandoraFMS/Core.pm: Fixed an error with group_statistics agent queries. MERGED FROM 4.0.2 git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@6534 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f --- pandora_server/ChangeLog | 7 +++++++ pandora_server/lib/PandoraFMS/Core.pm | 14 +++++++------- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/pandora_server/ChangeLog b/pandora_server/ChangeLog index 82a42d9ab8..342406999a 100644 --- a/pandora_server/ChangeLog +++ b/pandora_server/ChangeLog @@ -1,3 +1,10 @@ +2012-06-12 Dario Rodriguez + + * lib/PandoraFMS/Core.pm: Fixed an error with group_statistics agent + queries. + + MERGED FROM 4.0.2 + 2012-06-12 Ramon Novoa * lib/PandoraFMS/Core.pm: Merged from 4.0 branch. Added export server diff --git a/pandora_server/lib/PandoraFMS/Core.pm b/pandora_server/lib/PandoraFMS/Core.pm index b05efdbe68..5d7ab2dfa7 100644 --- a/pandora_server/lib/PandoraFMS/Core.pm +++ b/pandora_server/lib/PandoraFMS/Core.pm @@ -2490,7 +2490,7 @@ sub pandora_group_statistics ($$) { # NOTICE - Calculations done here MUST BE the same than used in PHP code to have # the same criteria. PLEASE, double check any changes here and in functions_group.php - $agents_unknown = get_db_value ($dbh, "SELECT COUNT( DISTINCT tagente_estado.id_agente) FROM tagente_estado, tagente, tagente_modulo WHERE tagente.disabled = 0 AND tagente_estado.utimestamp != 0 AND tagente_modulo.id_agente_modulo = tagente_estado.id_agente_modulo AND tagente_modulo.disabled = 0 AND estado = 3 AND tagente_estado.id_agente = tagente.id_agente AND tagente.id_grupo = $group"); + $agents_unknown = get_db_value ($dbh, "SELECT COUNT(min_estado) FROM (SELECT MIN(tagente_estado.estado) as min_estado FROM tagente_estado, tagente, tagente_modulo WHERE tagente.disabled = 0 AND tagente_estado.utimestamp != 0 AND tagente_modulo.id_agente_modulo = tagente_estado.id_agente_modulo AND tagente_modulo.disabled = 0 AND tagente_estado.id_agente = tagente.id_agente AND tagente_estado.estado != 0 AND tagente.id_grupo = $group GROUP BY tagente.id_agente HAVING min_estado = 3) AS S1"); $agents_unknown = 0 unless defined ($agents_unknown); @@ -2520,12 +2520,12 @@ sub pandora_group_statistics ($$) { AND tagente_estado.id_agente = tagente.id_agente AND tagente_estado.estado = 2 AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo AND tagente_modulo.disabled = 0 AND tagente_estado.utimestamp != 0"); $warning = 0 unless defined ($warning); - - $unknown = get_db_value ($dbh, "SELECT COUNT(min_estado) FROM - (SELECT MIN(tagente_estado.estado) as min_estado FROM tagente_estado, tagente, tagente_modulo - WHERE tagente.disabled = 0 AND tagente_estado.utimestamp != 0 AND tagente_modulo.id_agente_modulo = tagente_estado.id_agente_modulo - AND tagente_modulo.disabled = 0 AND tagente_estado.id_agente = tagente.id_agente AND tagente_estado.estado != 0 - AND tagente.id_grupo = $group GROUP BY tagente.id_agente HAVING min_estado = 3) AS S1"); + + $unknown = get_db_value ($dbh, "SELECT COUNT(tagente_estado.id_agente_estado) + FROM tagente_estado, tagente, tagente_modulo + WHERE tagente.id_grupo = $group AND tagente.disabled = 0 + AND tagente_estado.id_agente = tagente.id_agente AND tagente_estado.estado = 3 + AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo AND tagente_modulo.disabled = 0 AND tagente_estado.utimestamp != 0"); $unknown = 0 unless defined ($unknown); $non_init = get_db_value ($dbh, "SELECT COUNT(tagente_estado.id_agente_estado)