@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()); }
@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(); }
@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()); }
@Override public QueryResult<OrderedRows<String, String, String>> execute() { IndexedSlicesQuery<String, String, String> indexedSlicesQuery = HFactory.createIndexedSlicesQuery(keyspace, stringSerializer, stringSerializer, stringSerializer); indexedSlicesQuery.setColumnFamily("Npanxx"); indexedSlicesQuery.setColumnNames("city","lat","lng"); indexedSlicesQuery.addEqualsExpression("state", "TX"); indexedSlicesQuery.addEqualsExpression("city", "Austin"); indexedSlicesQuery.addGteExpression("lat", "30.30"); QueryResult<OrderedRows<String, String, String>> result = indexedSlicesQuery.execute(); return result; }
indexedSlicesQuery.addEqualsExpression("birthdate", 1975L); indexedSlicesQuery.addGtExpression("birthmonth", 6L); indexedSlicesQuery.addLtExpression("birthmonth", 8L); indexedSlicesQuery.setColumnNames("birthdate","birthmonth"); indexedSlicesQuery.setColumnFamily("Indexed1"); indexedSlicesQuery.setStartKey(""); QueryResult<OrderedRows<String, String, Long>> result = indexedSlicesQuery.execute();
.setColumnFamily(columnFamily) .setRange(null, null, false, numCols).setRowCount(numRows); indexedSlicesQuery.addEqualsExpression(name, columnValues.get(name)); QueryResult<OrderedRows<K, N, V>> result = indexedSlicesQuery.execute();
.setColumnFamily(PO_SC) .addEqualsExpression(P_COL, query[1]) .setReturnKeysOnly();
@Override public <K, N, V> IndexedSlicesQuery<K, N, V> createIndexSlicesQuery(Serializer<K> keySerializer, Serializer<N> nameSerializer, Serializer<V> valueSerializer) { return new IndexedSlicesQuery<K, N, V>(keyspace, keySerializer, nameSerializer, valueSerializer); }
public IndexedSlicesIterator(IndexedSlicesQuery<K, N, V> query, K startKey) { this.query = query; this.startKey = startKey; this.query.setStartKey(startKey); }
@Override public OrderedRows<K, N, V> doInKeyspace(KeyspaceService ks) throws HectorException { Map<ByteBuffer, List<Column>> ret = null; if (!indexClause.isSetStart_key()) { indexClause.setStart_key(new byte[0]); } ColumnParent columnParent = new ColumnParent(columnFamilyName); ret = ks .getIndexedSlices(columnParent, indexClause, getPredicate()); Map<K, List<Column>> thriftRet = keySerializer.fromBytesMap(ret); return new OrderedRowsImpl<K, N, V>( (LinkedHashMap<K, List<Column>>) thriftRet, columnNameSerializer, valueSerializer); } }, consistency), this);
@Override public QueryResult<OrderedRows<String, String, byte[]>> execute() { IndexedSlicesQuery<String, String, byte[]> indexedSlicesQuery = HFactory.createIndexedSlicesQuery(keyspace, stringSerializer, stringSerializer, bas); indexedSlicesQuery.setColumnFamily("Npanxx"); indexedSlicesQuery.setColumnNames("city","state","lat","lng"); indexedSlicesQuery.addEqualsExpression("state", stringSerializer.toBytes("TX")); indexedSlicesQuery.addEqualsExpression("city", stringSerializer.toBytes("Austin")); indexedSlicesQuery.addGteExpression("lat", stringSerializer.toBytes("30.30")); QueryResult<OrderedRows<String, String, byte[]>> result = indexedSlicesQuery.execute(); String city = stringSerializer.fromBytes(result.get().iterator().next().getColumnSlice().getColumnByName("city").getValue()); log.info("Decoded City: {}, not decoded: {}", city, result.get().iterator().next().getColumnSlice().getColumnByName("city").getValue()); return result; }
.setColumnFamily(PO_SC) .addEqualsExpression(P_COL, query[1]) .setReturnKeysOnly();
/** * This method will soon be removed. Please use * {@link #createRangeSlicesQuery(Keyspace, Serializer, Serializer, Serializer)} instead. */ @Deprecated public static <K, N, V> IndexedSlicesQuery<K, N, V> createIndexedSlicesQuery( Keyspace keyspace, Serializer<K> keySerializer, Serializer<N> nameSerializer, Serializer<V> valueSerializer) { return new IndexedSlicesQuery<K, N, V>(keyspace, keySerializer, nameSerializer, valueSerializer); }
public IndexedSlicesIterator(IndexedSlicesQuery<K, N, V> query, K startKey) { this.query = query; this.startKey = startKey; this.query.setStartKey(startKey); }
@Override public OrderedRows<K, N, V> doInKeyspace(KeyspaceService ks) throws HectorException { Map<ByteBuffer, List<Column>> ret = null; if (!indexClause.isSetStart_key()) { indexClause.setStart_key(new byte[0]); } ColumnParent columnParent = new ColumnParent(columnFamilyName); ret = ks .getIndexedSlices(columnParent, indexClause, getPredicate()); Map<K, List<Column>> thriftRet = keySerializer.fromBytesMap(ret); return new OrderedRowsImpl<K, N, V>( (LinkedHashMap<K, List<Column>>) thriftRet, columnNameSerializer, valueSerializer); } }), this);
@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()); } }
@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 static <K, N, V> IndexedSlicesQuery<K, N, V> createIndexedSlicesQuery( Keyspace keyspace, Serializer<K> keySerializer, Serializer<N> nameSerializer, Serializer<V> valueSerializer) { return new IndexedSlicesQuery<K, N, V>(keyspace, keySerializer, nameSerializer, valueSerializer); }
public IndexedSlicesIterator(IndexedSlicesQuery<K, N, V> query, K startKey) { this.query = query; this.startKey = startKey; this.query.setStartKey(startKey); }
@Override public OrderedRows<K, N, V> doInKeyspace(KeyspaceService ks) throws HectorException { Map<ByteBuffer, List<Column>> ret = null; if (!indexClause.isSetStart_key()) { indexClause.setStart_key(new byte[0]); } ColumnParent columnParent = new ColumnParent(columnFamilyName); ret = ks .getIndexedSlices(columnParent, indexClause, getPredicate()); Map<K, List<Column>> thriftRet = keySerializer.fromBytesMap(ret); return new OrderedRowsImpl<K, N, V>( (LinkedHashMap<K, List<Column>>) thriftRet, columnNameSerializer, valueSerializer); } }), this);