X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.db.impl%2Fsrc%2Forg%2Fsimantics%2Fdb%2Fimpl%2Fquery%2FStatements.java;h=d251a65c11b93dc4c70b3673d4b50518e912c5e5;hb=e3290cc52342e783a2617f3009fff8e6f3e54560;hp=935b8115962df76e3672d5479521e5dba41378f3;hpb=0ae2b770234dfc3cbb18bd38f324125cf0faca07;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 935b81159..d251a65c1 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 @@ -27,27 +27,25 @@ import org.simantics.db.request.RequestFlags; final public class Statements extends CollectionBinaryQuery { -// public ArrayList procs = null; - public Statements(final int r1, final int r2) { super(r1, r2); } final static Statements entry(final QueryProcessor processor, final int r1, final int r2) { - return (Statements)processor.statementsMap.get(id(r1,r2)); + return (Statements)processor.cache.statementsMap.get(id(r1,r2)); } final static Collection entries(final QueryProcessor processor, final int r1) { - return processor.statementsMap.values(r1); + return processor.cache.statementsMap.values(r1); } final static void runner(ReadGraphImpl graph, final int r1, final int r2, CacheEntry parent, final ListenerBase listener, final TripleIntProcedure procedure) { QueryProcessor processor = graph.processor; - Statements entry = (Statements)processor.statementsMap.get(id(r1,r2)); + Statements entry = (Statements)processor.cache.statementsMap.get(id(r1,r2)); if(entry == null) { entry = new Statements(r1, r2); @@ -93,17 +91,17 @@ final public class Statements extends CollectionBinaryQuery @Override public BinaryQuery getEntry(QueryProcessor provider) { - return provider.statementsMap.get(id); + return provider.cache.statementsMap.get(id); } @Override public void putEntry(QueryProcessor provider) { - provider.statementsMap.put(id, this); + provider.cache.statementsMap.put(id, this); } @Override final public void removeEntry(QueryProcessor provider) { - provider.statementsMap.remove(id); + provider.cache.statementsMap.remove(id); } final static TripleIntProcedure NOPT = new TripleIntProcedure() { @@ -842,19 +840,22 @@ final public class Statements extends CollectionBinaryQuery } @Override - public void performFromCache(ReadGraphImpl graph, QueryProcessor provider, final TripleIntProcedure procedure) { + public Object performFromCache(ReadGraphImpl graph, QueryProcessor provider, final TripleIntProcedure procedure) { assert(isReady()); - if(handleException(graph, procedure)) return; - final IntArray value = (IntArray)getResult(); + + if(handleException(graph, procedure)) return value; + for(int i=0;i