> I have talked in the past about a possible implementation of
> savepoints/nested transactions. I would like to more formally outline
> my ideas below.
Well, I would like to do the same -:)
> ...
> There is no reason for other backend to be able to see savepoint undo
> information, and keeping it private greatly simplifies the
> implementation.
Yes... and requires additional memory/disk space: we keep old records
in data files and we'll store them again...
How about: use overwriting smgr + put old records into rollback
segments - RS - (you have to keep them somewhere till TX's running
anyway) + use WAL only as REDO log (RS will be used to rollback TX'
changes and WAL will be used for RS/data files recovery).
Something like what Oracle does.
Vadim