@Override protected Tuple wrapKeyValueAsResult(Cell keyValue) throws SQLException { return new MultiKeyValueTuple(Collections.<Cell> singletonList(keyValue)); }
private void addMutations(List<Cell> dataTableResults) throws IOException { if (!dataTableResults.isEmpty()) { result.setKeyValues(dataTableResults); for (IndexMaintainer maintainer : indexMaintainers) { result.getKey(ptr); ValueGetter valueGetter = maintainer .createGetterFromKeyValues(ImmutableBytesPtr.copyBytesIfNecessary(ptr), dataTableResults);
@Override public boolean getValue(byte[] family, byte[] qualifier, ImmutableBytesWritable ptr) { Cell kv = getValue(family, qualifier); if (kv == null) return false; ptr.set(kv.getValueArray(), kv.getValueOffset(), kv.getValueLength()); return true; } }
tuple = new MultiKeyValueTuple(flattenedCells); } else { tuple = new MultiKeyValueTuple(cells); flattenCells(source, flattenedCells); tuple.setKeyValues(flattenedCells); for (int i = 0; i < tuple.size(); i++) { Cell cell = tuple.getValue(i); if (Type.codeToType(cell.getTypeByte()) == Type.Put) { if (put == null) {
public MultiKeyValueTuple(List<Cell> values) { setKeyValues(values); }
tuple = new MultiKeyValueTuple(flattenedCells); } else { tuple = new MultiKeyValueTuple(cells); flattenCells(source, flattenedCells); tuple.setKeyValues(flattenedCells); for (int i = 0; i < tuple.size(); i++) { Cell cell = tuple.getValue(i); if (Type.codeToType(cell.getTypeByte()) == Type.Put) { if (put == null) {
public MultiKeyValueTuple(List<Cell> values) { setKeyValues(values); }
tuple = new MultiKeyValueTuple(flattenedCells); } else { tuple = new MultiKeyValueTuple(cells); flattenCells(source, flattenedCells); tuple.setKeyValues(flattenedCells); for (int i = 0; i < tuple.size(); i++) { Cell cell = tuple.getValue(i); if (Type.codeToType(cell.getTypeByte()) == Type.Put) { if (put == null) {
@Override protected Tuple wrapKeyValueAsResult(Cell keyValue) { return new MultiKeyValueTuple(Collections.<Cell> singletonList(keyValue)); }
private void addMutations(List<Cell> dataTableResults) throws IOException { if (!dataTableResults.isEmpty()) { result.setKeyValues(dataTableResults); for (IndexMaintainer maintainer : indexMaintainers) { result.getKey(ptr); ValueGetter valueGetter = maintainer .createGetterFromKeyValues(ImmutableBytesPtr.copyBytesIfNecessary(ptr), dataTableResults);
@Override public boolean getValue(byte[] family, byte[] qualifier, ImmutableBytesWritable ptr) { Cell kv = getValue(family, qualifier); if (kv == null) return false; ptr.set(kv.getValueArray(), kv.getValueOffset(), kv.getValueLength()); return true; } }
public MultiKeyValueTuple(List<Cell> values) { setKeyValues(values); }
protected Tuple wrapKeyValueAsResult(Cell keyValue) { return new MultiKeyValueTuple(Collections.<Cell> singletonList(keyValue)); }
private void addMutations(List<Cell> dataTableResults) throws IOException { if (!dataTableResults.isEmpty()) { result.setKeyValues(dataTableResults); for (IndexMaintainer maintainer : indexMaintainers) { result.getKey(ptr); ValueGetter valueGetter = maintainer .createGetterFromKeyValues(ImmutableBytesPtr.copyBytesIfNecessary(ptr), dataTableResults);
@Override public boolean getValue(byte[] family, byte[] qualifier, ImmutableBytesWritable ptr) { Cell kv = getValue(family, qualifier); if (kv == null) return false; ptr.set(kv.getValueArray(), kv.getValueOffset(), kv.getValueLength()); return true; } }
private void offerResult(Tuple tuple, boolean projected, List<Cell> result) { if (!projected || !addArrayCell) { resultQueue.offer(tuple); return; } Cell projectedCell = tuple.getValue(0); int arrayCellPosition = RegionScannerFactory.getArrayCellPosition(result); Cell arrayCell = result.get(arrayCellPosition); List<Cell> cells = new ArrayList<Cell>(2); cells.add(projectedCell); cells.add(arrayCell); MultiKeyValueTuple multi = new MultiKeyValueTuple(cells); resultQueue.offer(multi); }
@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); } } }
cells.add(dest.getValue(i)); MultiKeyValueTuple multi = new MultiKeyValueTuple(cells); return multi;
private int replaceArrayIndexElement(final Set<KeyValueColumnExpression> arrayKVRefs, final Expression[] arrayFuncRefs, List<Cell> result) { MultiKeyValueTuple tuple = new MultiKeyValueTuple(ImmutableList.copyOf(result));
boolean atLimit; boolean aggBoundary = false; Tuple result = useQualifierAsIndex ? new PositionBasedMultiKeyValueTuple() : new MultiKeyValueTuple(); ImmutableBytesPtr key = null; Aggregator[] rowAggregators = aggregators.getAggregators();