Package dovetaildb.bagindex

Examples of dovetaildb.bagindex.EditRec


        */
        if (! data.positionSet(docId, ArrayBytes.EMPTY_BYTES)) {
          assert false;
        }
        do {
          edits.add(new EditRec(docId, data.term().copy(), true));
        } while (data.positionNext());
        docId = idQuery.nextValidDocId(docId + 1);
      } while(docId != Long.MAX_VALUE);
    }
    long insId = -1;
View Full Code Here


   */
  @Override
  public QueryNode makeQueryNode() {
    return FilteredQueryNode.make(
        new LiteralRangeQueryNode(new EditRec[]{
        new EditRec(2, ArrayBytes.fromString("0xxxxxxx")), // gets filtered
        new EditRec(2, ArrayBytes.fromString("{age:s31")), // gets filtered
        new EditRec(2, ArrayBytes.fromString("{age:s32")),
        new EditRec(2, ArrayBytes.fromString("{id:s002")),
        new EditRec(2, ArrayBytes.fromString("{name:sphil")),
        new EditRec(4, ArrayBytes.fromString("{id:s004")),
        new EditRec(6, ArrayBytes.fromString("{id:s006")),
        new EditRec(6, ArrayBytes.fromString("{idle:strue")),
    }), new Range(
        ArrayBytes.fromString("{"),
        ArrayBytes.fromString("age:s31"),
        null,
        false, false
View Full Code Here

   * id:006
   * @return
   */
  public static QueryNode testingQueryNode() {
    return new LiteralRangeQueryNode(new EditRec[]{
        new EditRec(2, ArrayBytes.fromString("{age:s32")),
        new EditRec(2, ArrayBytes.fromString("{id:s002")),
        new EditRec(2, ArrayBytes.fromString("{name:sphil")),
        new EditRec(4, ArrayBytes.fromString("{id:s004")),
        new EditRec(6, ArrayBytes.fromString("{id:s006")),
        new EditRec(6, ArrayBytes.fromString("{idle:strue")),
    });
  }
View Full Code Here

    if (val instanceof Map) {
      Map map = (Map)val;
      prefix = CompoundBytes.make(prefix, HEADER_BYTE_MAPOPEN);
      if (true) {
        Bytes headerBytes = CompoundBytes.make(prefix, suffix);
        buffer.add(new EditRec(docId, headerBytes.flatten(), idDel));
      }
      for(Object entryObj : map.entrySet()) {
        Map.Entry entry = (Map.Entry) entryObj;
        String key = (String)entry.getKey();
        Bytes sub = new CompoundBytes(prefix, sencodeMapKey(key));
        sub = new CompoundBytes(sub, HEADER_BYTE_COLON);
        sencodeMulti(sub, suffix, entry.getValue(), buffer, docId, idDel);
      }
    } else if (val instanceof List) {
      List list = (List)val;
      prefix = CompoundBytes.make(prefix, HEADER_BYTE_LISTOPEN);
      if (true) {
        Bytes headerBytes = CompoundBytes.make(prefix, suffix);
        buffer.add(new EditRec(docId, headerBytes.flatten(), idDel));
      }
      for(int index=list.size()-1; index>=0; index--) {
        Object subVal = list.get(index);
        Bytes newSuffix = CompoundBytes.make(DbServiceUtil.sencodeListIndex(index), suffix);
        sencodeMulti(prefix, newSuffix, subVal, buffer, docId, idDel);
      }
    } else {
      Bytes bytes = CompoundBytes.make(CompoundBytes.make(prefix,sencode(val)),suffix);
      buffer.add(new EditRec(docId, bytes.flatten(), false));
    }
  }
View Full Code Here

  @Override
  public void setUp() {
    EditRec[] edits;
    edits = new EditRec[]{
         new EditRec(1, ArrayBytes.fromString("{age:s0036")),
         new EditRec(2, ArrayBytes.fromString("{age:s0054")),
         new EditRec(3, ArrayBytes.fromString("{age:s0031")),
         new EditRec(4, ArrayBytes.fromString("{age:s0041")),
         new EditRec(5, ArrayBytes.fromString("{age:s0051")),
         new EditRec(6, ArrayBytes.fromString("{age:s0062"))
         };
   
    ArrayList<QueryNode> q = new ArrayList<QueryNode>();
    q.add(new LiteralRangeQueryNode(edits));
    Bytes[] prefixes = new Bytes[]{
View Full Code Here

 
  public synchronized void addRevsForTxn(long txn, Map<String, Long> revNums) {
    ArrayList<EditRec> edits = new ArrayList<EditRec>(revNums.size());
    for(Map.Entry<String,Long> bagRev : revNums.entrySet()) {
      Bytes bytes = termForTxnBag(bagRev.getKey(), txn);
      edits.add(new EditRec(bagRev.getValue(), bytes, false));
    }
    map.commitNewRev(edits);
    if (txn > headTxn) headTxn = txn;
    nextReserved = false;
  }
View Full Code Here

      QueryNode idQuery = new OrderedOrQueryNode(clauses, null, null, null, false, false);
      do {
        long docId = idQuery.doc();
        data.skipTo(docId);
        do {
          edits.add(new EditRec(docId, data.term(), true));
        } while(data.nextTerm() == NextStatus.NEXT_TERM);
      } while(idQuery.next());
    }
   
    long insId = -1;
View Full Code Here

 
  public static void sencodeMulti(Bytes prefix, Object val, ArrayList<EditRec> buffer, long docId, boolean idDel) {
    if (val instanceof Map) {
      Map map = (Map)val;
      prefix = new CompoundBytes(prefix, HEADER_BYTE_MAPOPEN);
      buffer.add(new EditRec(docId, prefix, idDel));
      for(Object entryObj : map.entrySet()) {
        Map.Entry entry = (Map.Entry) entryObj;
        String key = (String)entry.getKey();
        Bytes sub = new CompoundBytes(prefix, sencodeMapKey(key));
        sub = new CompoundBytes(sub, HEADER_BYTE_COLON);
        sencodeMulti(sub, entry.getValue(), buffer, docId, idDel);
      }
    } else if (val instanceof List) {
      List list = (List)val;
      prefix = new CompoundBytes(prefix, HEADER_BYTE_LISTOPEN);
      buffer.add(new EditRec(docId, prefix, idDel));
      for(Object subVal : list) {
        sencodeMulti(prefix, subVal, buffer, docId, idDel);
      }
    } else {
      buffer.add(new EditRec(docId, new CompoundBytes(prefix,sencode(val)), false));
    }
  }
View Full Code Here

TOP

Related Classes of dovetaildb.bagindex.EditRec

Copyright © 2018 www.massapicom. 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.