@Override public Future<List<R>> query(final P query) { return underlying.query(query); }
@Override public Future<List<MysqlRow>> query(final String query) { return conv(underlying.query(query)); }
@Override public Future<List<MysqlRow>> query(final MysqlPreparedStatement query) { return conv(underlying.query(query)); }
@Test public void simpleQueryInvalid() throws CheckedFutureException { try { ds.query("SLCT * FROM " + table).get(timeout); assertTrue(false); } catch (final NdbcException ex) { } }
@Test public void simpleQuery() throws CheckedFutureException { final Iterator<Row> rows = ds.query("SELECT * FROM " + table).get(timeout).iterator(); assertEquals(rows.next().column(0).getString(), "s"); assertFalse(rows.hasNext()); }
@Test public void simpleExecuteDelete() throws CheckedFutureException { ds.execute("DELETE FROM " + table).get(timeout); final Iterator<Row> rows = ds.query("SELECT * FROM " + table).get(timeout).iterator(); assertFalse(rows.hasNext()); }
@Test public void extendedExecuteDeleteNoParam() throws CheckedFutureException { final PreparedStatement ps = PreparedStatement.create("DELETE FROM " + table + " WHERE s = 's'"); assertEquals(ds.execute(ps).get(timeout).longValue(), 1L); final Iterator<Row> rows = ds.query("SELECT * FROM " + table).get(timeout).iterator(); assertFalse(rows.hasNext()); }
@Test public void extendedQueryNoParams() throws CheckedFutureException { final PreparedStatement ps = PreparedStatement.create("SELECT * FROM " + table); final Iterator<Row> rows = ds.query(ps).get(timeout).iterator(); assertEquals(rows.next().column(0).getString(), "s"); assertFalse(rows.hasNext()); }
@Test public void simpleExecuteUpdate() throws CheckedFutureException { ds.execute("UPDATE " + table + " SET s = 'u'").get(timeout); final Iterator<Row> rows = ds.query("SELECT * FROM " + table).get(timeout).iterator(); assertEquals(rows.next().column(0).getString(), "u"); assertFalse(rows.hasNext()); }
@Test public void simpleQueryFailure() throws CheckedFutureException { try { ds.query("SELECT * FROM invalid_table").get(timeout); assertTrue(false); } catch (final NdbcException ex) { assertTrue(ex.getMessage().contains("invalid_table")); } }
@Test public void extendedExecuteDeleteWithParam() throws CheckedFutureException { final PreparedStatement ps = PreparedStatement.create("DELETE FROM " + table + " WHERE s = ?").setString("s"); assertEquals(ds.execute(ps).get(timeout).longValue(), 1L); final Iterator<Row> rows = ds.query("SELECT * FROM " + table).get(timeout).iterator(); assertFalse(rows.hasNext()); }
@Test public void extendedQueryWithParams() throws CheckedFutureException { final PreparedStatement ps = PreparedStatement.create("SELECT * FROM " + table + " WHERE s = ?").setString("s"); final Iterator<Row> rows = ds.query(ps).get(timeout).iterator(); assertEquals(rows.next().column(0).getString(), "s"); assertFalse(rows.hasNext()); }
@Test public void extendedQueryInvalid() throws CheckedFutureException { final PreparedStatement ps = PreparedStatement.create("SLCT * FROM " + table); try { ds.query(ps).get(timeout); assertTrue(false); } catch (final NdbcException ex) { } }
@Test public void simpleExecuteInsert() throws CheckedFutureException { ds.execute("INSERT INTO " + table + " VALUES ('u')").get(timeout); final Iterator<Row> rows = ds.query("SELECT * FROM " + table).get(timeout).iterator(); assertEquals(rows.next().column(0).getString(), "s"); assertEquals(rows.next().column(0).getString(), "u"); assertFalse(rows.hasNext()); }
@Test public void extendedQueryNoParamsFailure() throws CheckedFutureException { final PreparedStatement ps = PreparedStatement.create("SELECT * FROM invalid_table"); try { ds.query(ps).get(timeout); assertTrue(false); } catch (final NdbcException ex) { assertTrue(ex.getMessage().contains("invalid_table")); } }
@Test public void extendedExecuteUpdateWithParam() throws CheckedFutureException { final PreparedStatement ps = PreparedStatement.create("UPDATE " + table + " SET s = ?").setString("u"); assertEquals(ds.execute(ps).get(timeout).longValue(), 1L); final Iterator<Row> rows = ds.query("SELECT * FROM " + table).get(timeout).iterator(); assertEquals(rows.next().column(0).getString(), "u"); assertFalse(rows.hasNext()); }
@Test public void transactionDBFailure() throws CheckedFutureException { final PreparedStatement ps = PreparedStatement.create("DELETE FROM INVALID_TABLE WHERE s = ?").setString("s"); ds.transactional(() -> ds.execute(ps)).join(timeout); final Iterator<Row> rows = ds.query("SELECT * FROM " + table).get(timeout).iterator(); assertTrue(rows.hasNext()); }
@Test public void extendedExecuteInsertNoParam() throws CheckedFutureException { final PreparedStatement ps = PreparedStatement.create("INSERT INTO " + table + " VALUES ('u')"); assertEquals(ds.execute(ps).get(timeout).longValue(), 1L); final Iterator<Row> rows = ds.query("SELECT * FROM " + table).get(timeout).iterator(); assertEquals(rows.next().column(0).getString(), "s"); assertEquals(rows.next().column(0).getString(), "u"); assertFalse(rows.hasNext()); }
@Test public void extendedExecuteInsertWithParam() throws CheckedFutureException { final PreparedStatement ps = PreparedStatement.create("INSERT INTO " + table + " VALUES (?)").setString("u"); assertEquals(ds.execute(ps).get(timeout).longValue(), 1L); final Iterator<Row> rows = ds.query("SELECT * FROM " + table).get(timeout).iterator(); assertEquals(rows.next().column(0).getString(), "s"); assertEquals(rows.next().column(0).getString(), "u"); assertFalse(rows.hasNext()); }
@Test public void transactionSuccess() throws CheckedFutureException { final PreparedStatement ps = PreparedStatement.create("DELETE FROM " + table + " WHERE s = ?").setString("s"); final long affectedRows = ds.transactional(() -> ds.execute(ps)).get(timeout); assertEquals(affectedRows, 1L); final Iterator<Row> rows = ds.query("SELECT * FROM " + table).get(timeout).iterator(); assertFalse(rows.hasNext()); }