ServicedowntimeQuery: PostgreSQL grouping...

refs #9009
This commit is contained in:
Johannes Meyer 2015-06-18 10:38:15 +02:00
parent 72de85ab7b
commit 068c0b6ed2
1 changed files with 29 additions and 2 deletions

View File

@ -99,7 +99,6 @@ class ServicedowntimeQuery extends IdoQuery
'hgo.object_id = hg.hostgroup_object_id AND hgo.is_active = 1 AND hgo.objecttype_id = 3',
array()
);
$this->group(array('sd.scheduleddowntime_id', 'so.name2', 'so.name1'));
}
/**
@ -146,7 +145,6 @@ class ServicedowntimeQuery extends IdoQuery
'sgo.object_id = sg.servicegroup_object_id AND sgo.is_active = 1 AND sgo.objecttype_id = 4',
array()
);
$this->group(array('sd.scheduleddowntime_id', 'so.name2', 'so.name1'));
}
/**
@ -172,4 +170,33 @@ class ServicedowntimeQuery extends IdoQuery
array()
);
}
/**
* {@inheritdoc}
*/
public function getGroup()
{
$group = array();
if ($this->hasJoinedVirtualTable('hostgroups') || $this->hasJoinedVirtualTable('servicegroups')) {
$group = array('sd.scheduleddowntime_id', 'so.object_id');
if ($this->hasJoinedVirtualTable('hosts')) {
$group[] = 'h.host_id';
}
if ($this->hasJoinedVirtualTable('hoststatus')) {
$group[] = 'hs.hoststatus_id';
}
if ($this->hasJoinedVirtualTable('services')) {
$group[] = 's.service_id';
}
if ($this->hasJoinedVirtualTable('servicestatus')) {
$group[] = 'ss.servicestatus_id';
}
}
return $group;
}
}