@Override public void getKey(ImmutableBytesWritable ptr) { delegate.getKey(ptr); }
@Override public long getSequenceValue(int index) { return delegate.getSequenceValue(index); }
public static Integer getRemainingOffset(Tuple offsetTuple) { if (offsetTuple != null) { ImmutableBytesPtr rowKeyPtr = new ImmutableBytesPtr(); offsetTuple.getKey(rowKeyPtr); if (QueryConstants.OFFSET_ROW_KEY_PTR.compareTo(rowKeyPtr) == 0) { Cell cell = offsetTuple.getValue(QueryConstants.OFFSET_FAMILY, QueryConstants.OFFSET_COLUMN); return PInteger.INSTANCE.toObject(cell.getValueArray(), cell.getValueOffset(), cell.getValueLength(), PInteger.INSTANCE, SortOrder.ASC, null, null); } } return null; }
if (!results.isEmpty()) { rowCount++; result.setKeyValues(results); if (isDescRowKeyOrderUpgrade) { Arrays.fill(values, null); for (IndexMaintainer maintainer : indexMaintainers) { if (!results.isEmpty()) { result.getKey(ptr); ValueGetter valueGetter = maintainer.createGetterFromKeyValues( result.setKeyValues(results); } else if (isDelete) { result.getValue(deleteCF, deleteCQ) != null) { Delete delete = new Delete(results.get(0).getRowArray(), results.get(0).getRowOffset(),
@Override public boolean getValue(byte[] family, byte[] qualifier, ImmutableBytesWritable ptr) { return delegate.getValue(family, qualifier, ptr); }
@Override public boolean isImmutable() { return delegate.isImmutable(); }
@Override public void setKeyValues(List<Cell> values) { delegate.setKeyValues(values); } }
@Override public int size() { return delegate.size(); }
if (!results.isEmpty()) { rowCount++; result.setKeyValues(results); if (isDescRowKeyOrderUpgrade) { Arrays.fill(values, null); for (IndexMaintainer maintainer : indexMaintainers) { if (!results.isEmpty()) { result.getKey(ptr); ValueGetter valueGetter = maintainer.createGetterFromKeyValues( result.setKeyValues(results); } else if (isDelete) { result.getValue(deleteCF, deleteCQ) != null) { Delete delete = new Delete(results.get(0).getRowArray(), results.get(0).getRowOffset(),
@Override public boolean evaluate(Tuple tuple, ImmutableBytesWritable ptr) { return tuple.getValue(cf, cq, ptr); }
if (evaluated || tuple.isImmutable()) { evalIndex+=2; } else {
@Override public Tuple next() throws SQLException { // XXX: No access here to the region instance to enclose this with startRegionOperation / // stopRegionOperation synchronized (scanner) { try { // TODO: size List<Cell> results = useQualifierAsIndex ? new EncodedColumnQualiferCellsList(minMaxQualifiers.getFirst(), minMaxQualifiers.getSecond(), encodingScheme) : new ArrayList<Cell>(); // Results are potentially returned even when the return value of s.next is false // since this is an indication of whether or not there are more values after the // ones returned boolean hasMore = scanner.nextRaw(results); if (!hasMore && results.isEmpty()) { return null; } // We instantiate a new tuple because in all cases currently we hang on to it // (i.e. to compute and hold onto the TopN). Tuple tuple = useQualifierAsIndex ? new PositionBasedMultiKeyValueTuple() : new MultiKeyValueTuple(); tuple.setKeyValues(results); return tuple; } catch (IOException e) { throw ServerUtil.parseServerException(e); } } }
@Override public int size() { return delegate.size(); }
if (!results.isEmpty()) { rowCount++; result.setKeyValues(results); if (isDescRowKeyOrderUpgrade) { Arrays.fill(values, null); for (IndexMaintainer maintainer : indexMaintainers) { if (!results.isEmpty()) { result.getKey(ptr); ValueGetter valueGetter = maintainer.createGetterFromKeyValues( result.setKeyValues(results); } else if (isDelete) { result.getValue(deleteCF, deleteCQ) != null) { Delete delete = new Delete(results.get(0).getRowArray(), results.get(0).getRowOffset(),
@Override protected ImmutableBytesWritable getGroupingKey(Tuple tuple, ImmutableBytesWritable ptr) throws SQLException { tuple.getKey(ptr); return ptr; }
@Override public Cell getValue(int index) { return delegate.getValue(index); }
@Override public boolean evaluate(Tuple tuple, ImmutableBytesWritable ptr) { boolean evaluated = getChild().evaluate(tuple, ptr); if (evaluated) { ptr.set(isNegate ^ ptr.getLength() == 0 ? PDataType.TRUE_BYTES : PDataType.FALSE_BYTES); return true; } if (tuple.isImmutable()) { ptr.set(isNegate ? PDataType.FALSE_BYTES : PDataType.TRUE_BYTES); return true; } return false; }
@Override public void setKeyValues(List<Cell> values) { delegate.setKeyValues(values); } }