Alvaro Herrera wrote: > 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.
Agreed we need a new error code to abort a subtransaction rather than the entire transaction. I don't understand your elog(ERROR) vs. ereport(ERROR) distinction. Was that a typo? -- Bruce Momjian | http://candle.pha.pa.us [EMAIL PROTECTED] | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073 ---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster