putColsStandard(cfs, ka, cols[0], cols[1], cols[2], cols[3]);
putColsStandard(cfs, kb, cols[0], cols[1], cols[2]);
putColsStandard(cfs, kc, cols[0], cols[1], cols[2], cols[3]);
cfs.forceBlockingFlush();
SlicePredicate sp = new SlicePredicate();
sp.setSlice_range(new SliceRange());
sp.getSlice_range().setCount(1);
sp.getSlice_range().setStart(ArrayUtils.EMPTY_BYTE_ARRAY);
sp.getSlice_range().setFinish(ArrayUtils.EMPTY_BYTE_ARRAY);
Collection<Row> rows;
Row row, row1, row2;
IDiskAtomFilter filter = ThriftValidation.asIFilter(sp, cfs.metadata, null);
rows = cfs.getRangeSlice(cfs.makeExtendedFilter(Util.range("", ""), filter, null, 3, true, true, System.currentTimeMillis()));
assert rows.size() == 1 : "Expected 1 row, got " + toString(rows);
row = rows.iterator().next();
assertColumnNames(row, "c0", "c1", "c2");
sp.getSlice_range().setStart(ByteBufferUtil.getArray(ByteBufferUtil.bytes("c2")));
filter = ThriftValidation.asIFilter(sp, cfs.metadata, null);
rows = cfs.getRangeSlice(cfs.makeExtendedFilter(new Bounds<RowPosition>(ka, min), filter, null, 3, true, true, System.currentTimeMillis()));
assert rows.size() == 2 : "Expected 2 rows, got " + toString(rows);
Iterator<Row> iter = rows.iterator();
row1 = iter.next();
row2 = iter.next();
assertColumnNames(row1, "c2", "c3");
assertColumnNames(row2, "c0");
sp.getSlice_range().setStart(ByteBufferUtil.getArray(ByteBufferUtil.bytes("c0")));
filter = ThriftValidation.asIFilter(sp, cfs.metadata, null);
rows = cfs.getRangeSlice(cfs.makeExtendedFilter(new Bounds<RowPosition>(row2.key, min), filter, null, 3, true, true, System.currentTimeMillis()));
assert rows.size() == 1 : "Expected 1 row, got " + toString(rows);
row = rows.iterator().next();
assertColumnNames(row, "c0", "c1", "c2");
sp.getSlice_range().setStart(ByteBufferUtil.getArray(ByteBufferUtil.bytes("c2")));
filter = ThriftValidation.asIFilter(sp, cfs.metadata, null);
rows = cfs.getRangeSlice(cfs.makeExtendedFilter(new Bounds<RowPosition>(row.key, min), filter, null, 3, true, true, System.currentTimeMillis()));
assert rows.size() == 2 : "Expected 2 rows, got " + toString(rows);
iter = rows.iterator();
row1 = iter.next();