From 042e6ad9dc30ede8dd35720b073612673259663d Mon Sep 17 00:00:00 2001 From: Ahmet Gedemenli Date: Thu, 26 Jan 2023 14:32:30 +0300 Subject: [PATCH] test fix --- .../distributed/operations/shard_cleaner.c | 33 ++++++++++++++----- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/src/backend/distributed/operations/shard_cleaner.c b/src/backend/distributed/operations/shard_cleaner.c index d98b30c17..27e482cd3 100644 --- a/src/backend/distributed/operations/shard_cleaner.c +++ b/src/backend/distributed/operations/shard_cleaner.c @@ -728,11 +728,6 @@ TryDropSubscriptionOutsideTransaction(char *subscriptionName, } } - PQclear(result); - ForgetResults(connection); - RemoteTransactionCommit(connection); - ResetRemoteTransaction(connection); - StringInfo alterQuery = makeStringInfo(); appendStringInfo(alterQuery, "ALTER SUBSCRIPTION %s SET (slot_name = NONE)", @@ -745,9 +740,31 @@ TryDropSubscriptionOutsideTransaction(char *subscriptionName, List *dropCommandList = list_make3("SET LOCAL lock_timeout TO '1s'", alterQuery->data, dropQuery->data); - bool success = SendOptionalCommandListToWorkerOutsideTransactionWithConnection( - connection, - dropCommandList); + + bool success = true; + const char *commandString = NULL; + foreach_ptr(commandString, dropCommandList) + { + if (ExecuteOptionalRemoteCommand(connection, commandString, NULL) != 0) + { + success = false; + break; + } + } + + PQclear(result); + ForgetResults(connection); + + if (success) + { + RemoteTransactionCommit(connection); + } + else + { + RemoteTransactionAbort(connection); + } + + ResetRemoteTransaction(connection); return success; }