Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 4e99791

Browse files
knizhnikkelvich
authored andcommitted
Add create/restore/release savepoint context methods to XTM
1 parent f255ef7 commit 4e99791

File tree

1 file changed

+24
-4
lines changed

1 file changed

+24
-4
lines changed

multimaster.c

+24-4
Original file line numberDiff line numberDiff line change
@@ -146,9 +146,12 @@ static bool MtmDetectGlobalDeadLock(PGPROC* proc);
146146
static void MtmAddSubtransactions(MtmTransState* ts, TransactionId* subxids, int nSubxids);
147147
static char const* MtmGetName(void);
148148
static size_t MtmGetTransactionStateSize(void);
149-
static void MtmSerializeTransactionState(void* ctx);
150-
static void MtmDeserializeTransactionState(void* ctx);
151-
static void MtmInitializeSequence(int64* start, int64* step);
149+
static void MtmSerializeTransactionState(void* ctx);
150+
static void MtmDeserializeTransactionState(void* ctx);
151+
static void MtmInitializeSequence(int64* start, int64* step);
152+
static void* MtmCreateSavepointContext(void);
153+
static void MtmRestoreSavepointContext(void* ctx);
154+
static void MtmReleaseSavepointContext(void* ctx);
152155

153156
static void MtmCheckClusterLock(void);
154157
static void MtmCheckSlots(void);
@@ -197,7 +200,10 @@ static TransactionManager MtmTM =
197200
MtmGetTransactionStateSize,
198201
MtmSerializeTransactionState,
199202
MtmDeserializeTransactionState,
200-
MtmInitializeSequence
203+
MtmInitializeSequence,
204+
MtmCreateSavepointContext,
205+
MtmRestoreSavepointContext,
206+
MtmReleaseSavepointContext
201207
};
202208

203209
char const* const MtmNodeStatusMnem[] =
@@ -467,6 +473,20 @@ MtmInitializeSequence(int64* start, int64* step)
467473
}
468474
}
469475

476+
static void* MtmCreateSavepointContext(void)
477+
{
478+
return (void*)(size_t)MtmTx.containsDML;
479+
}
480+
481+
static void MtmRestoreSavepointContext(void* ctx)
482+
{
483+
MtmTx.containsDML = ctx != NULL;
484+
}
485+
486+
static void MtmReleaseSavepointContext(void* ctx)
487+
{
488+
}
489+
470490

471491
/*
472492
* -------------------------------------------

0 commit comments

Comments
 (0)