Re: Basic subtransaction facility - Mailing list pgsql-patches

From Alvaro Herrera
Subject Re: Basic subtransaction facility
Date
Msg-id 20040428160244.GA3894@dcc.uchile.cl
Whole thread Raw
In response to Re: Basic subtransaction facility  (Bruce Momjian <pgman@candle.pha.pa.us>)
Responses Re: Basic subtransaction facility
Re: Basic subtransaction facility
List 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)

pgsql-patches by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: FW: Timezone library
Next
From: David Fetter
Date:
Subject: Re: Dollar quoting docs, round 1