From b0fd6aa00634a538d554d570ee4707e826929b36 Mon Sep 17 00:00:00 2001 From: Marco Slot Date: Fri, 31 Jan 2020 17:25:05 +0100 Subject: [PATCH] If reference tables was read over multiple connections, do not assign connection --- .../distributed/connection/placement_connection.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/backend/distributed/connection/placement_connection.c b/src/backend/distributed/connection/placement_connection.c index ee9aa0c50..2a6f59683 100644 --- a/src/backend/distributed/connection/placement_connection.c +++ b/src/backend/distributed/connection/placement_connection.c @@ -592,6 +592,14 @@ FindPlacementListConnection(int flags, List *placementAccessList, const char *us "modified over multiple connections"))); } } + else if (accessType == PLACEMENT_ACCESS_SELECT && + placementEntry->hasSecondaryConnections) + { + /* + * Two separate connections have already selected from this placements. + * There is no benefit to using this connection. + */ + } else if (CanUseExistingConnection(flags, userName, placementConnection)) { /* @@ -599,7 +607,6 @@ FindPlacementListConnection(int flags, List *placementAccessList, const char *us */ Assert(placementConnection != NULL); - chosenConnection = placementConnection->connection; if (placementConnection->hadDDL || placementConnection->hadDML)