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

Commit 0ce22e9

Browse files
committed
Fix infinite loop of non-tx ddl statements
1 parent 0252391 commit 0ce22e9

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

multimaster.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3896,7 +3896,7 @@ static void MtmProcessUtility(Node *parsetree, const char *queryString,
38963896
case T_IndexStmt:
38973897
{
38983898
IndexStmt *indexStmt = (IndexStmt *) parsetree;
3899-
if (indexStmt->concurrent && !IsTransactionBlock())
3899+
if (indexStmt->concurrent && !IsTransactionBlock() && !MtmTx.isReplicated)
39003900
{
39013901
skipCommand = true;
39023902
MtmProcessDDLCommand(queryString, false);
@@ -3908,7 +3908,7 @@ static void MtmProcessUtility(Node *parsetree, const char *queryString,
39083908
case T_DropStmt:
39093909
{
39103910
DropStmt *stmt = (DropStmt *) parsetree;
3911-
if (stmt->removeType == OBJECT_INDEX && stmt->concurrent && !IsTransactionBlock())
3911+
if (stmt->removeType == OBJECT_INDEX && stmt->concurrent && !IsTransactionBlock() && !MtmTx.isReplicated)
39123912
{
39133913
skipCommand = true;
39143914
MtmProcessDDLCommand(queryString, false);

0 commit comments

Comments
 (0)