Search in sources :

Example 46 with RowResult

use of com.palantir.atlasdb.keyvalue.api.RowResult in project atlasdb by palantir.

the class AbstractTransactionTest method testRangeAfterTimestamp.

@Test
public void testRangeAfterTimestamp() {
    putDirect("row1", "col2", "", 5);
    putDirect("row2", "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.getResults().isEmpty() || page.moreResultsAvailable());
}
Also used : TokenBackedBasicResultsPage(com.palantir.util.paging.TokenBackedBasicResultsPage) RowResult(com.palantir.atlasdb.keyvalue.api.RowResult) RangeRequest(com.palantir.atlasdb.keyvalue.api.RangeRequest) Value(com.palantir.atlasdb.keyvalue.api.Value) Test(org.junit.Test)

Example 47 with RowResult

use of com.palantir.atlasdb.keyvalue.api.RowResult in project atlasdb by palantir.

the class AbstractTransactionTest method testRangesTransactionColumnSelection.

@Test
public void testRangesTransactionColumnSelection() {
    Transaction t = startTransaction();
    put(t, "row1", "col1", "v1");
    t.commit();
    RangeRequest range1 = RangeRequest.builder().batchHint(3).build();
    RangeRequest range2 = range1.getBuilder().retainColumns(ColumnSelection.create(ImmutableSet.of(PtBytes.toBytes("col1")))).build();
    t = startTransaction();
    Iterable<BatchingVisitable<RowResult<byte[]>>> ranges = t.getRanges(TEST_TABLE, Iterables.limit(Iterables.cycle(range1, range2), 1000));
    for (BatchingVisitable<RowResult<byte[]>> batchingVisitable : ranges) {
        final List<RowResult<byte[]>> list = BatchingVisitables.copyToList(batchingVisitable);
        assertEquals(1, list.size());
        assertEquals(1, list.get(0).getColumns().size());
    }
    RangeRequest range3 = range1.getBuilder().retainColumns(ColumnSelection.create(ImmutableSet.of(PtBytes.toBytes("col2")))).build();
    verifyAllGetRangesImplsRangeSizes(t, range3, 0);
}
Also used : BatchingVisitable(com.palantir.common.base.BatchingVisitable) RowResult(com.palantir.atlasdb.keyvalue.api.RowResult) Transaction(com.palantir.atlasdb.transaction.api.Transaction) RangeRequest(com.palantir.atlasdb.keyvalue.api.RangeRequest) Test(org.junit.Test)

Example 48 with RowResult

use of com.palantir.atlasdb.keyvalue.api.RowResult in project atlasdb by palantir.

the class AbstractTransactionTest method testKeyValueRangeColumnSelection.

@Test
public void testKeyValueRangeColumnSelection() {
    putDirect("row1", "col1", "v1", 0);
    putDirect("row1", "col2", "v2", 2);
    putDirect("row1", "col4", "v5", 3);
    putDirect("row1a", "col4", "v5", 100);
    putDirect("row2", "col2", "v3", 1);
    putDirect("row2", "col4", "v4", 6);
    List<byte[]> selectedColumns = ImmutableList.of(PtBytes.toBytes("col2"));
    RangeRequest simpleRange = RangeRequest.builder().retainColumns(ColumnSelection.create(selectedColumns)).build();
    ImmutableList<RowResult<Value>> list = ImmutableList.copyOf(keyValueService.getRange(TEST_TABLE, simpleRange, 1));
    assertEquals(0, list.size());
    list = ImmutableList.copyOf(keyValueService.getRange(TEST_TABLE, simpleRange, 2));
    assertEquals(1, list.size());
    RowResult<Value> row = list.iterator().next();
    assertEquals(1, row.getColumns().size());
    list = ImmutableList.copyOf(keyValueService.getRange(TEST_TABLE, simpleRange, 3));
    assertEquals(2, list.size());
    row = list.iterator().next();
    assertEquals(1, row.getColumns().size());
    list = ImmutableList.copyOf(keyValueService.getRange(TEST_TABLE, simpleRange.getBuilder().endRowExclusive(PtBytes.toBytes("row2")).build(), 3));
    assertEquals(1, list.size());
    row = list.iterator().next();
    assertEquals(1, row.getColumns().size());
    list = ImmutableList.copyOf(keyValueService.getRange(TEST_TABLE, simpleRange.getBuilder().startRowInclusive(PtBytes.toBytes("row1a")).build(), 3));
    assertEquals(1, list.size());
    row = list.iterator().next();
    assertEquals(1, row.getColumns().size());
}
Also used : RowResult(com.palantir.atlasdb.keyvalue.api.RowResult) RangeRequest(com.palantir.atlasdb.keyvalue.api.RangeRequest) Value(com.palantir.atlasdb.keyvalue.api.Value) Test(org.junit.Test)

Example 49 with RowResult

use of com.palantir.atlasdb.keyvalue.api.RowResult in project atlasdb by palantir.

the class AbstractTransactionTest method testRangeBatchSizeOne.

@Test
public void testRangeBatchSizeOne() {
    RangeRequest range = RangeRequest.builder().batchHint(1).build();
    ClosableIterator<RowResult<Value>> ranges = keyValueService.getRange(TEST_TABLE, range, 1);
    assertEquals(false, ranges.hasNext());
}
Also used : RowResult(com.palantir.atlasdb.keyvalue.api.RowResult) RangeRequest(com.palantir.atlasdb.keyvalue.api.RangeRequest) Test(org.junit.Test)

Example 50 with RowResult

use of com.palantir.atlasdb.keyvalue.api.RowResult in project atlasdb by palantir.

the class AbstractTransactionTest method testKeyValueRangeReverse.

@Test
public void testKeyValueRangeReverse() {
    if (!supportsReverse()) {
        return;
    }
    putDirect("row1", "col1", "", 0);
    putDirect("row2", "col1", "", 0);
    putDirect("row2", "col2", "", 0);
    RangeRequest allRange = RangeRequest.reverseBuilder().batchHint(3).build();
    ClosableIterator<RowResult<Value>> range = keyValueService.getRange(TEST_TABLE, allRange, 1);
    ImmutableList<RowResult<Value>> list = ImmutableList.copyOf(range);
    assertEquals(2, list.size());
    assertEquals("row2", PtBytes.toString(list.iterator().next().getRowName()));
}
Also used : RowResult(com.palantir.atlasdb.keyvalue.api.RowResult) RangeRequest(com.palantir.atlasdb.keyvalue.api.RangeRequest) Test(org.junit.Test)

Aggregations

RowResult (com.palantir.atlasdb.keyvalue.api.RowResult)57 RangeRequest (com.palantir.atlasdb.keyvalue.api.RangeRequest)40 Test (org.junit.Test)23 Cell (com.palantir.atlasdb.keyvalue.api.Cell)17 Value (com.palantir.atlasdb.keyvalue.api.Value)16 TableReference (com.palantir.atlasdb.keyvalue.api.TableReference)10 TokenBackedBasicResultsPage (com.palantir.util.paging.TokenBackedBasicResultsPage)10 Set (java.util.Set)8 ColumnSelection (com.palantir.atlasdb.keyvalue.api.ColumnSelection)7 Transaction (com.palantir.atlasdb.transaction.api.Transaction)7 SortedMap (java.util.SortedMap)7 Map (java.util.Map)6 ImmutableSet (com.google.common.collect.ImmutableSet)5 Lists (com.google.common.collect.Lists)5 AbstractPagingIterable (com.palantir.util.paging.AbstractPagingIterable)5 Entry (java.util.Map.Entry)5 ImmutableList (com.google.common.collect.ImmutableList)4 ImmutableSortedMap (com.google.common.collect.ImmutableSortedMap)4 PtBytes (com.palantir.atlasdb.encoding.PtBytes)4 ClosableIterator (com.palantir.common.base.ClosableIterator)4