@Override public void run(@NotNull final DBSession session) { List<Tetra> result = session.query(query).run(); assertThat(result).isEmpty(); } });
@Override public void run(@NotNull final DBSession session) { for (int i = 0; i < retries; ++i) { List<String> commands = session.query(metaQuery).withParams(params).run(); try { for (String command : commands) { if (command != null && command.length() > 0) { session.command(command).run(); } } i = retries + 1; } catch (DBException e) { if (i + 1 >= retries) throw e; } } } });
@Override public void run(@NotNull final DBSession session) { List<String> commands = session.query(metaQuery).withParams(params).run(); SqlScriptBuilder sb = new SqlScriptBuilder(); for (String command : commands) if (command != null && command.length() > 0) sb.add(command); SqlScript script = sb.build(); session.script(script).run(); } });
@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) { final Integer v = session.query("select 1 " + TH.fromSingleRowTable(), Layouts.singleOf(Integer.class)) .run(); assertThat(v).isNotNull() .isEqualTo(1); } });
@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 } });