From: | Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl> |
---|---|
To: | Christopher Kings-Lynne <chriskl(at)familyhealth(dot)com(dot)au> |
Cc: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>, Barry Lind <blind(at)xythos(dot)com>, simon(at)2ndquadrant(dot)com, Patches <pgsql-patches(at)postgresql(dot)org> |
Subject: | Re: Nested transactions |
Date: | 2004-06-17 02:01:17 |
Message-ID: | 20040617020117.GC5925@dcc.uchile.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc pgsql-patches |
On Thu, Jun 17, 2004 at 10:01:32AM +0800, Christopher Kings-Lynne wrote:
> >And consider this case:
> >
> > BEGIN;
> > ...
> > SAVEPOINT x;
> > SELECT func_call();
> > SELECT func_call();
> > COMMIT;
> >
> >Now if func_call has a savepoint, it is really nested because it can't
> >know whether the savepoint X will be used to roll back, so its status is
> >dependent on the status of X. Now, if we used savepoints in func_call,
> >what happens in the second function call when we define a savepoint with
> >the same name? I assume we overwrite the original, but using nested
> >transaction syntax seems much clearer.
>
> It also seems in this example that func_call() probably shouldn't have
> permission to rollback to savepoint x? Otherwise it would get...weird.
I don't think we should explicitly forbid it. I think it should be
forbidden to close the outermost transaction inside a function (else the
function would not be able to terminate correctly), but for levels
before that one it'd be OK.
--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"Cuando mañana llegue pelearemos segun lo que mañana exija" (Mowgli)
From | Date | Subject | |
---|---|---|---|
Next Message | Christopher Kings-Lynne | 2004-06-17 02:01:32 | Re: Nested transactions |
Previous Message | Alvaro Herrera | 2004-06-17 01:58:42 | Re: Nested transactions |
From | Date | Subject | |
---|---|---|---|
Next Message | Christopher Kings-Lynne | 2004-06-17 02:01:32 | Re: Nested transactions |
Previous Message | Alvaro Herrera | 2004-06-17 01:58:42 | Re: Nested transactions |