Query
Update
35363738394041424344454647484950515253545556575859
{ m = r.getMetaData(); } catch (SQLException e) { throw new ResultSetException("Unable to obtain metadata from result set", e); } try { for (int i = 1; i <= m.getColumnCount(); i ++) { String key = m.getColumnName(i); String alias = m.getColumnLabel(i); Object value = r.getObject(i); row.put(alias != null ? alias : key, value); } } catch (SQLException e) { throw new ResultSetException("Unable to access specific metadata from " + "result set metadata", e); } return row; }
4546474849505152
boolean initial = handle.getConnection().getAutoCommit(); localStuff.put(handle, new LocalStuff(initial)); handle.getConnection().setAutoCommit(false); } catch (SQLException e) { throw new TransactionException("Failed to start transaction", e); } }
6364656667686970717273
handle.getConnection().setAutoCommit(stuff.getInitialAutocommit()); stuff.getCheckpoints().clear(); } } catch (SQLException e) { throw new TransactionException("Failed to commit transaction", e); } finally { // prevent memory leak if commit throws an exception if (localStuff.containsKey(handle)) { localStuff.remove(handle);
8788899091929394959697
handle.getConnection().setAutoCommit(stuff.getInitialAutocommit()); stuff.getCheckpoints().clear(); } } catch (SQLException e) { throw new TransactionException("Failed to rollback transaction", e); } finally { // prevent memory leak if rollback throws an exception if (localStuff.containsKey(handle)) { localStuff.remove(handle);
111112113114115116117118
try { final Savepoint savepoint = conn.setSavepoint(name); localStuff.get(handle).getCheckpoints().put(name, savepoint); } catch (SQLException e) { throw new TransactionException(String.format("Unable to create checkpoint %s", name), e); } }
121122123124125126127128129130131132133134
{ final Connection conn = handle.getConnection(); try { final Savepoint savepoint = localStuff.get(handle).getCheckpoints().remove(name); if (savepoint == null) { throw new TransactionException(String.format("Attempt to rollback to non-existant savepoint, '%s'", name)); } conn.releaseSavepoint(savepoint); } catch (SQLException e) { throw new TransactionException(String.format("Unable to create checkpoint %s", name), e); } }
143144145146147148149150151152153154155156
{ final Connection conn = handle.getConnection(); try { final Savepoint savepoint = localStuff.get(handle).getCheckpoints().remove(name); if (savepoint == null) { throw new TransactionException(String.format("Attempt to rollback to non-existant savepoint, '%s'", name)); } conn.rollback(savepoint); } catch (SQLException e) { throw new TransactionException(String.format("Unable to create checkpoint %s", name), e); } }
162163164165166167168169
{ try { return !handle.getConnection().getAutoCommit(); } catch (SQLException e) { throw new TransactionException("Failed to test for transaction status", e); } }
49505152535455
* Called when a transaction is rolled back * Will throw a RuntimeException to force transactional rollback */ public void rollback(Handle handle) { throw new TransactionException("Rollback called, this runtime exception thrown to halt the transaction"); }
7475767778798081
{ return ! handle.getConnection().getAutoCommit(); } catch (SQLException e) { throw new TransactionException("Failed to check status of transaction", e); } }