]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/Types.java
Multiple readers and variable optimization
[simantics/platform.git] / bundles / org.simantics.db.impl / src / org / simantics / db / impl / query / Types.java
index 96afa8c4f586bd8fb83135e4eca2c4803542c3f8..155bc209bf27d2edc1a4d771f14d74047d1eeebd 100644 (file)
@@ -38,10 +38,6 @@ final public class Types extends UnaryQuery<InternalProcedure<IntSet>> {
 
        public static void computeForEach(final ReadGraphImpl graph, int id, Types entry, final InternalProcedure<IntSet> procedure) throws DatabaseException {
 
-               if(entry != null)
-                       if(entry.isReady())
-                               System.err.println("asd");
-               
                assert(procedure != null);
 
                QueryProcessor processor = graph.processor;
@@ -56,7 +52,10 @@ final public class Types extends UnaryQuery<InternalProcedure<IntSet>> {
                                @Override
                                public void execute(ReadGraphImpl graph, IntSet types) throws DatabaseException {
 
-                                       if(entry != null) entry.addOrSet(graph, types, processor);
+                                       if(entry != null) {
+                                               entry.addOrSet(graph, types, processor);
+                                               entry.finish();
+                                       }
                                        procedure.execute(graph, types);
 
                                }
@@ -67,6 +66,8 @@ final public class Types extends UnaryQuery<InternalProcedure<IntSet>> {
                                }
 
                        });
+                       
+                       return;
 
                }
                
@@ -103,9 +104,7 @@ final public class Types extends UnaryQuery<InternalProcedure<IntSet>> {
             @Override
             public void execute(ReadGraphImpl graph, int i) throws DatabaseException {
                 
-               synchronized(result) {
-                       result.add(i);
-               }
+               result.add(i);
                 
                 inc();