Bruce Momjian <[EMAIL PROTECTED]> writes: > Tom Lane wrote: >> We could fix this either by changing the definition of >> IsTransactionState() or by introducing another test function with >> a different name. Any thoughts which is preferable?
> Is this done or should it be kept for 8.4? Fixed, I thought ... yeah, here: 2007-06-07 17:45 tgl * src/backend/: access/transam/xact.c, storage/ipc/procarray.c, utils/error/elog.c: Redefine IsTransactionState() to only return true for TRANS_INPROGRESS state, which is the only state in which it's safe to initiate database queries. It turns out that all but two of the callers thought that's what it meant; and the other two were using it as a proxy for "will GetTopTransactionId() return a nonzero XID"? Since it was in fact an unreliable guide to that, make those two just invoke GetTopTransactionId() always, then deal with a zero result if they get one. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq