@Override public int seekToKeyInBlock(Cell seekCell, boolean seekBefore) { previous.invalidate(); int index = binarySearch(seekCell, seekBefore); if (index < 0) { if (comp == 0) { // exact match if (seekBefore) { if (!previous.isValid()) { if (previous.isValid()) { moveToPrevious(); } else { previous.copyFromNext(current); decodeNext(); } else {
public Cell toCell() { Cell ret; int cellBufSize = getCellBufSize(); long seqId = 0L; if (includesMvcc()) {
@Override public int seekToKeyInBlock(Cell seekCell, boolean seekBefore) { previous.invalidate(); int index = binarySearch(seekCell, seekBefore); if (index < 0) { if (comp == 0) { // exact match if (seekBefore) { if (!previous.isValid()) { if (previous.isValid()) { moveToPrevious(); } else { previous.copyFromNext(current); decodeNext(); } else {
@Override public int seekToKeyInBlock(Cell seekCell, boolean seekBefore) { previous.invalidate(); int index = binarySearch(seekCell, seekBefore); if (index < 0) { if (comp == 0) { // exact match if (seekBefore) { if (!previous.isValid()) { if (previous.isValid()) { moveToPrevious(); } else { previous.copyFromNext(current); decodeNext(); } else {
public Cell toCell() { Cell ret; int cellBufSize = getCellBufSize(); long seqId = 0L; if (includesMvcc()) {
public Cell toCell() { Cell ret; int cellBufSize = getCellBufSize(); long seqId = 0L; if (includesMvcc()) {
@Override public Cell getCell() { return current.toCell(); }
@Override public String toString() { return CellUtil.getCellKeyAsString(toCell()); }
@Override public Cell getCell() { return current.toCell(); }
protected void decodeFirst() { decodeNext(); previous.invalidate(); }
@Override public String toString() { return CellUtil.getCellKeyAsString(toCell()); }
protected void decodeFirst() { decodeNext(); previous.invalidate(); }
@Override public boolean next() { if (!currentBuffer.hasRemaining()) { return false; } decodeNext(); previous.invalidate(); return true; }
private void moveToPrevious() { if (!previous.isValid()) { throw new IllegalStateException("Can move back only once and not in first key in the block."); } SeekerState tmp = previous; previous = current; current = tmp; // move after last key value currentBuffer.position(current.nextKvOffset); previous.invalidate(); }
protected void decodeAtPosition(int position) { currentBuffer.position(position); decodeNext(); previous.invalidate(); }
@Override public boolean next() { if (!currentBuffer.hasRemaining()) { return false; } decodeNext(); previous.invalidate(); return true; }
private void moveToPrevious() { if (!previous.isValid()) { throw new IllegalStateException("Can move back only once and not in first key in the block."); } SeekerState tmp = previous; previous = current; current = tmp; // move after last key value currentBuffer.position(current.nextKvOffset); previous.invalidate(); }
protected void decodeAtPosition(int position) { currentBuffer.position(position); decodeNext(); previous.invalidate(); }
protected void decodeFirst() { decodeNext(); previous.invalidate(); }
@Override public Cell getCell() { return current.toCell(); }