| From: | Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl> |
|---|---|
| To: | Patches <pgsql-patches(at)postgresql(dot)org> |
| Subject: | Basic subtransaction facility |
| Date: | 2004-04-14 03:08:37 |
| Message-ID: | 20040414030836.GA20692@dcc.uchile.cl |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-patches |
Hackers,
Here is a very preliminar patch that allows the user to say "BEGIN"
inside a transaction and have the system react accordingly. This is
only a modification to xact.c (and slightly to other places to allow it
to work); the important functions are empty.
It compiles fine for me with both SUBTRANSACTIONS defined and not
defined; when not defined, the behavior is the same as the current code.
Please note that I have made some errors more fatal than they are now,
as bugs in this code will have much worse effects than a flaw in the
current transaction system.
One quick note: there are two ENDABORT states for a subtransaction,
SUBENDABORT_OK and SUBENDABORT_ERROR. They signal whether the parent
transaction should be aborted after the child transaction finishes or
not: an aborted subtransaction where the user issues COMMIT should
abort the parent transaction; if the user issues ROLLBACK, the parent
can be allowed to continue.
Please have a look and comment. This file does not move a lot so I
don't think it will suffer from a lot of code drift.
--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"I think my standards have lowered enough that now I think 'good design'
is when the page doesn't irritate the living f*ck out of me." (JWZ)
| Attachment | Content-Type | Size |
|---|---|---|
| nested-xact_c.patch | text/plain | 24.6 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Bruce Momjian | 2004-04-14 04:30:07 | Re: Updated COPY CSV patch |
| Previous Message | LELARGE Guillaume | 2004-04-13 21:37:58 | Re: Update french translation of the 7.4 branch |