Hi hackers,
I found the StartSubTransaction has the following code:
static void
StartSubTransaction(void)
{
[...]
s->state = TRANS_START;
/*
* Initialize subsystems for new subtransaction
*
* must initialize resource-management stuff first
*/
AtSubStart_Memory();
AtSubStart_ResourceOwner();
AfterTriggerBeginSubXact();
s->state = TRANS_INPROGRESS;
[...]
}
IIRC, AtSubStart_Memory, AtSubStart_ResourceOwner and AfterTriggerBeginSubXact don't
use s->state. Why should we set s->state to TRANS_START and then TRANS_INPROGRESS?
--
Regrads,
Japin Li.
ChengDu WenWu Information Technology Co.,Ltd.