diff --git a/src/backend/distributed/connection/connection_management.c b/src/backend/distributed/connection/connection_management.c index fc1b2c9c5..6767a41a9 100644 --- a/src/backend/distributed/connection/connection_management.c +++ b/src/backend/distributed/connection/connection_management.c @@ -163,7 +163,6 @@ StartNodeUserDatabaseConnection(uint32 flags, const char *hostname, int32 port, ConnectionHashKey key; ConnectionHashEntry *entry = NULL; MultiConnection *connection; - MemoryContext oldContext; bool found; /* do some minimal input checks */ @@ -234,11 +233,8 @@ StartNodeUserDatabaseConnection(uint32 flags, const char *hostname, int32 port, */ connection = StartConnectionEstablishment(&key); - oldContext = MemoryContextSwitchTo(ConnectionContext); dlist_push_tail(entry->connections, &connection->connectionNode); - MemoryContextSwitchTo(oldContext); - if (flags & SESSION_LIFESPAN) { connection->sessionLifespan = true; diff --git a/src/backend/distributed/transaction/multi_shard_transaction.c b/src/backend/distributed/transaction/multi_shard_transaction.c index e743d6405..e04da91a8 100644 --- a/src/backend/distributed/transaction/multi_shard_transaction.c +++ b/src/backend/distributed/transaction/multi_shard_transaction.c @@ -44,7 +44,6 @@ OpenTransactionsToAllShardPlacements(List *shardIntervalList, char *userName) { ListCell *shardIntervalCell = NULL; List *newConnectionList = NIL; - ListCell *connectionCell = NULL; if (shardConnectionHash == NULL) { @@ -121,12 +120,7 @@ OpenTransactionsToAllShardPlacements(List *shardIntervalList, char *userName) } /* finish connection establishment newly opened connections */ - foreach(connectionCell, newConnectionList) - { - MultiConnection *connection = (MultiConnection *) lfirst(connectionCell); - - FinishConnectionEstablishment(connection); - } + FinishConnectionListEstablishment(newConnectionList); /* the special BARE mode (for e.g. VACUUM/ANALYZE) skips BEGIN */ if (MultiShardCommitProtocol > COMMIT_PROTOCOL_BARE) diff --git a/src/backend/distributed/transaction/transaction_recovery.c b/src/backend/distributed/transaction/transaction_recovery.c index 88e4e25d1..5bdb15610 100644 --- a/src/backend/distributed/transaction/transaction_recovery.c +++ b/src/backend/distributed/transaction/transaction_recovery.c @@ -23,14 +23,12 @@ #include "access/relscan.h" #include "access/xact.h" #include "catalog/indexing.h" -#include "distributed/commit_protocol.h" #include "distributed/connection_cache.h" #include "distributed/listutils.h" #include "distributed/metadata_cache.h" #include "distributed/pg_dist_transaction.h" #include "distributed/transaction_recovery.h" #include "distributed/worker_manager.h" -#include "distributed/worker_transaction.h" #include "lib/stringinfo.h" #include "storage/lmgr.h" #include "storage/lock.h" @@ -71,35 +69,6 @@ recover_prepared_transactions(PG_FUNCTION_ARGS) } -/* - * LogPreparedTransactions logs a commit record for all prepared transactions - * on connections in connectionList. The remote transaction is safe to commit - * once the record has been durably stored (i.e. the local transaction is - * committed). - */ -void -LogPreparedTransactions(List *connectionList) -{ - ListCell *connectionCell = NULL; - - foreach(connectionCell, connectionList) - { - TransactionConnection *transactionConnection = - (TransactionConnection *) lfirst(connectionCell); - - char transactionState PG_USED_FOR_ASSERTS_ONLY = - transactionConnection->transactionState; - int groupId = transactionConnection->groupId; - int64 connectionId = transactionConnection->connectionId; - StringInfo transactionName = BuildTransactionName(connectionId); - - Assert(transactionState == TRANSACTION_STATE_PREPARED); - - LogTransactionRecord(groupId, transactionName->data); - } -} - - /* * LogTransactionRecord registers the fact that a transaction has been * prepared on a worker. The presence of this record indicates that the diff --git a/src/include/distributed/transaction_recovery.h b/src/include/distributed/transaction_recovery.h index 15bbecd08..d204ef753 100644 --- a/src/include/distributed/transaction_recovery.h +++ b/src/include/distributed/transaction_recovery.h @@ -12,11 +12,7 @@ #define TRANSACTION_RECOVERY_H -#include "nodes/pg_list.h" - - /* Functions declarations for worker transactions */ -extern void LogPreparedTransactions(List *connectionList); extern void LogTransactionRecord(int groupId, char *transactionName);