Re: Nested Transactions, Abort All
От | Bruce Momjian |
---|---|
Тема | Re: Nested Transactions, Abort All |
Дата | |
Msg-id | 200407092018.i69KIkv04416@candle.pha.pa.us обсуждение исходный текст |
Ответ на | Re: Nested Transactions, Abort All (Simon Riggs <simon@2ndquadrant.com>) |
Ответы |
Re: Nested Transactions, Abort All
|
Список | pgsql-hackers |
Simon Riggs wrote: > On Fri, 2004-07-09 at 20:34, Bruce Momjian wrote: > > Alvaro Herrera wrote: > > > On Fri, Jul 09, 2004 at 09:07:58PM +0200, Dennis Bjorklund wrote: > > > > On Fri, 9 Jul 2004, Alvaro Herrera wrote: > > > > > > > > > Clearly savepoints do not allow for a snapshot to be released; nested > > > > > xacts do. > > > > > > > > Why not? > > > > > > What is it? > > > > Simon posted it. It is called RELEASE: > > > > > BEGIN; > > > SAVEPOINT x1; > > > INSERT INTO ...; > > > RELEASE SAVEPOINT x1; > > > SAVEPOINT x1; > > > INSERT INTO ...; > > > RELEASE SAVEPOINT x1; > > > SAVEPOINT x1; > > > INSERT INTO ...; > > > RELEASE SAVEPOINT x1; > > Yes, this is the DB2 and SQLAnywhere syntax. > > Oracle uses ROLLBACK TO SAVEPOINT...identical pretty much. I thouht ROLLBACK was different from RELEASE, no? I see ROLLBACK used in SQL99 for savepoints: ROLLBACK [ WORK ] [ AND [ NO ] CHAIN ] [ <savepoint clause> ] RELEASE only discards the savepoint name, I thought. > Oracle's support of autonomous transactions looks to be identical to > nested transactions (Alvaro's advice required there...). They don't > allow you to explicitly call them, but you can use BEGIN/COMMIT in a > host program that calls a stored procedure, which also contains > BEGIN/COMMIT, effectively giving nested txns. Oracle has nested transactions too? Can you supply an example? -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001+ If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania19073
В списке pgsql-hackers по дате отправления: