while (resultIterator.hasNext()) { jg.writeObject(resultIterator.next());
.iterator(); try { while (iterator.hasNext()) { final Map<String, Object> row = iterator.next();
private List<SegmentIdWithShardSpec> getPendingSegmentsForIntervalWithHandle( final Handle handle, final String dataSource, final Interval interval ) throws IOException { final List<SegmentIdWithShardSpec> identifiers = new ArrayList<>(); final ResultIterator<byte[]> dbSegments = handle.createQuery( StringUtils.format( "SELECT payload FROM %1$s WHERE dataSource = :dataSource AND start <= :end and %2$send%2$s >= :start", dbTables.getPendingSegmentsTable(), connector.getQuoteString() ) ) .bind("dataSource", dataSource) .bind("start", interval.getStart().toString()) .bind("end", interval.getEnd().toString()) .map(ByteArrayMapper.FIRST) .iterator(); while (dbSegments.hasNext()) { final byte[] payload = dbSegments.next(); final SegmentIdWithShardSpec identifier = jsonMapper.readValue(payload, SegmentIdWithShardSpec.class); if (interval.overlaps(identifier.getInterval())) { identifiers.add(identifier); } } dbSegments.close(); return identifiers; }
private static VersionedIntervalTimeline<String, DataSegment> getTimelineForIntervalWithHandle(final Handle handle, final String dataSource, final Interval interval, final MetadataStorageTablesConfig dbTables) throws IOException { Query<Map<String, Object>> sql = handle.createQuery(String.format( "SELECT payload FROM %s WHERE used = true AND dataSource = ? AND start <= ? AND \"end\" >= ?", dbTables.getSegmentsTable())) .bind(0, dataSource) .bind(1, interval.getEnd().toString()) .bind(2, interval.getStart().toString()); final VersionedIntervalTimeline<String, DataSegment> timeline = new VersionedIntervalTimeline<>(Ordering.natural()); try (ResultIterator<byte[]> dbSegments = sql.map(ByteArrayMapper.FIRST).iterator()) { while (dbSegments.hasNext()) { final byte[] payload = dbSegments.next(); DataSegment segment = JSON_MAPPER.readValue(payload, DataSegment.class); timeline.add(segment.getInterval(), segment.getVersion(), segment.getShardSpec().createChunk(segment)); } } return timeline; }
}).iterator(); while (user.hasNext()) { user.next();
@Override public boolean isFinished() { return !iterator.hasNext(); }
@Override public boolean isFinished() { return !iterator.hasNext(); }
@Override public synchronized boolean hasNext() { checkState(!closed, "already closed"); return iterator.hasNext(); }
@Override public synchronized boolean hasNext() { checkState(!closed, "already closed"); return iterator.hasNext(); }
public Object next() { Object rs = itty.next(); boolean has_next = itty.hasNext(); if (!has_next) { baton.release("iterator"); } return rs; }
@Override protected void run(Environment env, Namespace namespace, T configuration) throws Exception { CliConveniences.quietLogging("ifar"); final DBIFactory factory = new DBIFactory(); final DBI jdbi = factory.build(env, getSkidRoadReadOnlyConfiguration(configuration).getDatabaseConfiguration(), "logfile"); JDBILogFileDAO dao = jdbi.onDemand(DefaultJDBILogFileDAO.class); try (ResultIterator<String> ownerUris = dao.listOwnerUris()) { while (ownerUris.hasNext()) { System.out.println(ownerUris.next()); } } } }
@Test public void testEmptyTableBucketed() { long tableId = createTable("test"); List<ColumnInfo> columns = ImmutableList.of(new ColumnInfo(1, BIGINT)); shardManager.createTable(tableId, columns, true, OptionalLong.empty()); try (ResultIterator<BucketShards> iterator = shardManager.getShardNodesBucketed(tableId, true, ImmutableList.of(), TupleDomain.all())) { assertFalse(iterator.hasNext()); } }
@Test public void testEmptyTable() { long tableId = createTable("test"); List<ColumnInfo> columns = ImmutableList.of(new ColumnInfo(1, BIGINT)); shardManager.createTable(tableId, columns, false, OptionalLong.empty()); try (ResultIterator<BucketShards> iterator = shardManager.getShardNodes(tableId, TupleDomain.all())) { assertFalse(iterator.hasNext()); } }
@Test public void testFetchSize() throws Exception { h.createScript("default-data").execute(); Query<Something> q = h.createQuery("select id, name from something order by id").map(Something.class); q.setFetchSize(1); ResultIterator<Something> r = q.iterator(); assertTrue(r.hasNext()); r.next(); assertTrue(r.hasNext()); r.next(); assertFalse(r.hasNext()); }
@Test public void testEmptyWorksToo() throws Exception { ResultIterator<Map<String, Object>> it = h.createQuery("select * from something order by id") .cleanupHandle() .iterator(); assertFalse(it.hasNext()); }
@Test public void testEmptyWorksToo() throws Exception { ResultIterator<Map<String, Object>> it = h.createQuery("select * from something order by id") .cleanupHandle() .iterator(); assertFalse(it.hasNext()); }
@Test public void testBasicCleanupHandle() throws Exception { final Handle handle = dbi.open(); final Query<Integer> q = handle.createQuery("SELECT COUNT(1) FROM something").mapTo(Integer.class); final ResultIterator<Integer> it = q.iterator(); assertEquals(COUNT, Iterators.getOnlyElement(it).intValue()); assertFalse(it.hasNext()); assertFalse(handle.getConnection().isClosed()); handle.close(); assertTrue(handle.getConnection().isClosed()); }
@Test public void testBasicCleanupIterator() throws Exception { final Handle handle = dbi.open(); final Query<Integer> q = handle.createQuery("SELECT COUNT(1) FROM something") .cleanupHandle() .map(IntegerMapper.FIRST); final ResultIterator<Integer> it = q.iterator(); assertEquals(COUNT, Iterators.getOnlyElement(it).intValue()); assertFalse(it.hasNext()); assertTrue(handle.getConnection().isClosed()); }
@Test public void testBasicCleanupIterator() throws Exception { final Handle handle = dbi.open(); final Query<Integer> q = handle.createQuery("SELECT COUNT(1) FROM something") .cleanupHandle() .mapTo(Integer.class); final ResultIterator<Integer> it = q.iterator(); assertEquals(COUNT, Iterators.getOnlyElement(it).intValue()); assertFalse(it.hasNext()); assertTrue(handle.getConnection().isClosed()); }