@Override public T next() { return transformer.apply(iterator.next()); }
@Override public Void call() { try ( CloseableIterator<Entry<KeyType>> mergedIterator = CloseableIterators.mergeSorted( iterators, keyObjComparator ); // This variable is used to close releaser automatically. @SuppressWarnings("unused") final Releaser releaser = combineBufferHolder.increment() ) { while (mergedIterator.hasNext()) { final Entry<KeyType> next = mergedIterator.next(); settableColumnSelectorFactory.set(next.values); grouper.aggregate(next.key); // grouper always returns ok or throws an exception settableColumnSelectorFactory.set(null); } } catch (IOException e) { throw Throwables.propagate(e); } grouper.finish(); return null; } }
long expectedKey = 0; while (iterator.hasNext()) { Assert.assertEquals(new Entry<>(expectedKey, new Object[]{expectedKey++ * leafNum * 10}), iterator.next());
@Override public T next() { return transformer.apply(iterator.next()); }
@Override public Void call() { try ( CloseableIterator<Entry<KeyType>> mergedIterator = CloseableIterators.mergeSorted( iterators, keyObjComparator ); // This variable is used to close releaser automatically. @SuppressWarnings("unused") final Releaser releaser = combineBufferHolder.increment() ) { while (mergedIterator.hasNext()) { final Entry<KeyType> next = mergedIterator.next(); settableColumnSelectorFactory.set(next.values); grouper.aggregate(next.key); // grouper always returns ok or throws an exception settableColumnSelectorFactory.set(null); } } catch (IOException e) { throw Throwables.propagate(e); } grouper.finish(); return null; } }