diff options
| -rw-r--r-- | src/backend/pgxc/pool/execRemote.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/backend/pgxc/pool/execRemote.c b/src/backend/pgxc/pool/execRemote.c index 604cccc8e3..e42a99d8a3 100644 --- a/src/backend/pgxc/pool/execRemote.c +++ b/src/backend/pgxc/pool/execRemote.c @@ -3139,7 +3139,6 @@ prepare_err: conn->ck_resp_rollback = false; /* sanity checks */ Assert(conn->sock != NO_SOCKET); - Assert(conn->transaction_status == 'I'); Assert(conn->state == DN_CONNECTION_STATE_IDLE); /* Send down abort prepared command */ if (pgxc_node_send_gxid(conn, auxXid)) @@ -3180,7 +3179,6 @@ prepare_err: conn->ck_resp_rollback = false; /* sanity checks */ Assert(conn->sock != NO_SOCKET); - Assert(conn->transaction_status = 'I'); Assert(conn->state = DN_CONNECTION_STATE_IDLE); /* Send down abort prepared command */ if (pgxc_node_send_gxid(conn, auxXid)) @@ -3222,6 +3220,13 @@ prepare_err: CloseCombiner(&combiner2); } + if (!temp_object_included && !PersistentConnections) + { + /* Clean up remote sessions */ + pgxc_node_remote_cleanup_all(); + release_handles(); + } + pfree_pgxc_all_handles(handles); /* |
