Hackers,
Here is the last patch before beta for subtransactions. It fixes the
following outstanding issues:
- Add (some) user savepoint documentation
- Update comments in code, htup.h and xact.c
- EOXactCallback API extension (called on subxact start, abort, commit,
and main xact abort and commit, with an "event" parameter and the
parent transaction ID where appropiate)
- use lfirst_xid and lappend_xid (macros over lfirst_int and
lappend_int)
- Xid cache speeds up TransactionIdIsInProgress
- IsSubTransaction uses nesting depth rather that TBLOCK status
- Ordering of operations on subxact start/abort/commit matches
corresponding main xact operations
- SetReindexProcessing
Note that I deliberately broke the API for EOXactCallbacks, because
something that needs to do something at that low a level surely needs to
be at least revised to check if it's OK regarding subtransactions.
(I found no documentation for that API anyway?)
Please review and apply if OK.
--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"The eagle never lost so much time, as
when he submitted to learn of the crow." (William Blake)