Refine search
private List<KeySlice> getRangeSlices(org.apache.cassandra.thrift.KeyRange keyRange, @Nullable SliceQuery sliceQuery) throws BackendException { SliceRange sliceRange = new SliceRange(); sliceRange.setStart(ArrayUtils.EMPTY_BYTE_ARRAY) .setFinish(ArrayUtils.EMPTY_BYTE_ARRAY) .setCount(5); } else { sliceRange.setStart(sliceQuery.getSliceStart().asByteBuffer()) .setFinish(sliceQuery.getSliceEnd().asByteBuffer()) .setCount((sliceQuery.hasLimit()) ? sliceQuery.getLimit() : Integer.MAX_VALUE); connection.getClient().get_range_slices(new ColumnParent(columnFamily), new SlicePredicate() .setSlice_range(sliceRange), keyRange, ConsistencyLevel.QUORUM);
private SliceRange getSliceRange(final SliceQuery slice, final int limit) { final SliceRange sliceRange = new SliceRange(); sliceRange.setStart(slice.getSliceStart().asByteBuffer()); sliceRange.setFinish(slice.getSliceEnd().asByteBuffer()); sliceRange.setCount(Math.min(limit, slice.getLimit())); return sliceRange; } }
@Override public Map<ByteBuffer, SuperColumn> multigetSuperColumn(List<ByteBuffer> keys, ColumnPath columnPath, boolean reversed, int size) throws HectorException { //valideSuperColumnPath(columnPath); // only can get supercolumn by multigetSuperSlice ColumnParent clp = new ColumnParent(columnPath.getColumn_family()); clp.setSuper_column(columnPath.getSuper_column()); SliceRange sr = new SliceRange(ByteBuffer.wrap(new byte[0]), ByteBuffer.wrap(new byte[0]), reversed, size); SlicePredicate sp = new SlicePredicate(); sp.setSlice_range(sr); Map<ByteBuffer, List<SuperColumn>> sclist = multigetSuperSlice(keys, clp, sp); if (sclist == null || sclist.isEmpty()) { return Collections.emptyMap(); } Map<ByteBuffer, SuperColumn> result = new HashMap<ByteBuffer, SuperColumn>(keys.size() * 2); for (Map.Entry<ByteBuffer, List<SuperColumn>> entry : sclist.entrySet()) { List<SuperColumn> sclistByKey = entry.getValue(); if (sclistByKey.size() > 0) { result.put(entry.getKey(), sclistByKey.get(0)); } } return result; }
@Override public AllRowsQuery<K, C> withColumnRange(ByteBufferRange range) { predicate.setSlice_range(new SliceRange().setStart(range.getStart()).setFinish(range.getEnd()) .setCount(range.getLimit()).setReversed(range.isReversed())); return this; }
/** * Will throw a runtime exception if neither columnsNames nor count were set. * @return */ public SlicePredicate toThrift() { SlicePredicate pred = new SlicePredicate(); switch (predicateType) { case ColumnNames: if (columnNames == null ) { return null; } pred.setColumn_names(toThriftColumnNames(columnNames)); break; case Range: Assert.isTrue(countSet, "Count was not set, neither were column-names set, can't execute"); SliceRange range = new SliceRange(findBytes(start), findBytes(finish), reversed, count); pred.setSlice_range(range); break; case Unknown: default: throw new HectorException( "Neither column names nor range were set, this is an invalid slice predicate"); } return pred; }
public static SlicePredicate create(Range range, Limit limit) { SliceRange slice = new SliceRange( range.start(), range.end(), false, limit.value()); SlicePredicate predicate = new SlicePredicate(); predicate.setSlice_range(slice); return predicate; }
case START: if (value == null) { unsetStart(); } else { setStart((ByteBuffer)value); unsetFinish(); } else { setFinish((ByteBuffer)value); unsetReversed(); } else { setReversed((Boolean)value); unsetCount(); } else { setCount((Integer)value);
@Override public SuperColumn getSuperColumn(final ByteBuffer key, final ColumnPath columnPath, final boolean reversed, final int size) throws HectorException { //valideSuperColumnPath(columnPath); final SliceRange sliceRange = new SliceRange(ByteBuffer.wrap(new byte[0]), ByteBuffer.wrap(new byte[0]), reversed, size); Operation<SuperColumn> op = new Operation<SuperColumn>(OperationType.READ, failoverPolicy, keyspaceName, credentials) { @Override public SuperColumn execute(Cassandra.Client cassandra) throws HectorException { ColumnParent clp = new ColumnParent(columnPath.getColumn_family()); clp.setSuper_column(columnPath.getSuper_column()); SlicePredicate sp = new SlicePredicate(); sp.setSlice_range(sliceRange); try { List<ColumnOrSuperColumn> cosc = cassandra.get_slice(key, clp, sp, getThriftCl(OperationType.READ)); if (cosc == null || cosc.isEmpty()) { return null; } return new SuperColumn(ByteBuffer.wrap(columnPath.getSuper_column()), getColumnList(cosc)); } catch (Exception e) { throw xtrans.translate(e); } } }; operateWithFailover(op); return op.getResult(); }
static boolean isEmptyPredicate(SlicePredicate predicate) { if (predicate == null) return true; if (predicate.isSetColumn_names() && predicate.getSlice_range() == null) return false; if (predicate.getSlice_range() == null) return true; byte[] start = predicate.getSlice_range().getStart(); if ((start != null) && (start.length > 0)) return false; byte[] finish = predicate.getSlice_range().getFinish(); if ((finish != null) && (finish.length > 0)) return false; return true; }
@Test public void testGetSetPredicate_range() { ConcreteSliceQueury<String, String, String, Rows<String, String, String>> q = new ConcreteSliceQueury<String, String, String, Rows<String, String,String>>(ko, se, se, se); q.setRange("1", "100", false, 10); SlicePredicate p = q.getPredicate(); assertNull(p.getColumn_names()); SliceRange range = p.getSlice_range(); assertNotNull(range); assertArrayEquals(bytes("1"), range.getStart()); assertArrayEquals(bytes("100"), range.getFinish()); assertEquals(10, range.getCount()); }
public Object getFieldValue(_Fields field) { switch (field) { case START: return getStart(); case FINISH: return getFinish(); case REVERSED: return Boolean.valueOf(isReversed()); case COUNT: return Integer.valueOf(getCount()); } throw new IllegalStateException(); }
public SliceRange setStart(byte[] start) { setStart(start == null ? (ByteBuffer)null : ByteBuffer.wrap(start)); return this; }
public SliceRange setFinish(byte[] finish) { setFinish(finish == null ? (ByteBuffer)null : ByteBuffer.wrap(finish)); return this; }
SlicePredicate predicate = new SlicePredicate(); predicate.setSlice_range(new SliceRange(ByteBufferUtil.EMPTY_BYTE_BUFFER, ByteBufferUtil.EMPTY_BYTE_BUFFER, true, 10000)); List<ColumnOrSuperColumn> columnOrSuperColumns = conn.getClient().get_slice(key, new ColumnParent(tableName), predicate, consistencyLevel);
@Override public RowQuery<K, C> withColumnRange(ByteBufferRange range) { predicate.setSlice_range(new SliceRange().setStart(range.getStart()).setFinish(range.getEnd()) .setCount(range.getLimit()).setReversed(range.isReversed())); return this; } }
if (!tableName.equals(table)) { try { client.set_keyspace(table); tableName = table; } catch (Exception e) { SlicePredicate predicate; if (fields == null) { predicate = new SlicePredicate().setSlice_range(new SliceRange( EMPTY_BYTE_BUFFER, EMPTY_BYTE_BUFFER, false, 1000000)); predicate = new SlicePredicate().setColumn_names(fieldlist); client.get_slice(ByteBuffer.wrap(key.getBytes("UTF-8")), parent, predicate, ConsistencyLevel.ONE);
private SliceRange getSliceRange(final int limit) { final SliceRange sliceRange = new SliceRange(); sliceRange.setStart(JanusGraphHadoopSetupCommon.DEFAULT_SLICE_QUERY.getSliceStart().asByteBuffer()); sliceRange.setFinish(JanusGraphHadoopSetupCommon.DEFAULT_SLICE_QUERY.getSliceEnd().asByteBuffer()); sliceRange.setCount(Math.min(limit, JanusGraphHadoopSetupCommon.DEFAULT_SLICE_QUERY.getLimit())); return sliceRange; } }
/** * {@inheritDoc} */ @Override public <N> Mutator<K> addDeletion(K key, String cf, N columnNameStart, N columnNameFinish, Serializer<N> nameSerializer, long clock) { SlicePredicate sp = new SlicePredicate(); sp.setSlice_range(new SliceRange(nameSerializer.toByteBuffer(columnNameStart), nameSerializer.toByteBuffer(columnNameFinish), false, Integer.MAX_VALUE)); Deletion d = new Deletion().setTimestamp(clock).setPredicate(sp); getPendingMutations().addDeletion(key, Arrays.asList(cf), d); return this; }
case START: if (value == null) { unsetStart(); } else { setStart((ByteBuffer)value); unsetFinish(); } else { setFinish((ByteBuffer)value); unsetReversed(); } else { setReversed((Boolean)value); unsetCount(); } else { setCount((Integer)value);