ServicestatusQuery: PostgreSQL grouping...

refs #9009
This commit is contained in:
Johannes Meyer 2015-06-18 12:08:05 +02:00
parent 37103cf72d
commit e181c57a70
1 changed files with 24 additions and 2 deletions

View File

@ -236,7 +236,6 @@ class ServicestatusQuery extends IdoQuery
'hgo.object_id = hg.hostgroup_object_id AND hgo.is_active = 1 AND hgo.objecttype_id = 3',
array()
);
$this->group(array('so.name2', 'so.name1'));
}
/**
@ -281,7 +280,6 @@ class ServicestatusQuery extends IdoQuery
'sgo.object_id = sg.servicegroup_object_id AND sgo.is_active = 1 AND sgo.objecttype_id = 4',
array()
);
$this->group(array('so.name2', 'so.name1'));
}
/**
@ -296,4 +294,28 @@ class ServicestatusQuery extends IdoQuery
array()
);
}
/**
* {@inheritdoc}
*/
public function getGroup()
{
$group = array();
if ($this->hasJoinedVirtualTable('hostgroups') || $this->hasJoinedVirtualTable('servicegroups')) {
$group = array('s.service_id', 'so.object_id');
if ($this->hasJoinedVirtualTable('hosts')) {
$group[] = 'h.host_id';
}
if ($this->hasJoinedVirtualTable('hoststatus')) {
$group[] = 'hs.hoststatus_id';
}
if ($this->hasJoinedVirtualTable('servicestatus')) {
$group[] = 'ss.servicestatus_id';
}
}
return $group;
}
}