Examples of IdHashSet


Examples of de.fhg.igd.mongomvcc.helper.IdHashSet

   * @return the OIDs
   */
  private IdSet getDeletedOids(String collection) {
    IdSet oids = _deletedOids.get(collection);
    if (oids == null) {
      oids = new IdHashSet();
      _deletedOids.put(collection, oids);
    }
    return oids;
  }
View Full Code Here

Examples of de.fhg.igd.mongomvcc.helper.IdHashSet

   * @return the OIDs
   */
  private IdSet getOIDs(String collection) {
    IdSet oids = _oids.get(collection);
    if (oids == null) {
      oids = new IdHashSet();
      _oids.put(collection, oids);
    }
    return oids;
  }
View Full Code Here

Examples of de.fhg.igd.mongomvcc.helper.IdHashSet

    //load all commits which are older than the expiry time. mark them as dangling
    DBCollection collCommits = _db.getDB().getCollection(MongoDBConstants.COLLECTION_COMMITS);
    DBCursor commits = collCommits.find(new BasicDBObject(MongoDBConstants.TIMESTAMP,
        new BasicDBObject("$not", new BasicDBObject("$gte", maxTime))), //also include commits without a timestamp
        new BasicDBObject(MongoDBConstants.ID, 1));
    IdSet danglingCommits = new IdHashSet();
    for (DBObject o : commits) {
      long cid = (Long)o.get(MongoDBConstants.ID);
      danglingCommits.add(cid);
    }
   
    //walk through all branches and eliminate commits which are not dangling
    DBCollection collBranches = _db.getDB().getCollection(MongoDBConstants.COLLECTION_BRANCHES);
    DBCursor branches = collBranches.find(new BasicDBObject(), new BasicDBObject(MongoDBConstants.CID, 1));
    VHistory history = _db.getHistory();
    IdSet alreadyCheckedCommits = new IdHashSet();
    for (DBObject o : branches) {
      long cid = (Long)o.get(MongoDBConstants.CID);
      while (cid != 0) {
        if (alreadyCheckedCommits.contains(cid)) {
          break;
        }
        alreadyCheckedCommits.add(cid);
        danglingCommits.remove(cid);
        cid = history.getParent(cid);
      }
    }
   
View Full Code Here

Examples of de.fhg.igd.mongomvcc.helper.IdHashSet

    //fetch the OIDs of all documents older than the expiry time
    DBCollection collDocs = _db.getDB().getCollection(collection);
    DBCursor docs = collDocs.find(new BasicDBObject(MongoDBConstants.TIMESTAMP,
        new BasicDBObject("$not", new BasicDBObject("$gte", maxTime))), //also include docs without a timestamp
        new BasicDBObject(MongoDBConstants.ID, 1));
    IdSet oids = new IdHashSet(docs.count());
    for (DBObject o : docs) {
      oids.add((Long)o.get(MongoDBConstants.ID));
    }
   
    //iterate through all commits and eliminate referenced documents
    DBCollection collCommits = _db.getDB().getCollection(MongoDBConstants.COLLECTION_COMMITS);
    for (DBObject o : collCommits.find()) {
      Commit c = Tree.deserializeCommit(o);
      Map<String, IdMap> allObjs = c.getObjects();
      IdMap objs = allObjs.get(collection);
      if (objs != null) {
        //eliminate OIDs referenced by this commit
        IdMapIterator mi = objs.iterator();
        while (mi.hasNext()) {
          mi.advance();
          oids.remove(mi.value());
        }
      }
    }
   
    //the remaining OIDs must be the unreferenced ones
    return oids.toArray();
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.