@@ -242,7 +242,7 @@ dtm_xact_callback(XactEvent event, void *arg)
242242 DtmLocalCommitPrepared (& dtm_tx );
243243 break ;
244244
245- case XACT_EVENT_PREPARE :
245+ case XACT_EVENT_PRE_PREPARE :
246246 DtmLocalSavePreparedState (& dtm_tx );
247247 DtmLocalEnd (& dtm_tx );
248248 break ;
@@ -488,8 +488,6 @@ DtmLocalBegin(DtmCurrentTrans * x)
488488 {
489489 SpinLockAcquire (& local -> lock );
490490 // x->xid = GetCurrentTransactionIdIfAny();
491- x -> xid = GetCurrentTransactionId ();
492- // Assert(TransactionIdIsValid(x->xid));
493491 x -> cid = INVALID_CID ;
494492 x -> is_global = false;
495493 x -> is_prepared = false;
@@ -653,8 +651,8 @@ DtmLocalEndPrepare(GlobalTransactionId gtid, cid_t cid)
653651void
654652DtmLocalCommitPrepared (DtmCurrentTrans * x )
655653{
656- // if (!x->is_global )
657- // return;
654+ if (!x -> gtid [ 0 ] )
655+ return ;
658656
659657 Assert (x -> gtid != NULL );
660658
@@ -727,8 +725,8 @@ DtmLocalCommit(DtmCurrentTrans * x)
727725void
728726DtmLocalAbortPrepared (DtmCurrentTrans * x )
729727{
730- // if (!x->is_global )
731- // return;
728+ if (!x -> gtid [ 0 ] )
729+ return ;
732730
733731 Assert (x -> gtid != NULL );
734732
@@ -752,8 +750,8 @@ DtmLocalAbortPrepared(DtmCurrentTrans * x)
752750void
753751DtmLocalAbort (DtmCurrentTrans * x )
754752{
755- // if (!x->is_global )
756- // return;
753+ if (!TransactionIdIsValid ( x -> xid ) )
754+ return ;
757755
758756 SpinLockAcquire (& local -> lock );
759757 {
@@ -861,6 +859,7 @@ DtmLocalSavePreparedState(DtmCurrentTrans * x)
861859 TransactionId * subxids ;
862860 int nSubxids = xactGetCommittedChildren (& subxids );
863861
862+ id -> xid = GetCurrentTransactionId ();
864863 if (nSubxids != 0 )
865864 {
866865 id -> subxids = (TransactionId * ) malloc (nSubxids * sizeof (TransactionId ));
0 commit comments