title: Is there any library/framework for undo/redo changes of rows in database?
body: <p>May be my title is not clear. I am looking for some kind of version control on database tables, like subversion does on files, like wiki does.</p>
  
  <p>I want to trace the changes log.
  I want to extract and run the diff in reverse. (undo like a "svn merge -r 101:100").
  I may need a indexed search on the history.</p>
  
  <p>I've read the "<a href="https://stackoverflow.com/questions/49755/design-pattern-for-undo-engine">Design Pattern for Undo Engine</a>", but it is related to "Patterns". Are there anything I could reuse without reinvent the wheel?</p>
  
  <p><strong>EDIT:</strong>
  For example, bank account transactions. I have column "balance"(and others) updated in table. a user will find a mistake by him 10 days later, and he will want to cancel/rollback the specific transaction, without changing others.</p>
  
  <p>How can I do it gracefully in the application level?</p>