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

Commit 9ab0761

Browse files
committed
new ProcessUtility_hook signature
1 parent 34ea34c commit 9ab0761

File tree

1 file changed

+18
-10
lines changed

1 file changed

+18
-10
lines changed

contrib/mmts/multimaster.c

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -289,9 +289,11 @@ static shmem_startup_hook_type PreviousShmemStartupHook;
289289

290290
static void MtmExecutorStart(QueryDesc *queryDesc, int eflags);
291291
static void MtmExecutorFinish(QueryDesc *queryDesc);
292-
static void MtmProcessUtility(Node *parsetree, const char *queryString,
293-
ProcessUtilityContext context, ParamListInfo params,
294-
DestReceiver *dest, char *completionTag);
292+
static void MtmProcessUtility(PlannedStmt *pstmt,
293+
const char *queryString, ProcessUtilityContext context,
294+
ParamListInfo params,
295+
QueryEnvironment *queryEnv,
296+
DestReceiver *dest, char *completionTag);
295297
static void MtmSeqNextvalHook(Oid seqid, int64 next);
296298

297299
static bool MtmAtExitHookRegistered = false;
@@ -5036,13 +5038,16 @@ static bool MtmFunctionProfileDependsOnTempTable(CreateFunctionStmt* func)
50365038

50375039

50385040

5039-
static void MtmProcessUtility(Node *parsetree, const char *queryString,
5040-
ProcessUtilityContext context, ParamListInfo params,
5041-
DestReceiver *dest, char *completionTag)
5041+
static void MtmProcessUtility(PlannedStmt *pstmt,
5042+
const char *queryString, ProcessUtilityContext context,
5043+
ParamListInfo params,
5044+
QueryEnvironment *queryEnv,
5045+
DestReceiver *dest, char *completionTag)
50425046
{
50435047
bool skipCommand = false;
50445048
bool executed = false;
50455049
bool prevMyXactAccessedTempRel;
5050+
Node *parsetree = pstmt->utilityStmt;
50465051

50475052
MTM_LOG2("%d: Process utility statement tag=%d, context=%d, issubtrans=%d, creating_extension=%d, query=%s",
50485053
MyProcPid, nodeTag(parsetree), context, IsSubTransaction(), creating_extension, queryString);
@@ -5347,14 +5352,17 @@ static void MtmProcessUtility(Node *parsetree, const char *queryString,
53475352

53485353
if (PreviousProcessUtilityHook != NULL)
53495354
{
5350-
PreviousProcessUtilityHook(parsetree, queryString, context,
5351-
params, dest, completionTag);
5355+
PreviousProcessUtilityHook(pstmt, queryString,
5356+
context, params, queryEnv,
5357+
dest, completionTag);
53525358
}
53535359
else
53545360
{
5355-
standard_ProcessUtility(parsetree, queryString, context,
5356-
params, dest, completionTag);
5361+
standard_ProcessUtility(pstmt, queryString,
5362+
context, params, queryEnv,
5363+
dest, completionTag);
53575364
}
5365+
53585366
#if 0
53595367
if (!MtmVolksWagenMode && MtmTx.isDistributed && XactIsoLevel != XACT_REPEATABLE_READ) {
53605368
MTM_ELOG(ERROR, "Isolation level %s is not supported by multimaster", isoLevelStr[XactIsoLevel]);

0 commit comments

Comments
 (0)