@Override public void run(@NotNull final DBSession session) { DBQueryRunner<List<Number>> qr = session.query(query).packBy(10); qr.run(); ResultSetMetaData md = qr.getSpecificService(ResultSetMetaData.class, ImplementationAccessibleService.Names.JDBC_METADATA); assertThat(md).isNotNull(); String columnName = null; try { columnName = md.getColumnName(1); } catch (SQLException e) { throw new RuntimeException(e.getMessage(), e); } assertThat(columnName).isEqualToIgnoringCase("X"); } });
@Override public void run(@NotNull final DBSession session) { session.command("create table Turbo2000 (x smallint)").run(); DBCommandRunner cr = session.command("insert into Turbo2000 values (?)"); for (short i = 1; i <= 2000; i++) cr.withParams(i).run(); DBQueryRunner<Short[]> qr = session.query("select * from Turbo2000 order by 1", columnOf(Short.class)) .packBy(100); Short[] pack = qr.run(); assertThat(pack).isNotNull() .startsWith((short) 1) .endsWith((short) 100); int packs = 0; while (pack != null) { packs++; pack = qr.nextPack(); } assertThat(packs).isEqualTo(20); // 2000 / 100 = 20 } });