X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=bundles%2Forg.simantics.db.impl%2Fsrc%2Forg%2Fsimantics%2Fdb%2Fimpl%2Fquery%2FStatements.java;h=ad4700aa826d6178f9447f81fa8e606ddfd13f0f;hb=68ce0966a57f5153b133c6283fdbae10f683b745;hp=e1a106aaac540cc019262d03f1688194bbd23fd2;hpb=46c8189fee24a71d1ce0634e12db5a696e952b10;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/Statements.java b/bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/Statements.java index e1a106aaa..ad4700aa8 100644 --- a/bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/Statements.java +++ b/bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/Statements.java @@ -135,6 +135,10 @@ final public class Statements extends CollectionBinaryQuery final static private void forSingleAssertion(ReadGraphImpl graph, final int r1, final int r2, final Statements entry, final TripleIntProcedure procedure) throws DatabaseException { + if(entry != null) { + assert(entry.isPending()); + } + IntArray map = getAssertionMap(graph, r1, r2, entry); if(map == null) { if(entry != null) entry.finish(graph, procedure); @@ -647,15 +651,13 @@ final public class Statements extends CollectionBinaryQuery } } - - @Override - public Object compute(ReadGraphImpl graph, final TripleIntProcedure procedure) throws DatabaseException { - computeForEach(graph, r1(), r2(), this, procedure); - return getResult(); - } public static void computeForEach(ReadGraphImpl graph, final int r1, final int r2, final Statements entry, final TripleIntProcedure procedure) throws DatabaseException { + if(entry != null) { + assert(entry.isPending()); + } + QueryCache.runnerRelationInfoQuery(graph, r2, entry, null, new InternalProcedure() { @Override @@ -690,6 +692,7 @@ final public class Statements extends CollectionBinaryQuery synchronized(this) { setReady(); + //new Exception(toString() + " is READY").printStackTrace(); } IntArray v = (IntArray)getResult(); @@ -761,7 +764,7 @@ final public class Statements extends CollectionBinaryQuery @Override public void recompute(ReadGraphImpl graph) throws DatabaseException { - compute(graph, new TripleIntProcedureAdapter() { + computeForEach(graph, r1(), r2(), this, new TripleIntProcedureAdapter() { @Override public void finished(ReadGraphImpl graph) {