From 62f502d2768ac2c351cbab8fab6ce02b28d78c7e Mon Sep 17 00:00:00 2001 From: Marius Hein Date: Thu, 28 Aug 2014 15:13:15 +0200 Subject: [PATCH] Postgres/StatusQuery: Fix concatenation and group by refs #5896 --- .../Monitoring/Backend/Ido/Query/StatusQuery.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/modules/monitoring/library/Monitoring/Backend/Ido/Query/StatusQuery.php b/modules/monitoring/library/Monitoring/Backend/Ido/Query/StatusQuery.php index 2006228b1..d5da738a0 100644 --- a/modules/monitoring/library/Monitoring/Backend/Ido/Query/StatusQuery.php +++ b/modules/monitoring/library/Monitoring/Backend/Ido/Query/StatusQuery.php @@ -487,10 +487,10 @@ class StatusQuery extends IdoQuery { $sub = '(SELECT' . ' lc.object_id,' - . " CASE WHEN lc.entry_type = 1 THEN CONCAT('[' || c.author_name || '] ' || c.comment_data) ELSE NULL END AS last_comment_data," - . " CASE WHEN lc.entry_type = 2 THEN CONCAT('[' || c.author_name || '] ' || c.comment_data) ELSE NULL END AS last_downtime_data," - . " CASE WHEN lc.entry_type = 3 THEN CONCAT('[' || c.author_name || '] ' || c.comment_data) ELSE NULL END AS last_flapping_data," - . " CASE WHEN lc.entry_type = 4 THEN CONCAT('[' || c.author_name || '] ' || c.comment_data) ELSE NULL END AS last_ack_data" + . " CASE WHEN lc.entry_type = 1 THEN '[' || c.author_name || '] ' || c.comment_data ELSE NULL END AS last_comment_data," + . " CASE WHEN lc.entry_type = 2 THEN '[' || c.author_name || '] ' || c.comment_data ELSE NULL END AS last_downtime_data," + . " CASE WHEN lc.entry_type = 3 THEN '[' || c.author_name || '] ' || c.comment_data ELSE NULL END AS last_flapping_data," + . " CASE WHEN lc.entry_type = 4 THEN '[' || c.author_name || '] ' || c.comment_data ELSE NULL END AS last_ack_data" . ' FROM icinga_comments c' . ' JOIN (SELECT' . ' MAX(comment_id) as comment_id,' @@ -499,7 +499,8 @@ class StatusQuery extends IdoQuery . ' FROM icinga_comments' . ' WHERE entry_type = 1 OR entry_type = 4' . ' GROUP BY object_id, entry_type' - . ') lc ON lc.comment_id = c.comment_id GROUP BY lc.object_id)'; + . ') lc ON lc.comment_id = c.comment_id' + . ' GROUP BY lc.object_id, lc.entry_type, c.author_name, c.comment_data)'; return new Zend_Db_Expr($sub); }