private <X> X query(final SqlQuery<X> query) { return myFacade.inTransaction(new InTransaction<X>() { @Override public X run(@NotNull final DBTransaction tran) { return tran.query(query).run(); } }); }
@Test public void char_single_1() { myFacade.inTransaction(new InTransactionNoResult() { @Override public void run(@NotNull final DBTransaction tran) { char c = tran.query("select 'M'", singleOf(Character.class)).run(); assertThat(c).isEqualTo('M'); } }); }
@Test public void char_single_2() { myFacade.inTransaction(new InTransactionNoResult() { @Override public void run(@NotNull final DBTransaction tran) { Character c = tran.query("select 'MN'", singleOf(Character.class)).run(); assertThat(c).isEqualTo('M'); } }); }
@Test public void return_list_of_basic_struct() { final SqlQuery<List<IntAndString>> query = new SqlQuery<List<IntAndString>>(QUERY_RETURNS_TWO_BASIC_STRUCT_ROWS, listOf(structOf(IntAndString.class))); myFacade.inTransaction(new InTransactionNoResult() { @Override public void run(@NotNull final DBTransaction tran) { List<IntAndString> bs = tran.query(query).run(); assertThat(bs).isNotNull() .hasSize(2); assertThat(bs.get(0).the_int_value).isEqualTo(11); assertThat(bs.get(0).the_string_value).isEqualTo("one"); assertThat(bs.get(1).the_int_value).isEqualTo(22); assertThat(bs.get(1).the_string_value).isEqualTo("two"); } }); }
@Test public void return_one_basic_struct() { final String queryText = "select 44 as the_int_value, \n" + " 'million' as the_string_value \n"; final SqlQuery<IntAndString> query = new SqlQuery<IntAndString>(queryText, rowOf(structOf(IntAndString.class))); myFacade.inTransaction(new InTransactionNoResult() { @Override public void run(@NotNull final DBTransaction tran) { IntAndString bs = tran.query(query).run(); assertThat(bs).isNotNull(); assertThat(bs.the_int_value).isEqualTo(44); assertThat(bs.the_string_value).isEqualTo("million"); } }); }
@Test public void return_array_of_basic_struct() { final SqlQuery<IntAndString[]> query = new SqlQuery<IntAndString[]>(QUERY_RETURNS_TWO_BASIC_STRUCT_ROWS, arrayOf(structOf(IntAndString.class))); myFacade.inTransaction(new InTransactionNoResult() { @Override public void run(@NotNull final DBTransaction tran) { IntAndString[] bs = tran.query(query).run(); assertThat(bs).isNotNull() .hasSize(2); assertThat(bs[0].the_int_value).isEqualTo(11); assertThat(bs[0].the_string_value).isEqualTo("one"); assertThat(bs[1].the_int_value).isEqualTo(22); assertThat(bs[1].the_string_value).isEqualTo("two"); } }); }