DT wrote:
> I'm reading code of xact.c, and I found the only difference between TRANS_START
> and TRANS_INPROGRESS is when transaction aborts in TRANS_START status we set
> status to TRANS_INPROGRESS so AbortTransaction() will not report WARNING.
> So I wonder to know the reason why we distinguish them?
After reading into it it seems to me that TRANS_START means
"transaction is starting" and TRANS_INPROGRESS means
"transaction successfully started". See StartTransaction()
and StartSubTransaction().
A difference is made in IsTransactionState() where
TRANS_START transactions are not reported as being in a
transaction.
Yours,
Laurenz Albe