Last modified: 2014-03-10 19:14:52 UTC
Rather than passing around boolean parameters called 'reversed' all over the place, we should use each transaction only once, and implement a function that creates a new transaction that's the reverse of an existing transaction.
But note that the code currently uses the fact that the commit and rollback transaction are the same in order to update the 'applied' field. So the rollback transaction should still contain a pointer to the original transaction, and when it is committed both should be marked with 'applied=false' (which indicates that we can skip over these entries in the completeHistory).
This was done ages ago in I3050c5430be4a12510f22e20853560b92acebb67