Package dovetaildb.bytes

Examples of dovetaildb.bytes.Bytes


    if (clauses.size() > 0) {
      QueryNode idQuery = new OrderedOrQueryNode(clauses, null, null, null, false, false);
      Map<String, Object> entries = value.getEntries();
      do {
        long docId = idQuery.doc();
        Bytes idTerm = idQuery.term();
        byte[] idBytes = idTerm.subBytes(NUM_ID_BYTES, idTerm.getLength()-NUM_ID_BYTES).getBytes();
        Object val = entries.get(Util.encodeBytes(idBytes));
        DbServiceUtil.sencodeMulti(ArrayBytes.EMPTY_BYTES, val, edits, docId, false);
      } while(idQuery.next());
    }
    return edits;
View Full Code Here


      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;
View Full Code Here

          (byte)((bits >>> 8 * 2) & 0xFF),
          (byte)((bits >>> 8 * 1) & 0xFF),
          (byte)((bits) & 0xFF)});
    } else if (val instanceof String) {
      try {
        Bytes valBytes = new ArrayBytes(((String)val).getBytes("utf-8"));
        return new CompoundBytes(HEADER_BYTE_S, valBytes);
      } catch (UnsupportedEncodingException e) {
        throw new RuntimeException(e);
      }
    } else if (val == null) {
View Full Code Here

      ArrayList<QueryNode> nodes = new ArrayList<QueryNode>();
      for(Object entryObj : map.entrySet()) {
        Map.Entry entry = (Map.Entry) entryObj;
        String key = (String)entry.getKey();
        Object value = entry.getValue();
        Bytes curPrefix = new CompoundBytes(prefix, sencodeMapKey(key));
        curPrefix = new CompoundBytes(curPrefix, HEADER_BYTE_COLON);
        QueryNodeTemplate templ = applyPatternToBagIndex(curPrefix, value, index, revNum);
        if (templ.queryNode != null) {
          nodes.add(templ.queryNode);
          vars.putAll(templ.varMappings);
View Full Code Here

        }
        QueryNode negativeMatches = OrderedOrQueryNode.make(clauses);
        queryNode = AndNotQueryNode.make(matchesSoFar, negativeMatches);
        break;
      default:
        Bytes term1 = null;
        Bytes term2 = null;
        boolean isExclusive1 = false;
        boolean isExclusive2 = false;
        switch(opHash) {
        case DbServiceUtil.OP_HASH_AS:
        case DbServiceUtil.OP_HASH_ANY:
View Full Code Here

      if (node.nextTerm() == NextStatus.AT_END) return false;
    } while(! isAllowed());
    return true;
  }
  private boolean isAllowed() {
    Bytes term = node.term();
    if (prefix != null) {
      if (! prefix.isPrefixOf(term)) return false;
    }
    if (min != null) {
      if (min.compareTo(term) + minIsExcl > 0) return false;
View Full Code Here

    }
    return iter;
  }

  public void adjustMin(String name, Object newMin, boolean isExclusive) {
    Bytes bytes = DbServiceUtil.sencode(newMin);
    ((RangeQueryNode)vars.get(name)).adjustSuffixMin(bytes, isExclusive);
  }
View Full Code Here

    Bytes bytes = DbServiceUtil.sencode(newMin);
    ((RangeQueryNode)vars.get(name)).adjustSuffixMin(bytes, isExclusive);
  }

  public void adjustMax(String name, Object newMax, boolean isExclusive) {
    Bytes bytes = DbServiceUtil.sencode(newMax);
    ((RangeQueryNode)vars.get(name)).adjustSuffixMax(bytes, isExclusive);
  }
View Full Code Here

        }
        return low;
    }
 
  public DbResult derefByKey(String key) {
    Bytes cmpKey = new CompoundBytes(DbServiceUtil.HEADER_BYTE_MAPOPEN,
        new CompoundBytes(DbServiceUtil.sencodeMapKey(key),
            DbServiceUtil.HEADER_BYTE_COLON));
    int keyLen = cmpKey.getLength();
    int idx = binarySearch(terms, cmpKey, numTerms);
    Bytes[] subTerms = new Bytes[numTerms-idx]; // at most this many elements
    int subIdx = 0;
    for(;idx<numTerms;idx++) {
      Bytes curTerm = terms[idx];
      if (cmpKey.isPrefixOf(curTerm)) {
        subTerms[subIdx++] = curTerm.subBytes(keyLen, curTerm.getLength()-keyLen);
      } else {
        break;
      }
    }
    if (subIdx == 0) return null; // as opposed to a DbResult representing null
View Full Code Here

    int hiIdxByte = index >> 8;
    int loIdxByte = index & 0xff;
    Bytes[] subTerms = new Bytes[numTerms]; // at most this many elements
    int subIdx = 0;
    for(int termIdx=0; termIdx<this.numTerms; termIdx++) {
      Bytes term = terms[termIdx];
      if (term.get(0) != '[') continue;
      int sz = term.getLength();
      if (term.get(sz-1) == loIdxByte && term.get(sz-2) == hiIdxByte) {
        subTerms[subIdx++] = SlicedBytes.make(term, 1, sz-3);
      }
    }
    DbResult next = new DbResult();
    next.terms = subTerms;
View Full Code Here

TOP

Related Classes of dovetaildb.bytes.Bytes

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.