@Override public boolean hasNext() { return hasReturnedFirst ? super.hasNext() : true; }
@Override public boolean hasNext() { return rowsCounted < rowsToCache && super.hasNext(); }
@Override public boolean hasNext() { return hasReturnedFirst ? super.hasNext() : true; }
@Override public boolean hasNext() { return rowsCounted < rowsToCache && super.hasNext(); }
@Override public boolean hasNext() { return rowsCounted < rowsToCache && super.hasNext(); }
@Override public boolean hasNext() { return hasReturnedFirst ? super.hasNext() : true; }
@Override public boolean hasNext() { return hasReturnedFirst ? super.hasNext() : true; }
@Override public boolean hasNext() { if (!isInit) init(); return nextFromWrapped != null || nextToMerge != null || super.hasNext(); }
@Override public boolean hasNext() { if (!isInit) init(); return nextFromWrapped != null || nextToMerge != null || super.hasNext(); }
@Override public Unfiltered next() { if (!isInit) init(); if (nextFromWrapped == null && super.hasNext()) nextFromWrapped = super.next(); if (nextFromWrapped == null) { if (nextToMerge == null) throw new NoSuchElementException(); return consumeNextToMerge(); } if (nextToMerge == null) return consumeNextWrapped(); int cmp = metadata().comparator.compare(nextToMerge, nextFromWrapped); if (cmp < 0) return consumeNextToMerge(); if (cmp > 0) return consumeNextWrapped(); // Same row, so merge them assert nextFromWrapped instanceof Row; return Rows.merge((Row)consumeNextWrapped(), consumeNextToMerge(), nowInSec); }
@Override public Unfiltered next() { if (!isInit) init(); if (nextFromWrapped == null && super.hasNext()) nextFromWrapped = super.next(); if (nextFromWrapped == null) { if (nextToMerge == null) throw new NoSuchElementException(); return consumeNextToMerge(); } if (nextToMerge == null) return consumeNextWrapped(); int cmp = metadata().comparator.compare(nextToMerge, nextFromWrapped); if (cmp < 0) return consumeNextToMerge(); if (cmp > 0) return consumeNextWrapped(); // Same row, so merge them assert nextFromWrapped instanceof Row; return Rows.merge((Row)consumeNextWrapped(), consumeNextToMerge(), nowInSec); }