case "autoGeneratedKeys": if (member.getValue() instanceof Boolean) { obj.setAutoGeneratedKeys((Boolean)member.getValue());
private Single<SQLConnection> connect() { return jdbc.rxGetConnection() .map(c -> c.setOptions(new SQLOptions().setAutoGeneratedKeys(true))); }
@Test public void testInsertWithParameters() { final TimeZone tz = TimeZone.getDefault(); TimeZone.setDefault(TimeZone.getTimeZone("UTC")); SQLConnection conn = connection(); String sql = "INSERT INTO insert_table VALUES (?, ?, ?, ?);"; JsonArray params = new JsonArray().addNull().add("doe").add("jane").add("2002-02-02"); conn .setOptions(new SQLOptions().setAutoGeneratedKeys(true)) .updateWithParams(sql, params, onSuccess(result -> { assertUpdate(result, 1); int id = result.getKeys().getInteger(0); conn.queryWithParams("SElECT DOB FROM insert_table WHERE id=?;", new JsonArray().add(id), onSuccess(resultSet -> { assertNotNull(resultSet); assertEquals(1, resultSet.getResults().size()); assertEquals("2002-02-02", resultSet.getResults().get(0).getString(0)); TimeZone.setDefault(tz); testComplete(); })); })); await(); }
@Test public void testInsertWithNullParameters() { SQLConnection conn = connection(); String sql = "INSERT INTO insert_table (lname, fname, dob) VALUES (?, ?, ?)"; JsonArray params = new JsonArray().addNull().addNull().add("2002-02-02"); conn .setOptions(new SQLOptions().setAutoGeneratedKeys(true)) .updateWithParams(sql, params, onSuccess(result -> { assertUpdate(result, 1); int id = result.getKeys().getInteger(0); conn.queryWithParams("SElECT DOB FROM insert_table WHERE id=?", new JsonArray().add(id), onSuccess(resultSet -> { assertNotNull(resultSet); assertEquals(1, resultSet.getResults().size()); System.out.println(resultSet.getResults().get(0).getValue(0)); testComplete(); })); })); await(); }
.setOptions(new SQLOptions().setAutoGeneratedKeys(true)) .updateWithParams(sql, params, onSuccess((UpdateResult result) -> { assertUpdate(result, 1);
@Test public void testSelectTx() { String sql = "INSERT INTO insert_table VALUES (?, ?, ?, ?);"; JsonArray params = new JsonArray().addNull().add("smith").add("john").add("2003-03-03"); client.getConnection(onSuccess(conn -> { assertNotNull(conn); conn.setAutoCommit(false, onSuccess(v -> { conn .setOptions(new SQLOptions().setAutoGeneratedKeys(true)) .updateWithParams(sql, params, onSuccess((UpdateResult updateResult) -> { assertUpdate(updateResult, 1); int id = updateResult.getKeys().getInteger(0); // Explicit typing of resultset is not really necessary but without it IntelliJ reports // syntax error :( conn.queryWithParams("SELECT LNAME FROM insert_table WHERE id = ?", new JsonArray().add(id), onSuccess((ResultSet resultSet) -> { assertFalse(resultSet.getResults().isEmpty()); assertEquals("smith", resultSet.getResults().get(0).getString(0)); testComplete(); })); })); })); })); await(); }