@Override public void addListener(TransactionListener listener) { storeTx.addListener(listener); }
private void releaseTx(DatastoreTransaction tx) { tx.done(); }
private boolean delinkInTx(DatastoreTransaction tx, long from, long to) { // INFORM INSIDER insider.delinking(name, from, to); // MAYBE CHANGE #1 boolean changed = delink_(from, to); if (changed) { tx.changed(from); tx.changed(to); changelog.add(RelationChange.delink(from, to)); // CHANGELOG } // INFORM INSIDER insider.delinked(name, from, to); return changed; }
transacted = tx.isReadOnly() ? true : transact(txId, tx); } catch (BufferFullException e) { txx.success(); releaseTx(txx);
private void finishTransaction(DatastoreTransaction tx) { Transaction transaction = transactor.getTransaction(); if (transaction == null) { try { tx.commit(); commit(); } catch (Exception e) { System.out.println(" === EXCEPTION IN TRANSACTION: ==="); e.printStackTrace(); System.out.println(" === ROLLING BACK... ==="); rollback(); } } }
private void deleteCell(DatastoreTransaction tx, long id, int row, PropertyInfo prop) { insider.deletingCell(clazz, id, prop.getName()); Column column = prop.getColumn(); Index index = prop.getIndex(); Object value = column.delete(row); // CHANGE #1 if (index != null) { Transformer<Object> tr = prop.getTransformer(); index.remove(tr.transform(value), id); // CHANGE #2 } changelog.add(TableChange.deleteCell(id, prop, row, value)); // CHANGELOG tx.delete(id); // PERSIST }
@Override public void rollback(Transaction transaction) { // System.out.println("!!!!! ROLLING BACK !!!!!"); Check.arg(this.transaction == transaction, "Invalid transaction!"); db.rollback(); TransactionInternals internals = (TransactionInternals) transaction; internals.getStoreTx().rollback(); this.transaction = null; stats.rollbacks++; lockManager.globalWriteUnlock(); }
@Override public void commit(DatastoreTransaction tx) { tx.success(); }
private boolean linkInTx(DatastoreTransaction tx, long from, long to) { // INFORM INSIDER insider.linking(name, from, to); // MAYBE CHANGE #1 boolean changed = link_(from, to); if (changed) { tx.changed(from); tx.changed(to); changelog.add(RelationChange.link(from, to)); // CHANGELOG } // INFORM INSIDER insider.linked(name, from, to); return changed; }
transacted = tx.isReadOnly() ? true : transact(txId, tx); } catch (BufferFullException e) { txx.success(); releaseTx(txx);
private void finishTransaction(DatastoreTransaction tx) { Transaction transaction = transactor.getTransaction(); if (transaction == null) { try { tx.commit(); commit(); } catch (Exception e) { System.out.println(" === EXCEPTION IN TRANSACTION: ==="); e.printStackTrace(); System.out.println(" === ROLLING BACK... ==="); rollback(); } } }
private void deleteCell(DatastoreTransaction tx, long id, int row, PropertyInfo prop) { insider.deletingCell(clazz, id, prop.getName()); Column column = prop.getColumn(); Index index = prop.getIndex(); Object value = column.delete(row); // CHANGE #1 if (index != null) { Transformer<Object> tr = prop.getTransformer(); index.remove(tr.transform(value), id); // CHANGE #2 } changelog.add(TableChange.deleteCell(id, prop, row, value)); // CHANGELOG tx.delete(id); // PERSIST }
@Override public void rollback(Transaction transaction) { // System.out.println("!!!!! ROLLING BACK !!!!!"); Check.arg(this.transaction == transaction, "Invalid transaction!"); db.rollback(); TransactionInternals internals = (TransactionInternals) transaction; internals.getStoreTx().rollback(); this.transaction = null; stats.rollbacks++; lockManager.globalWriteUnlock(); }
@Override public void commit(DatastoreTransaction tx) { tx.success(); }
private boolean linkInTx(DatastoreTransaction tx, long from, long to) { // INFORM INSIDER insider.linking(name, from, to); // MAYBE CHANGE #1 boolean changed = link_(from, to); if (changed) { tx.changed(from); tx.changed(to); changelog.add(RelationChange.link(from, to)); // CHANGELOG } // INFORM INSIDER insider.linked(name, from, to); return changed; }
transacted = tx.isReadOnly() ? true : transact(txId, tx); } catch (BufferFullException e) { txx.success(); releaseTx(txx);
private void finishTransaction(DatastoreTransaction tx) { Transaction transaction = transactor.getTransaction(); if (transaction == null) { try { tx.commit(); commit(); } catch (Exception e) { System.out.println(" === EXCEPTION IN TRANSACTION: ==="); e.printStackTrace(); System.out.println(" === ROLLING BACK... ==="); rollback(); } } }
private void deleteCell(DatastoreTransaction tx, long id, int row, PropertyInfo prop) { insider.deletingCell(clazz, id, prop.getName()); Column column = prop.getColumn(); Index index = prop.getIndex(); Object value = column.delete(row); // CHANGE #1 if (index != null) { Transformer<Object> tr = prop.getTransformer(); index.remove(tr.transform(value), id); // CHANGE #2 } changelog.add(TableChange.deleteCell(id, prop, row, value)); // CHANGELOG tx.delete(id); // PERSIST }