diff --git a/library/Director/Web/Table/ObjectsTableSetMembers.php b/library/Director/Web/Table/ObjectsTableSetMembers.php index 6b18ac9a6..b69115ce4 100644 --- a/library/Director/Web/Table/ObjectsTableSetMembers.php +++ b/library/Director/Web/Table/ObjectsTableSetMembers.php @@ -197,9 +197,12 @@ protected function prepareQuery() ->where('bos.branch_uuid = ?', $conn->quoteBinary($this->branchUuid->getBytes())); $query->group('COALESCE(os.uuid, bos.uuid)'); $right->group('COALESCE(os.uuid, bos.uuid)'); + $middle = clone($query); + $middle->reset('columns'); if ($conn->isPgsql()) { // This is ugly, might want to modify the query - even a subselect looks better $query->group('bos.uuid')->group('os.uuid')->group('os.id')->group('bos.branch_uuid')->group('o.id'); + $middle->group('bos.uuid')->group('os.uuid')->group('os.id')->group('bos.branch_uuid')->group('o.id'); $right->group('bos.uuid')->group('os.uuid')->group('os.id')->group('bos.branch_uuid')->group('o.id'); } $right->joinLeft( @@ -212,9 +215,16 @@ protected function prepareQuery() "bo.{$type}_set = bos.object_name", [] )->group(['bo.object_name', 'o.object_name', 'bo.uuid']); + $columns['branch_uuid'] = 'bo.branch_uuid'; + $middle->columns($columns)->joinLeft( + ['bo' => "branched_icinga_{$type}"], + "bo.{$type}_set = os.object_name", + [] + )->group(['bo.object_name', 'o.object_name', 'bo.uuid', 'bo.imports']); $query = $this->db()->select()->union([ 'l' => new DbSelectParenthesis($query), + 'm' => new DbSelectParenthesis($middle), 'r' => new DbSelectParenthesis($right), ]); $query = $this->db()->select()->from(['u' => $query]); diff --git a/library/Director/Web/Table/ServiceTemplateUsageTable.php b/library/Director/Web/Table/ServiceTemplateUsageTable.php index c2806f683..66f1217fe 100644 --- a/library/Director/Web/Table/ServiceTemplateUsageTable.php +++ b/library/Director/Web/Table/ServiceTemplateUsageTable.php @@ -33,7 +33,7 @@ protected function getSummaryTables(string $templateType, Db $connection) $templateType, $connection, $auth - ) + )->setBranchUuid($this->branchUuid) ]; } }