private <T> T runWrite(TableReference tableRef, Function<DbWriteTable, T> runner) { ConnectionSupplier conns = new ConnectionSupplier(connections); try { return runner.apply(dbTables.createWrite(tableRef, conns)); } finally { conns.close(); } }
SqlConnection freshConn = conns.getFresh(); try { result.set(runner.apply(dbTables.createWrite(tableRef, new ConnectionSupplier(Suppliers.ofInstance(freshConn))))); } finally {
private <T> void runWriteForceAutocommit(TableReference tableRef, Function<DbWriteTable, T> runner) { try (ConnectionSupplier conns = new ConnectionSupplier(connections)) { SqlConnection conn = conns.get(); boolean autocommit; try { autocommit = conn.getUnderlyingConnection().getAutoCommit(); } catch (PalantirSqlException | SQLException e1) { throw Throwables.rewrapAndThrowUncheckedException(e1); } if (!autocommit) { runWriteFreshConnection(conns, tableRef, runner); } else { runner.apply(dbTables.createWrite(tableRef, conns)); } } }
private <T> T runReadWrite(TableReference tableRef, ReadWriteTask<T> runner) { ConnectionSupplier conns = new ConnectionSupplier(connections); try { return runner.run( dbTables.createRead(tableRef, conns), dbTables.createWrite(tableRef, conns)); } finally { conns.close(); } }
private <T> T runWrite(TableReference tableRef, Function<DbWriteTable, T> runner) { ConnectionSupplier conns = new ConnectionSupplier(connections); try { return runner.apply(dbTables.createWrite(tableRef, conns)); } finally { conns.close(); } }
SqlConnection freshConn = conns.getFresh(); try { result.set(runner.apply(dbTables.createWrite(tableRef, new ConnectionSupplier(Suppliers.ofInstance(freshConn))))); } finally {
private <T> T runReadWrite(TableReference tableRef, ReadWriteTask<T> runner) { ConnectionSupplier conns = new ConnectionSupplier(connections); try { return runner.run( dbTables.createRead(tableRef, conns), dbTables.createWrite(tableRef, conns)); } finally { conns.close(); } }
private <T> void runWriteForceAutocommit(TableReference tableRef, Function<DbWriteTable, T> runner) { try (ConnectionSupplier conns = new ConnectionSupplier(connections)) { SqlConnection conn = conns.get(); boolean autocommit; try { autocommit = conn.getUnderlyingConnection().getAutoCommit(); } catch (PalantirSqlException | SQLException e1) { throw Throwables.rewrapAndThrowUncheckedException(e1); } if (!autocommit) { runWriteFreshConnection(conns, tableRef, runner); } else { runner.apply(dbTables.createWrite(tableRef, conns)); } } }