I just noticed that there are a number of places (mostly GUC assignment
hooks) that use IsTransactionState() to decide if it's safe for them to
do catalog lookups. This seems pretty bogus because IsTransactionState
will return true in an aborted transaction. I'm not sure there's any
actual bug because of other constraints on when GUC updates occur, but
it sure looks like trouble waiting to happen.
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?
regards, tom lane