From 76e8bdd1d1f7ec0ebba8e26d8036ebf3e583f3ed Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20tom=20W=C3=B6rden?= <h.tomwoerden@indiscale.com>
Date: Fri, 22 Jul 2022 13:46:54 +0200
Subject: [PATCH] FIX: workaround for #245

---
 src/main/java/org/caosdb/server/query/Query.java | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/caosdb/server/query/Query.java b/src/main/java/org/caosdb/server/query/Query.java
index a25f40c1..eb0679d5 100644
--- a/src/main/java/org/caosdb/server/query/Query.java
+++ b/src/main/java/org/caosdb/server/query/Query.java
@@ -628,9 +628,10 @@ public class Query implements QueryInterface, ToElementable, TransactionInterfac
    */
   private String generateSelectStatementForResultSet(
       final String resultSetTableName, final boolean versioned) {
+    // TODO remove the entities.role part when https://gitlab.indiscale.com/caosdb/src/caosdb-server/-/issues/245 is resolved
     if (resultSetTableName.equals("entities")) {
       final String baseStatement =
-          "SELECT entities.id, entity_acl.acl FROM entities INNER JOIN entity_acl ON entity_acl.id=entities.acl";
+          "SELECT entities.id, entity_acl.acl FROM entities INNER JOIN entity_acl ON entity_acl.id=entities.acl WHERE entities.role!='DOMAIN'";
       if (!versioned) {
         return baseStatement + ";";
       }
@@ -643,7 +644,7 @@ public class Query implements QueryInterface, ToElementable, TransactionInterfac
         return (" SELECT tmp.id, entity_acl.acl FROM "
                 + " (SELECT results.id AS id, entities.acl AS acl_id FROM `"
                 + resultSetTableName
-                + "` AS results JOIN entities ON results.id=entities.id) AS tmp"
+                + "` AS results JOIN entities ON results.id=entities.id WHERE entities.role!='DOMAIN') AS tmp"
                 + " JOIN entity_acl ON entity_acl.id=tmp.acl_id")
             + ";";
       }
-- 
GitLab