]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/QuerySupport.java
Fixed multiple issues causing dangling references to discarded queries
[simantics/platform.git] / bundles / org.simantics.db.impl / src / org / simantics / db / impl / query / QuerySupport.java
index 6ba47cac780d45bd8a5595e3a7a11f2d5a7eaaa5..0a0a207fdc4d8d90b51ac93e594bc417489984f8 100644 (file)
@@ -13,16 +13,23 @@ package org.simantics.db.impl.query;
 
 import java.io.InputStream;
 
+import org.simantics.db.ObjectResourceIdMap;
 import org.simantics.db.Resource;
 import org.simantics.db.Session;
 import org.simantics.db.VirtualGraph;
+import org.simantics.db.exception.DatabaseException;
 import org.simantics.db.exception.ResourceNotFoundException;
+import org.simantics.db.impl.ClusterSupport;
 import org.simantics.db.impl.graph.ReadGraphImpl;
 
 public interface QuerySupport extends ResourceTranslator {
 
        Session getSession();
-       
+
+       ClusterSupport getClusterSupport();
+
+       ObjectResourceIdMap<String> createChildMap();
+
        boolean isImmutable(int id);
        long getClusterId(int id);
        int getId(Resource resource);
@@ -35,11 +42,11 @@ public interface QuerySupport extends ResourceTranslator {
        int getSingleInstance(int subject);
        int getSingleSuperrelation(int subject);
        int getFunctionalObject(int subject, int predicate);
-       boolean getObjects(ReadGraphImpl graph, int subject, int predicate, IntProcedure procedure);
+       boolean getObjects(ReadGraphImpl graph, int subject, int predicate, IntProcedure procedure) throws DatabaseException;
     
        org.simantics.db.DirectStatements getStatements(ReadGraphImpl graph, final int subject, QueryProcessor processor, boolean ignoreVirtual);
     
-    void getPredicates(ReadGraphImpl graph, int subject, IntProcedure procedure);
+    void getPredicates(ReadGraphImpl graph, int subject, IntProcedure procedure) throws DatabaseException;
     byte[] getValue(ReadGraphImpl graph, int resource);
     InputStream getValueStream(ReadGraphImpl graph, int resource);