On Mon, Apr 26, 2004 at 11:30:16PM -0400, Bruce Momjian wrote:
>
> Alvaro, where are we on this patch. I think the suggestion was to
> throw FATAL rather than add a new error level.
>
> Is this ready to be applied?
I forgot to verify if it worked correctly with #undef SUBTRANSACTIONS
--- it didn't. This version does. This patch includes both patches I
posted and a few more changes, and does the following:
- adds subtransaction state knowledge to xact.c
- adds subtransaction support to smgr, portals (cursors) and async notifies.
- adds a new memory context related to the subxact tree (is reset only
on subtrans abort).
- corrects a couple of bugs in the previous patches.
- mantains a Xid list of committed subxacts, for use in future changes
involving pg_clog
- adds support for executing BEGIN inside an aborted transaction,
not only as a simple query (1st patch did this) but also as messages
of v3 protocol and prepared statements.
- works cleanly with SUBTRANSACTIONS undefined (you get the current
behavior, no BEGIN is allowed inside a running transaction) and
defined (all of the above).
- keeps the original behavior of using FATAL whenever an bug is found
inside xact.c
I feel this one is ready to be applied. Tom wanted to review it, of
course.
Still missing:
- deal with prepared statements, deferred triggers
- save state in pg_clog
- visibility rules
--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"La realidad se compone de muchos sueños, todos ellos diferentes,
pero en cierto aspecto, parecidos..." (Yo, hablando de sueños eróticos)