use of com.palantir.atlasdb.keyvalue.api.Value in project atlasdb by palantir.
the class AbstractTransactionTest method testKeyValueRanges2.
@Test
public void testKeyValueRanges2() {
putDirect("row1", "col1", "", 0);
putDirect("row2", "col1", "", 0);
putDirect("row2", "col2", "", 0);
final RangeRequest allRange = RangeRequest.builder().build();
final RangeRequest oneRange = RangeRequest.builder().startRowInclusive("row2".getBytes()).build();
final RangeRequest allRangeBatch = RangeRequest.builder().batchHint(3).build();
Map<RangeRequest, TokenBackedBasicResultsPage<RowResult<Value>, byte[]>> ranges = keyValueService.getFirstBatchForRanges(TEST_TABLE, ImmutableList.of(allRange, oneRange, allRangeBatch), 1);
assertTrue(ranges.get(allRange).getResults().size() >= 1);
assertEquals(2, ranges.get(allRangeBatch).getResults().size());
assertFalse(ranges.get(allRangeBatch).moreResultsAvailable());
assertEquals(1, ranges.get(oneRange).getResults().size());
}
use of com.palantir.atlasdb.keyvalue.api.Value in project atlasdb by palantir.
the class AbstractTransactionTest method testRangeAfterTimestampReverse.
@Test
public void testRangeAfterTimestampReverse() {
if (!supportsReverse()) {
return;
}
putDirect("row1", "col2", "", 0);
putDirect("row2", "col2", "", 0);
putDirect("row3", "col2", "", 5);
RangeRequest rangeRequest = RangeRequest.reverseBuilder().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());
}
use of com.palantir.atlasdb.keyvalue.api.Value in project atlasdb by palantir.
the class AbstractTransactionTest method testRangePagingBatchSizeOne.
@Test
public void testRangePagingBatchSizeOne() {
int totalPuts = 100;
for (int i = 0; i < totalPuts; i++) {
putDirect("row" + i, "col1", "v1", 0);
}
RangeRequest rangeRequest = RangeRequest.builder().batchHint(1).build();
Map<RangeRequest, TokenBackedBasicResultsPage<RowResult<Value>, byte[]>> ranges = keyValueService.getFirstBatchForRanges(TEST_TABLE, Iterables.limit(Iterables.cycle(rangeRequest), 100), 1);
assertEquals(1, ranges.keySet().size());
assertEquals(1, ranges.values().iterator().next().getResults().size());
assertEquals("row0", PtBytes.toString(ranges.values().iterator().next().getResults().iterator().next().getRowName()));
}
use of com.palantir.atlasdb.keyvalue.api.Value in project atlasdb by palantir.
the class AbstractSweepTest method get.
private String get(String row, String column, long ts) {
Cell cell = Cell.create(row.getBytes(StandardCharsets.UTF_8), column.getBytes(StandardCharsets.UTF_8));
Value val = kvs.get(TABLE_NAME, ImmutableMap.of(cell, ts)).get(cell);
return val == null ? null : new String(val.getContents(), StandardCharsets.UTF_8);
}
use of com.palantir.atlasdb.keyvalue.api.Value in project atlasdb by palantir.
the class TransactionTestSetup method getDirect.
protected Pair<String, Long> getDirect(TableReference tableRef, String rowName, String columnName, long timestamp) {
byte[] row = PtBytes.toBytes(rowName);
Cell cell = Cell.create(row, PtBytes.toBytes(columnName));
Value valueBytes = keyValueService.get(tableRef, ImmutableMap.of(cell, timestamp)).get(cell);
return valueBytes != null ? Pair.create(PtBytes.toString(valueBytes.getContents()), valueBytes.getTimestamp()) : null;
}
Aggregations