Re: Nested Transactions, Abort All

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: Nested Transactions, Abort All
Дата
Msg-id 200407092049.i69Kn0D09740@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 21:18, Bruce Momjian wrote:
> > Simon Riggs wrote:
> > > 
> > > 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.
> > 
> 
> ERR-OHH Yes, dead right. Forgive my confusion, I knew there was
> something different about Oracle's support of RELEASE. Check out:
> 
> https://cwisdb.cc.kuleuven.ac.be/ora10doc/server.101/b10759/ap_standard_sql001.htm
> 
> last thing on page...

Interesting Oracle doesn't support RELEASE or savepoint levels:

T271, Savepoints     Oracle supports this feature, except:
   * Oracle does not support RELEASE SAVEPOINT.   * Oracle does not support savepoint levels.

> > > 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?
> 
> It's hard to quote a short example.... so try this link instead
> 
> http://www.hk8.org/old_web/oracle/guide8i/ch02_05.htm
> 
> Wasn't there some description of autonomous transactions on the stuff I
> sent previously?

This is not a nested transaction.  It is "autonomous" meaning it can
commit independent of the outer transaction:
The grand new benefit of autonomous transactions for database triggersis that inside those triggers you can now issue
COMMITsand ROLLBACKs,statements that are otherwise not allowed in database triggers. Thechanges you commit and roll
backwill not, however, affect the maintransaction that caused the database trigger to fire. They will onlyapply to DML
activitytaking place inside the trigger itself (or throughstored program units called within the trigger).
 

--  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 по дате отправления:

Предыдущее
От: Simon Riggs
Дата:
Сообщение: Re: Nested Transactions, Abort All
Следующее
От: Dennis Bjorklund
Дата:
Сообщение: Re: Nested Transactions, Abort All