@Override public int countTableRows(@NotNull final DBTransaction transaction, @NotNull final String tableName) { final String queryText = "select count(*) from " + tableName; try { return transaction.query(queryText, singleOf(Integer.class)).run(); } catch (NoTableOrViewException ntv) { return Integer.MIN_VALUE; } }
protected void check_TheCommand(final String queryName) { SqlQuery<Character> query = myScriptum.query(queryName, Layouts.singleOf(Character.class)); assertThat(query.mySourceText).isEqualTo("The Command"); }
@Override public void run(@NotNull final DBTransaction tran) { char c = tran.query("select 'M'", singleOf(Character.class)).run(); assertThat(c).isEqualTo('M'); } });
@Override public void run(@NotNull final DBTransaction tran) { Character c = tran.query("select 'MN'", singleOf(Character.class)).run(); assertThat(c).isEqualTo('M'); } });
@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 DBTransaction tran) { final Integer v = tran.query("select 1 " + TH.fromSingleRowTable(), Layouts.singleOf(Integer.class)) .run(); assertThat(v).isNotNull() .isEqualTo(1); } });
@Test public void query_single_Integer() { String queryText = "select 123"; JdbcIntermediateSeance seance = query(queryText); JdbcIntermediateCursor<Integer> cursor = seance.openDefaultCursor(singleOf(Integer.class)); assertThat(cursor.isOpened()).isTrue(); Integer v = cursor.fetch(); assertThat(v).isNotNull() .isEqualTo(123); assertThat(cursor.isOpened()).isFalse(); }
@Override public void run(@NotNull final DBSession session) { session.command("create table tab1 (x integer)").run(); session.inTransaction(new InTransactionNoResult() { @Override public void run(@NotNull final DBTransaction tran) { tran.command("insert into tab1 values(44)").run(); } }); final SqlQuery<Integer> query = new SqlQuery<Integer>("select * from tab1", singleOf(Integer.class)); int x = session.inTransaction(new InTransaction<Integer>() { @Override public Integer run(@NotNull final DBTransaction tran) { return tran.query(query).run(); } }); session.command("drop table tab1").run(); assertThat(x).isEqualTo(44); } });
@Test public void remote_scenario() throws Exception { // the vendor-code side // the driver is already registered in BaseHyperSonicCase UnknownDatabaseProvider remoteProvider = ourUnknownDatabaseProvider; // the client side AdaptIntermediateRdbmsProvider provider = new AdaptIntermediateRdbmsProvider(remoteProvider); // try a basic scenario IntegralIntermediateFacade facade = provider.openFacade(BaseInMemoryDBCase.H2_CONNECTION_STRING, null, 1); facade.connect(); IntegralIntermediateSession session = facade.openSession(); IntegralIntermediateSeance seance = session.openSeance("select 44", null); seance.execute(); IntegralIntermediateCursor<Integer> cursor = seance.openCursor(0, Layouts.singleOf(Integer.class)); cursor.fetch(); cursor.close(); seance.close(); session.close(); facade.disconnect(); }