public IndexedSlicesIterator(IndexedSlicesQuery<K, N, V> query, K startKey) { this.query = query; this.startKey = startKey; this.query.setStartKey(startKey); }
@Override public boolean hasNext() { if (iterator == null) { // First time through iterator = query.execute().get().getList().iterator(); } else if (!iterator.hasNext() && rows == query.getRowCount()) { // only need to do another query if maximum rows were retrieved query.setStartKey(startKey); iterator = query.execute().get().getList().iterator(); rows = 0; if (iterator.hasNext()) { // First element is startKey which was the last element on the previous query result - skip it next(); } } return iterator.hasNext(); }
public IndexedSlicesIterator(IndexedSlicesQuery<K, N, V> query, K startKey) { this.query = query; this.startKey = startKey; this.query.setStartKey(startKey); }
public IndexedSlicesIterator(IndexedSlicesQuery<K, N, V> query, K startKey) { this.query = query; this.startKey = startKey; this.query.setStartKey(startKey); }
@Test public void testInsertGetRemove() { IndexedSlicesQuery<String, String, Long> indexedSlicesQuery = new IndexedSlicesQuery<String, String, Long>(keyspace, se, se, le); indexedSlicesQuery.addEqualsExpression("birthyear", 1975L); indexedSlicesQuery.setColumnNames("birthmonth"); // see CASSANDRA-2653 //indexedSlicesQuery.setReturnKeysOnly(); indexedSlicesQuery.setColumnFamily(cf); indexedSlicesQuery.setStartKey(""); QueryResult<OrderedRows<String, String, Long>> result = indexedSlicesQuery.execute(); assertEquals(4, result.get().getList().size()); }
@Test public void testEqClauseMiss() { QueryResult<OrderedRows<String, String, Long>> result = new IndexedSlicesQuery<String, String, Long>(keyspace, se, se, le) .addEqualsExpression("birthyear", 5L) .addGteExpression("birthmonth", 4L) .addLteExpression("birthmonth", 6L) .setColumnNames("birthyear") .setColumnFamily(cf) .setStartKey("") .execute(); assertEquals(0, result.get().getList().size()); }
@Test public void testEqClauseMiss() { QueryResult<OrderedRows<String, String, Long>> result = new IndexedSlicesQuery<String, String, Long>(keyspace, se, se, le) .addEqualsExpression("birthyear", 5L) .addGteExpression("birthmonth", 4L) .addLteExpression("birthmonth", 6L) .setColumnNames("birthyear") .setColumnFamily(cf) .setStartKey("") .execute(); assertEquals(0, result.get().getList().size()); } }
@Test public void testMultiClause() { QueryResult<OrderedRows<String, String, Long>> result = new IndexedSlicesQuery<String, String, Long>(keyspace, se, se, le) .addEqualsExpression("birthyear", 1975L) .addGteExpression("birthmonth", 4L) .addLteExpression("birthmonth", 6L) .setColumnNames("birthyear") .setColumnFamily(cf) .setStartKey("") .execute(); assertEquals(3, result.get().getList().size()); }
@Test public void testMultiClause() { QueryResult<OrderedRows<String, String, Long>> result = new IndexedSlicesQuery<String, String, Long>(keyspace, se, se, le) .addEqualsExpression("birthyear", 1975L) .addGteExpression("birthmonth", 4L) .addLteExpression("birthmonth", 6L) .setColumnNames("birthyear") .setColumnFamily(cf) .setStartKey("") .execute(); assertEquals(3, result.get().getList().size()); }
@Test public void testRowCountLimit() { QueryResult<OrderedRows<String, String, Long>> result = new IndexedSlicesQuery<String, String, Long>(keyspace, se, se, le) .addEqualsExpression("birthyear", 1975L) .addGteExpression("birthmonth", 4L) .addLteExpression("birthmonth", 6L) .setColumnNames("birthyear") .setColumnFamily(cf) .setStartKey("") .setRowCount(2) .execute(); assertEquals(2, result.get().getList().size()); }
@Override public boolean hasNext() { if (iterator == null) { // First time through iterator = query.execute().get().getList().iterator(); } else if (!iterator.hasNext() && rows == query.getRowCount()) { // only need to do another query if maximum rows were retrieved query.setStartKey(startKey); iterator = query.execute().get().getList().iterator(); rows = 0; if (iterator.hasNext()) { // First element is startKey which was the last element on the previous query result - skip it next(); } } return iterator.hasNext(); }
@Override public boolean hasNext() { if (iterator == null) { // First time through iterator = query.execute().get().getList().iterator(); } else if (!iterator.hasNext() && rows == query.getRowCount()) { // only need to do another query if maximum rows were retrieved query.setStartKey(startKey); iterator = query.execute().get().getList().iterator(); rows = 0; if (iterator.hasNext()) { // First element is startKey which was the last element on the previous query result - skip it next(); } } return iterator.hasNext(); }
indexedSlicesQuery.setColumnNames("birthdate","birthmonth"); indexedSlicesQuery.setColumnFamily("Indexed1"); indexedSlicesQuery.setStartKey("");