HoststatusQuery: Group by host- and servicegroup pk's if required

refs #9009
This commit is contained in:
Johannes Meyer 2015-06-18 12:34:30 +02:00
parent e181c57a70
commit b24b650a94
1 changed files with 44 additions and 0 deletions

View File

@ -400,6 +400,50 @@ SQL;
if ($this->hasJoinedVirtualTable('lasthostflappingcomment')) {
$group[] = 'hlfc.last_flapping_data';
}
if ($this->hasJoinedVirtualTable('hostgroups')) {
$selected = false;
foreach ($this->columns as $alias => $column) {
if ($column instanceof Zend_Db_Expr) {
continue;
}
$table = $this->aliasToTableName(
$this->hasAliasName($alias) ? $alias : $this->customAliasToAlias($alias)
);
if ($table === 'hostgroups') {
$selected = true;
break;
}
}
if ($selected) {
$group[] = 'hg.hostgroup_id';
$group[] = 'hgo.object_id';
}
}
if ($this->hasJoinedVirtualTable('servicegroups')) {
$selected = false;
foreach ($this->columns as $alias => $column) {
if ($column instanceof Zend_Db_Expr) {
continue;
}
$table = $this->aliasToTableName(
$this->hasAliasName($alias) ? $alias : $this->customAliasToAlias($alias)
);
if ($table === 'servicegroups') {
$selected = true;
break;
}
}
if ($selected) {
$group[] = 'sg.servicegroup_id';
$group[] = 'sgo.object_id';
}
}
}
return $group;