Re: Basic subtransaction facility

From: Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Patches <pgsql-patches(at)postgresql(dot)org>
Subject: Re: Basic subtransaction facility
Date: 2004-04-28 16:02:44
Message-ID: 20040428160244.GA3894@dcc.uchile.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches

On Mon, Apr 26, 2004 at 11:30:16PM -0400, Bruce Momjian wrote:

> Alvaro, where are we on this patch. I think the suggestion was to
> throw FATAL rather than add a new error level.

The assumption was that we would only want an additional level for
catching can't-happen conditions. ISTM this is not true. Consider an
out of memory error: do we want to only rollback the affected
subtransaction, or the whole transaction tree? If we want the latter we
will have to invent a new elevel.

In fact, I think we should mark ERROR as aborting the whole transaction
tree, and create a new level which would abort the innermost
subtransaction. We would then change whatever is appropiate to the new
elevel. Doing otherwise would leave us open to unexpected conditions
causing only subtrans abort, which could lead to unreliable behavior.

In short, I think all elog(ERROR) should have different behaviour from
ereport(ERROR), at least. And I don't think the answer should be
elog(FATAL) for the former.

--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"Ni aun el genio muy grande llegaría muy lejos
si tuviera que sacarlo todo de su propio interior" (Goethe)

In response to

Responses

Browse pgsql-patches by date

  From Date Subject
Next Message David Fetter 2004-04-28 16:23:00 Re: Dollar quoting docs, round 1
Previous Message Peter Eisentraut 2004-04-28 15:34:28 Re: FW: Timezone library