@Test public void testRangeAfterTimestamp2() { putDirect("row1", "col2", "", 5); putDirect("row2", "col2", "", 0); putDirect("row3", "col2", "", 0); RangeRequest rangeRequest = RangeRequest.builder().batchHint(1).build(); Map<RangeRequest, TokenBackedBasicResultsPage<RowResult<Value>, byte[]>> ranges = keyValueService.getFirstBatchForRanges(TEST_TABLE, Collections.singleton(rangeRequest), 1); assertEquals(1, ranges.keySet().size()); TokenBackedBasicResultsPage<RowResult<Value>, byte[]> page = ranges.values().iterator().next(); assertTrue(page.moreResultsAvailable()); }
@Test public void testKeyValueRangeWithDeletes() { putDirect("row1", "col1", "", 0); ImmutableList<RowResult<Value>> list = ImmutableList.copyOf(keyValueService.getRange(TEST_TABLE, RangeRequest.builder().build(), 1)); assertEquals(1, list.size()); RowResult<Value> row = list.iterator().next(); assertEquals(1, row.getColumns().size()); }
@Test public void testKeyValueRanges() { putDirect("row1", "col1", "", 0); putDirect("row2", "col1", "", 0); putDirect("row2", "col2", "", 0); Map<RangeRequest, TokenBackedBasicResultsPage<RowResult<Value>, byte[]>> ranges = keyValueService.getFirstBatchForRanges(TEST_TABLE, ImmutableList.of(RangeRequest.builder().build(), RangeRequest.builder().build()), 1); assertTrue(ranges.size() >= 1); }
public BatchingVisitableView<BlobsSerializableRowResult> getAllRowsUnordered(ColumnSelection columns) { return BatchingVisitables.transform(t.getRange(tableRef, RangeRequest.builder().retainColumns(columns).build()), new Function<RowResult<byte[]>, BlobsSerializableRowResult>() { @Override public BlobsSerializableRowResult apply(RowResult<byte[]> input) { return BlobsSerializableRowResult.of(input); } }); }
public BatchingVisitableView<TableClearsRowResult> getAllRowsUnordered(ColumnSelection columns) { return BatchingVisitables.transform(t.getRange(tableRef, RangeRequest.builder().retainColumns(columns).build()), new Function<RowResult<byte[]>, TableClearsRowResult>() { @Override public TableClearsRowResult apply(RowResult<byte[]> input) { return TableClearsRowResult.of(input); } }); }
@Override protected Map<String, StringValue> getRangeSecondColumnOnlyFirstTwoResults( Transaction transaction, String startRowKey, String endRowKey) { SchemaApiTestV2Table table = tableFactory.getSchemaApiTestV2Table(transaction); RangeRequest rangeRequest = RangeRequest.builder() .startRowInclusive(SchemaApiTestTable.SchemaApiTestRow.of(startRowKey).persistToBytes()) .endRowExclusive(SchemaApiTestTable.SchemaApiTestRow.of(endRowKey).persistToBytes()) .build(); return table.getSmallRowRangeColumn2(rangeRequest, 2); }
public BatchingVisitableView<SweepableTimestampsRowResult> getAllRowsUnordered(ColumnSelection columns) { return BatchingVisitables.transform(t.getRange(tableRef, RangeRequest.builder().retainColumns(columns).build()), new Function<RowResult<byte[]>, SweepableTimestampsRowResult>() { @Override public SweepableTimestampsRowResult apply(RowResult<byte[]> input) { return SweepableTimestampsRowResult.of(input); } }); }
public BatchingVisitableView<SweepShardProgressRowResult> getAllRowsUnordered(ColumnSelection columns) { return BatchingVisitables.transform(t.getRange(tableRef, RangeRequest.builder().retainColumns(columns).build()), new Function<RowResult<byte[]>, SweepShardProgressRowResult>() { @Override public SweepShardProgressRowResult apply(RowResult<byte[]> input) { return SweepShardProgressRowResult.of(input); } }); }
public BatchingVisitableView<CreatedIdxRowResult> getRange(RangeRequest range) { if (range.getColumnNames().isEmpty()) { range = range.getBuilder().retainColumns(allColumns).build(); } return BatchingVisitables.transform(t.getRange(tableRef, range), new Function<RowResult<byte[]>, CreatedIdxRowResult>() { @Override public CreatedIdxRowResult apply(RowResult<byte[]> input) { return CreatedIdxRowResult.of(input); } }); }
public BatchingVisitableView<UserPhotosStreamIdxRowResult> getAllRowsUnordered(ColumnSelection columns) { return BatchingVisitables.transform(t.getRange(tableRef, RangeRequest.builder().retainColumns(columns).build()), new Function<RowResult<byte[]>, UserPhotosStreamIdxRowResult>() { @Override public UserPhotosStreamIdxRowResult apply(RowResult<byte[]> input) { return UserPhotosStreamIdxRowResult.of(input); } }); }
public BatchingVisitableView<CheckAndSetRowResult> getAllRowsUnordered(ColumnSelection columns) { return BatchingVisitables.transform(t.getRange(tableRef, RangeRequest.builder().retainColumns(columns).build()), new Function<RowResult<byte[]>, CheckAndSetRowResult>() { @Override public CheckAndSetRowResult apply(RowResult<byte[]> input) { return CheckAndSetRowResult.of(input); } }); }
@Test public void otherDeleteRangeDoesNotCountAsClearingTheTable() throws Exception { RangeRequest request = RangeRequest.builder().startRowInclusive(ROW).build(); kvs.deleteRange(TABLE, request); assertFalse(kvs.hasBeenCleared(TABLE)); } }
public BatchingVisitableView<KeyValueRowResult> getAllRowsUnordered(ColumnSelection columns) { return BatchingVisitables.transform(t.getRange(tableRef, RangeRequest.builder().retainColumns(columns).build()), new Function<RowResult<byte[]>, KeyValueRowResult>() { @Override public KeyValueRowResult apply(RowResult<byte[]> input) { return KeyValueRowResult.of(input); } }); }
@Test public void getRangeOfTimestampsThrows() { RangeRequest range = RangeRequest.builder().endRowExclusive(SECOND_ROW).build(); try (ClosableIterator<RowResult<Set<Long>>> resultIterator = getTestKvs() .getRangeOfTimestamps(TEST_TABLE, range, Long.MAX_VALUE)) { assertThatThrownBy(resultIterator::next).isInstanceOf(AtlasDbDependencyException.class); } }
public BatchingVisitableView<KeyValueRowResult> getRange(RangeRequest range) { if (range.getColumnNames().isEmpty()) { range = range.getBuilder().retainColumns(allColumns).build(); } return BatchingVisitables.transform(t.getRange(tableRef, range), new Function<RowResult<byte[]>, KeyValueRowResult>() { @Override public KeyValueRowResult apply(RowResult<byte[]> input) { return KeyValueRowResult.of(input); } }); }
static RangeRequest metadataRangeRequestForTable(TableReference tableRef) { byte[] startRow = upperCaseTableReferenceToBytes(tableRef); byte[] endRow = lowerCaseTableReferenceToBytes(tableRef); return RangeRequest.builder() .startRowInclusive(startRow) .endRowExclusive(RangeRequests.nextLexicographicName(endRow)) .retainColumns(ImmutableSet.of(METADATA_COL)) .build(); }
public BatchingVisitableView<HotspottyDataStreamIdxRowResult> getAllRowsUnordered(ColumnSelection columns) { return BatchingVisitables.transform(t.getRange(tableRef, RangeRequest.builder().retainColumns(columns).build()), new Function<RowResult<byte[]>, HotspottyDataStreamIdxRowResult>() { @Override public HotspottyDataStreamIdxRowResult apply(RowResult<byte[]> input) { return HotspottyDataStreamIdxRowResult.of(input); } }); }
public BatchingVisitableView<HotspottyDataStreamMetadataRowResult> getAllRowsUnordered(ColumnSelection columns) { return BatchingVisitables.transform(t.getRange(tableRef, RangeRequest.builder().retainColumns(columns).build()), new Function<RowResult<byte[]>, HotspottyDataStreamMetadataRowResult>() { @Override public HotspottyDataStreamMetadataRowResult apply(RowResult<byte[]> input) { return HotspottyDataStreamMetadataRowResult.of(input); } }); }
@Test public void usesDifferentTableIdentifier() { RangeRequest request = RangeRequest.builder().startRowInclusive(START).endRowExclusive(END).retainColumns( ColumnSelection.create(ImmutableList.of(COL1))).build(); WhereClauses whereClauses = WhereClauses.create("other", request); List<String> expectedClauses = ImmutableList.of( "other.row_name >= ?", "other.row_name < ?", "other.col_name IN (?)"); assertEquals(whereClauses.getClauses(), expectedClauses); checkWhereArguments(whereClauses, ImmutableList.of(START, END, COL1)); }
@Test public void whereClausesMultiColumn() { RangeRequest request = RangeRequest.builder().startRowInclusive(START).endRowExclusive(END).retainColumns( ColumnSelection.create(ImmutableList.of(COL1, COL2, COL3))).build(); WhereClauses whereClauses = WhereClauses.create("i", request); List<String> expectedClauses = ImmutableList.of("i.row_name >= ?", "i.row_name < ?", "i.col_name IN (?,?,?)"); assertEquals(whereClauses.getClauses(), expectedClauses); checkWhereArguments(whereClauses, ImmutableList.of(START, END, COL1, COL2, COL3)); }