@Deprecated /* * When pulling deprecated methods out, do not remove this but change it to private constructor */ public KeyIterator(Keyspace keyspace, String columnFamily, Serializer<K> serializer, K start, K end, int maxRowCount) { query = HFactory .createRangeSlicesQuery(keyspace, serializer, stringSerializer, stringSerializer) .setColumnFamily(columnFamily) .setRange(null, null, false, maxColumnCount) .setRowCount(maxRowCount); endKey = end; if(maxRowCount < Integer.MAX_VALUE) { rowCount = maxRowCount+1; //to compensate the first entry skip (except in first run) } runQuery(start, end); }
@Test public void testFilter() { RangeSlicesQuery<String, Integer, Integer> query = HFactory.createRangeSlicesQuery(keyspace, se, is, is); query.setColumnFamily(CF); query.setRange(null, null, false, 10); SliceFilter<Row<String, Integer, Integer>> filter = new SliceFilter<Row<String, Integer, Integer>>() { @Override public boolean accept(Row<String, Integer, Integer> row) { return Integer.parseInt(row.getKey().replaceAll("^k", "")) < 10; } }; assertKeys(query, 9, null, null, filter); }
@Test public void testIterator() { RangeSlicesQuery<String, Integer, Integer> query = HFactory.createRangeSlicesQuery(keyspace, se, is, is); query.setColumnFamily(CF); query.setRange(null, null, false, 10); assertKeys(query, 3, null, "k11", null); assertKeys(query, 10, "k2", null, null); assertKeys(query, 21, null, null, null); }
@Deprecated /* * When pulling deprecated methods out, do not remove this but change it to private constructor */ public KeyIterator(Keyspace keyspace, String columnFamily, Serializer<K> serializer, K start, K end, int maxRowCount) { query = HFactory .createRangeSlicesQuery(keyspace, serializer, stringSerializer, stringSerializer) .setColumnFamily(columnFamily) .setRange(null, null, false, maxColumnCount) .setRowCount(maxRowCount); endKey = end; if(maxRowCount < Integer.MAX_VALUE) { rowCount = maxRowCount+1; //to compensate the first entry skip (except in first run) } runQuery(start, end); }
@Override public Void call() throws Exception { int rows = 0; rangeSlicesQuery.setColumnFamily(commandArgs.workingColumnFamily); log.debug("Starting SliceCommand"); try { while (rows < commandArgs.getKeysPerThread()) { rows+=commandArgs.batchSize; rangeSlicesQuery.setKeys(String.format("%010d", startKey + rows), ""); rangeSlicesQuery.setRange(null, null, false, commandArgs.columnCount); QueryResult<OrderedRows<String,String,String>> result = rangeSlicesQuery.execute(); LatencyTracker readCount = commandRunner.latencies.get(result.getHostUsed()); readCount.addMicro(result.getExecutionTimeMicro()); rows++; log.info("executed batch of {}. {} of {} complete", new Object[]{commandArgs.batchSize, rows, commandArgs.getKeysPerThread()}); } } catch (Exception e) { log.error("Problem: ", e); } commandRunner.doneSignal.countDown(); log.debug("SliceCommand complete"); return null; }
q.setRange("testRangeSlicesQueryColumn1", "testRangeSlicesQueryColumn3", false, 100); r = q.execute();
public KeyIterator(Keyspace keyspace, String columnFamily, Serializer<K> serializer, K start, K end, int maxRowCount) { query = HFactory .createRangeSlicesQuery(keyspace, serializer, stringSerializer, stringSerializer) .setColumnFamily(columnFamily) .setRange(null, null, false, maxColumnCount) .setRowCount(maxRowCount); endKey = end; runQuery(start, end); }
.setRange( null, null, false, Integer.MAX_VALUE ) // .execute();
.setRange( null, null, false, Integer.MAX_VALUE ) // .execute();
@Override public <K, N, V> List<CmbRow<K, N, V>> readAllRows(String keyspace, String columnFamily, int numRows, int numCols, CmbSerializer keySerializer, CmbSerializer columnNameSerializer, CmbSerializer valueSerializer) throws PersistenceException { long ts1 = System.currentTimeMillis(); logger.debug("event=read_nextn_nonempty_rows cf=" + columnFamily + " num_rows=" + numRows + " num_cols" + numCols); try { RangeSlicesQuery rangeSlicesQuery = HFactory.createRangeSlicesQuery(getKeyspace(keyspace), getSerializer(keySerializer), getSerializer(columnNameSerializer), getSerializer(valueSerializer)) .setColumnFamily(columnFamily) .setRange(null, null, false, numCols).setRowCount(numRows); //.setKeys(lastKey, null); QueryResult<OrderedRows<K, N, V>> result = rangeSlicesQuery.execute(); OrderedRows<K, N, V> orderedRows = result.get(); List<Row<K, N, V>> rows = orderedRows.getList(); return getRows(rows); } finally { long ts2 = System.currentTimeMillis(); CMBControllerServlet.valueAccumulator.addToCounter(AccumulatorName.CassandraRead, 1L); CMBControllerServlet.valueAccumulator.addToCounter(AccumulatorName.CassandraTime, (ts2 - ts1)); } }
/** * A C query that should be handled by the OCSP index. * * @param query The query. * @param limit The maximum amount of results to return. * @return An iterator iterating over the query results. */ private Iterator<byte[][]> secundaryOCPSQuery(final byte[][] query, final int limit) { return new CAndPCSlicesQueryIterator( HFactory.createRangeSlicesQuery(_dataAccessLayerFactory.getKeyspace(), BYTE_SERIALIZER, COMPOSITE_SERIALIZER, BYTE_SERIALIZER) .setColumnFamily(OC_PS) .addEqualsExpression(C_COL, query[3]) .setRange(INCLUDE_ALL_COMPOSITE_LOWER_BOUND, INCLUDE_ALL_COMPOSITE_HIGHER_BOUND, false, limit) .setReturnKeysOnly(), limit, OC_PS, _dataAccessLayerFactory.getKeyspace(), _dictionary, false); }
query.setColumnFamily(columnFamily); query.setKeys(start, ""); query.setRange("", "", false, columnLimit); query.setRowCount(limit); OrderedRows<String, String, String> rows = query.execute().get();
/** * A C query that should be handled by the OCSP index. * * @param query The query. * @param limit The maximum amount of results to return. * @return An iterator iterating over the query results. */ private Iterator<byte[][]> secundaryOCPSQuery(final byte[][] query, final int limit) { return new CAndPCSlicesQueryIterator( HFactory.createRangeSlicesQuery(_dataAccessLayerFactory.getKeyspace(), BYTE_SERIALIZER, COMPOSITE_SERIALIZER, BYTE_SERIALIZER) .setColumnFamily(OC_PS) .addEqualsExpression(C_COL, query[3]) .setRange(INCLUDE_ALL_COMPOSITE_LOWER_BOUND, INCLUDE_ALL_COMPOSITE_HIGHER_BOUND, false, limit) .setReturnKeysOnly(), limit, OC_PS, _dataAccessLayerFactory.getKeyspace(), _dictionary, false); }
@Override public Collection<String> getRepositories() throws MetadataRepositoryException { try { logger.debug( "getRepositories" ); final QueryResult<OrderedRows<String, String, String>> cResult = // HFactory.createRangeSlicesQuery( cassandraArchivaManager.getKeyspace(), // ss, ss, ss ) // .setColumnFamily( cassandraArchivaManager.getRepositoryFamilyName() ) // .setColumnNames( REPOSITORY_NAME.toString() ) // .setRange( null, null, false, Integer.MAX_VALUE ) // .execute(); List<String> repoIds = new ArrayList<>( cResult.get().getCount() ); for ( Row<String, String, String> row : cResult.get() ) { repoIds.add( getStringValue( row.getColumnSlice(), REPOSITORY_NAME.toString() ) ); } return repoIds; } catch ( PersistenceException e ) { throw new MetadataRepositoryException( e.getMessage(), e ); } }
/** * A PC query that should be handled by the SCPO index. * * @param query The query. * @param limit The maximum amount of results to return. * @return An iterator iterating over the query results. */ private Iterator<byte[][]> secundarySPCOQuery(final byte[][] query, final int limit) { return new CAndPCSlicesQueryIterator( HFactory.createRangeSlicesQuery(_dataAccessLayerFactory.getKeyspace(), BYTE_SERIALIZER, COMPOSITE_SERIALIZER, BYTE_SERIALIZER) .setColumnFamily(SPC_O) .addEqualsExpression(PC_COL, _dictionary.compose(query[1], query[3])) .setRange(INCLUDE_ALL_COMPOSITE_LOWER_BOUND, INCLUDE_ALL_COMPOSITE_HIGHER_BOUND, false, limit) .setReturnKeysOnly(), limit, SPC_O, _dataAccessLayerFactory.getKeyspace(), _dictionary, true); }
/** * A PC query that should be handled by the SCPO index. * * @param query The query. * @param limit The maximum amount of results to return. * @return An iterator iterating over the query results. */ private Iterator<byte[][]> secundarySPCOQuery(final byte[][] query, final int limit) { return new CAndPCSlicesQueryIterator( HFactory.createRangeSlicesQuery(_dataAccessLayerFactory.getKeyspace(), BYTE_SERIALIZER, COMPOSITE_SERIALIZER, BYTE_SERIALIZER) .setColumnFamily(SPC_O) .addEqualsExpression(PC_COL, _dictionary.compose(query[1], query[3])) .setRange(INCLUDE_ALL_COMPOSITE_LOWER_BOUND, INCLUDE_ALL_COMPOSITE_HIGHER_BOUND, false, limit) .setReturnKeysOnly(), limit, SPC_O, _dataAccessLayerFactory.getKeyspace(), _dictionary, true); }
query.setRowCount(3); query.setKeys("", ""); query.setRange("", "", false, 2); QueryResult<OrderedRows<String, String, String>> result = query.execute(); query.setColumnFamily("rangeQuery"); query.setRowCount(3); query.setRange("", "", false, 2); query.setKeys(lastRow.getKey(), ""); result = query.execute();
query.setRowCount(3); query.setKeys("", ""); query.setRange("", "", false, 2); QueryResult<OrderedRows<String, String, String>> result = query.execute(); query.setColumnFamily("rangeQuery"); query.setRowCount(3); query.setRange("", "", false, 2); query.setKeys(lastRow.getKey(), ""); result = query.execute();
rangeSlicesQuery.setColumnFamily("Standard1"); rangeSlicesQuery.setKeys("", ""); rangeSlicesQuery.setRange("", "", false, 3);
rangeSlicesQuery.setColumnFamily(family); rangeSlicesQuery.setKeys(startKey, endKey); rangeSlicesQuery.setRange(ByteBuffer.wrap(new byte[0]), ByteBuffer.wrap(new byte[0]), false, GoraRecordReader.BUFFER_LIMIT_READ_VALUE); rangeSlicesQuery.setRowCount(limit); rangeSlicesQuery.setColumnNames(columnNameByteBuffers);