org.janusgraph.diskstorage.keycolumnvalue.KeySliceQuery.getLimit()方法的使用及代码示例

x33g5p2x  于2022-01-24 转载在 其他  
字(3.4k)|赞(0)|评价(0)|浏览(103)

本文整理了Java中org.janusgraph.diskstorage.keycolumnvalue.KeySliceQuery.getLimit()方法的一些代码示例,展示了KeySliceQuery.getLimit()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。KeySliceQuery.getLimit()方法的具体详情如下:
包路径:org.janusgraph.diskstorage.keycolumnvalue.KeySliceQuery
类名称:KeySliceQuery
方法名:getLimit

KeySliceQuery.getLimit介绍

暂无

代码示例

代码示例来源:origin: JanusGraph/janusgraph

@Override
  public String toString() {
    return String.format("KeySliceQuery(key: %s, start: %s, end: %s, limit:%d)", key, getSliceStart(), getSliceEnd(), getLimit());
  }
}

代码示例来源:origin: JanusGraph/janusgraph

final KVQuery convertQuery(final KeySliceQuery query) {
  Predicate<StaticBuffer> filter = Predicates.alwaysTrue();
  if (!hasFixedKeyLength()) {
    filter = keyAndColumn -> equalKey(keyAndColumn, query.getKey());
  }
  return new KVQuery(
      concatenatePrefix(query.getKey(), query.getSliceStart()),
      concatenatePrefix(query.getKey(), query.getSliceEnd()),
      filter,query.getLimit());
}

代码示例来源:origin: JanusGraph/janusgraph

EntryList getSlice(KeySliceQuery query, StoreTransaction txh) {
  Lock lock = getLock(txh);
  lock.lock();
  try {
    Data datacp = data;
    int start = datacp.getIndex(query.getSliceStart());
    if (start < 0) start = (-start - 1);
    int end = datacp.getIndex(query.getSliceEnd());
    if (end < 0) end = (-end - 1);
    if (start < end) {
      MemoryEntryList result = new MemoryEntryList(end - start);
      for (int i = start; i < end; i++) {
        if (query.hasLimit() && result.size() >= query.getLimit()) break;
        result.add(datacp.get(i));
      }
      return result;
    } else {
      return EntryList.EMPTY_LIST;
    }
  } finally {
    lock.unlock();
  }
}

代码示例来源:origin: awslabs/dynamodb-janusgraph-storage-backend

protected String encodeForLog(final KeySliceQuery query) {
  return "keyslice[hk:" + encodeKeyForLog(query.getKey()) + " " + "rk:" + encodeKeyForLog(query.getSliceStart()) + " -> " + encodeKeyForLog(query.getSliceEnd()) + " limit:"
    + query.getLimit() + "]";
}

代码示例来源:origin: awslabs/dynamodb-janusgraph-storage-backend

@Override
public EntryList getSlice(final KeySliceQuery query, final StoreTransaction txh) throws BackendException {
  log.debug("Entering getSliceKeySliceQuery table:{} query:{} txh:{}", getTableName(), encodeForLog(query), txh);
  final GetItemRequest request = super.createGetItemRequest().withKey(new ItemBuilder().hashKey(query.getKey()).build());
  final GetItemResult result = new ExponentialBackoff.GetItem(request, client.getDelegate()).runWithBackoff();
  final List<Entry> filteredEntries = extractEntriesFromGetItemResult(result, query.getSliceStart(), query.getSliceEnd(), query.getLimit());
  log.debug("Exiting getSliceKeySliceQuery table:{} query:{} txh:{} returning:{}", getTableName(), encodeForLog(query), txh,
       filteredEntries.size());
  return StaticArrayEntryList.of(filteredEntries);
}

代码示例来源:origin: org.janusgraph/janusgraph-cql

@Override
public EntryList getSlice(final KeySliceQuery query, final StoreTransaction txh) throws BackendException {
  final Future<EntryList> result = Future.fromJavaFuture(
      this.executorService,
      this.session.executeAsync(this.getSlice.bind()
          .setBytes(KEY_BINDING, query.getKey().asByteBuffer())
          .setBytes(SLICE_START_BINDING, query.getSliceStart().asByteBuffer())
          .setBytes(SLICE_END_BINDING, query.getSliceEnd().asByteBuffer())
          .setInt(LIMIT_BINDING, query.getLimit())
          .setConsistencyLevel(getTransaction(txh).getReadConsistencyLevel())))
      .map(resultSet -> fromResultSet(resultSet, this.getter));
  interruptibleWait(result);
  return result.getValue().get().getOrElseThrow(EXCEPTION_MAPPER);
}

相关文章