Re: autonomous transactions
Decibel! <decibel@decibel.org>
From: Decibel! <decibel@decibel.org>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Simon Riggs <simon@2ndquadrant.com>, Neil Conway <neilc@samurai.com>, Pavel Stehule <pavel.stehule@gmail.com>, Alvaro Herrera <alvherre@commandprompt.com>, "Roberts, Jon" <Jon.Roberts@asurion.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2008-01-25T06:27:40Z
Lists: pgsql-hackers
On Wed, Jan 23, 2008 at 05:50:02PM -0500, Tom Lane wrote: > Simon Riggs <simon@2ndquadrant.com> writes: > >> From looking at how Oracle does them, autonomous transactions are > >> completely independent of the transaction that originates them -- they > >> take a new database snapshot. This means that uncommitted changes in the > >> originating transaction are not visible to the autonomous transaction. > > > Oh! Recursion depth would need to be tested for as well. Nasty. > > Seems like the cloning-a-session idea would be a possible implementation > path for these too. Oracle has a feature where you can effectively save a session and return to it. For example, if filling out a multi-page web form, you could save state in the database between those calls. I'm assuming that they use that capability for their autonomous transactions; save the current session to the stack, clone it, run the autonomous transaction, then restore the saved one. -- Decibel!, aka Jim C. Nasby, Database Architect decibel@decibel.org Give your computer some brain candy! www.distributed.net Team #1828