Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
06/17/09 13:49:05 (15 years ago)
Author:
gkronber
Message:

Removed lazy loading of problem data and made adds of datasets and models atomic. #656 (CEDMA server should handle only one data set (problem) at a time)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.CEDMA.DB/3.3/Store.cs

    r1529 r2053  
    6161    }
    6262
     63    public void AddRange(ICollection<Statement> statements) {
     64      lock (bigLock) {
     65        foreach (Statement s in statements) {
     66          store.Add(Translate(s));
     67        }
     68      }
     69    }
     70
    6371
    6472    public ICollection<VariableBindings> Query(string query, int page, int pageSize) {
    65       MyQueryResultSink resultSink = new MyQueryResultSink();
    66       SemWeb.N3Reader n3Reader = new SemWeb.N3Reader(new StringReader(query));
    67       SemWeb.Query.GraphMatch matcher = new SemWeb.Query.GraphMatch(n3Reader);
    68       matcher.Run(store, resultSink);
    69       return resultSink.Bindings.Skip(page*pageSize).Take(pageSize).ToList();
     73      lock (bigLock) {
     74        MyQueryResultSink resultSink = new MyQueryResultSink();
     75        SemWeb.N3Reader n3Reader = new SemWeb.N3Reader(new StringReader(query));
     76        SemWeb.Query.GraphMatch matcher = new SemWeb.Query.GraphMatch(n3Reader);
     77        matcher.Run(store, resultSink);
     78        return resultSink.Bindings.Skip(page * pageSize).Take(pageSize).ToList();
     79      }
    7080    }
    7181
    7282    public ICollection<VariableBindings> Query(ICollection<Statement> query, int page, int pageSize) {
    73       MyQueryResultSink resultSink = new MyQueryResultSink();
    74       Translate(query).Run(store, resultSink);
    75       return resultSink.Bindings.Skip(page * pageSize).Take(pageSize).ToList();
     83      lock (bigLock) {
     84        MyQueryResultSink resultSink = new MyQueryResultSink();
     85        Translate(query).Run(store, resultSink);
     86        return resultSink.Bindings.Skip(page * pageSize).Take(pageSize).ToList();
     87      }
    7688    }
    7789
Note: See TracChangeset for help on using the changeset viewer.