@Override public Iterator<Object[]> iterator() { return new ResultSetIterator(rs); }
@Override public boolean hasNext() { return it.hasNext(); }
@Override public Triple next() { Object[] ret = it.next(); return (Triple) ret[0]; }
@Test public void testRethrowThrowsRuntimeException() { ResultSetIterator resultSetIterator = new ResultSetIterator((ResultSet) null); Throwable throwable = new Throwable(); SQLException sQLException = new SQLException(throwable); try { resultSetIterator.rethrow(sQLException); fail("Expecting exception: RuntimeException"); } catch(RuntimeException e) { assertEquals(ResultSetIterator.class.getName(), e.getStackTrace()[0].getClassName()); } }
@Test public void testCreatesResultSetIteratorTakingThreeArgumentsAndCallsRemove() { ResultSet resultSet = mock(ResultSet.class); ResultSetIterator resultSetIterator = new ResultSetIterator(resultSet,null); resultSetIterator.remove(); }
/** * Deletes the current row from the <code>ResultSet</code>. * @see java.util.Iterator#remove() * @throws RuntimeException if an SQLException occurs. */ @Override public void remove() { try { this.rs.deleteRow(); } catch (SQLException e) { rethrow(e); } }
@Test public void sample_189() throws Exception { Connection connection = null; PreparedStatement statement = connection.prepareStatement("SELECT ..."); statement.setFetchSize(1000); ResultSet rs = statement.executeQuery(); Observable<Object[]> result = Observable .from(ResultSetIterator.iterable(rs)) .doAfterTerminate(() -> { try { rs.close(); statement.close(); connection.close(); } catch (SQLException e) { log.warn("Unable to close", e); } }); }
/** * Returns true if there are more rows in the ResultSet. * @return boolean <code>true</code> if there are more rows * @throws RuntimeException if an SQLException occurs. */ @Override public boolean hasNext() { try { return !rs.isLast(); } catch (SQLException e) { rethrow(e); return false; } }
@Override protected Iterator<IRow> getAllRows() { return new AbstractIteratorDecorator(new ResultSetIterator(rs)) { private int index; @Override public Object next() { Object[] row = (Object[]) super.next(); return new JdbcRow(index++, row, JdbcTable.this); } }; }
/** * Returns the next row as an <code>Object[]</code>. * @return An <code>Object[]</code> with the same number of elements as * columns in the <code>ResultSet</code>. * @see java.util.Iterator#next() * @throws RuntimeException if an SQLException occurs. */ @Override public Object[] next() { try { rs.next(); return this.convert.toArray(rs); } catch (SQLException e) { rethrow(e); return null; } }
@Override protected Iterator<IRow> getAllRows() { return new AbstractIteratorDecorator(new ResultSetIterator(rs)) { private int index; @Override public Object next() { Object[] row = (Object[]) super.next(); return new JdbcRow(index++, row, JdbcTable.this); } }; }
/** * Generates an <code>Iterable</code>, suitable for use in for-each loops. * * @param rs Wrap this <code>ResultSet</code> in an <code>Iterator</code>. * @return an <code>Iterable</code>, suitable for use in for-each loops. */ public static Iterable<Object[]> iterable(final ResultSet rs) { return new Iterable<Object[]>() { @Override public Iterator<Object[]> iterator() { return new ResultSetIterator(rs); } }; }
public DB2ResultSetIterator(ResultSet rs, Connection con, Store store) { it = new ResultSetIterator(rs, new RowProcessorImpl(store, con)); this.rs = rs; }
public void testNext() { Iterator<Object[]> iter = new ResultSetIterator(this.rs); Object[] row = null; assertTrue(iter.hasNext()); row = iter.next(); assertEquals(COLS, row.length); assertEquals("1", row[0]); assertEquals("2", row[1]); assertEquals("THREE", row[2]); assertTrue(iter.hasNext()); row = iter.next(); assertEquals(COLS, row.length); assertEquals("4", row[0]); assertEquals("5", row[1]); assertEquals("SIX", row[2]); assertFalse(iter.hasNext()); }