@Override public SQLConnection getTransactionIsolation(Handler<AsyncResult<TransactionIsolation>> handler) { ctx.executeBlocking((Future<TransactionIsolation> f) -> { try { TransactionIsolation txIsolation = TransactionIsolation.from(conn.getTransactionIsolation()); if (txIsolation != null) { f.complete(txIsolation); } else { f.fail("Unknown isolation level"); } } catch (SQLException e) { f.fail(e); } }, statementsQueue, handler); return this; }
@Override public SQLConnection setTransactionIsolation(TransactionIsolation isolation, Handler<AsyncResult<Void>> handler) { ctx.executeBlocking((Future<Void> f) -> { try { conn.setTransactionIsolation(isolation.getType()); f.complete(null); } catch (SQLException e) { f.fail(e); } }, statementsQueue, handler); return this; }
case "transactionIsolation": if (member.getValue() instanceof String) { obj.setTransactionIsolation(io.vertx.ext.sql.TransactionIsolation.valueOf((String)member.getValue()));
public static void toJson(SQLOptions obj, java.util.Map<String, Object> json) { json.put("autoGeneratedKeys", obj.isAutoGeneratedKeys()); if (obj.getAutoGeneratedKeysIndexes() != null) { json.put("autoGeneratedKeysIndexes", obj.getAutoGeneratedKeysIndexes()); } if (obj.getCatalog() != null) { json.put("catalog", obj.getCatalog()); } if (obj.getFetchDirection() != null) { json.put("fetchDirection", obj.getFetchDirection().name()); } json.put("fetchSize", obj.getFetchSize()); json.put("queryTimeout", obj.getQueryTimeout()); json.put("readOnly", obj.isReadOnly()); if (obj.getResultSetConcurrency() != null) { json.put("resultSetConcurrency", obj.getResultSetConcurrency().name()); } if (obj.getResultSetType() != null) { json.put("resultSetType", obj.getResultSetType().name()); } if (obj.getSchema() != null) { json.put("schema", obj.getSchema()); } if (obj.getTransactionIsolation() != null) { json.put("transactionIsolation", obj.getTransactionIsolation().name()); } } }
@Override public Void execute(Connection conn) throws SQLException { conn.setAutoCommit(autoCommit); // setting the auto commit to false triggers a new transaction to begin if (!autoCommit) { if (options != null && options.getTransactionIsolation() != null) { conn.setTransactionIsolation(options.getTransactionIsolation().getType()); } } return null; }