diff --git a/src/backend/distributed/master/master_metadata_utility.c b/src/backend/distributed/master/master_metadata_utility.c index f9223cf35..9e1296831 100644 --- a/src/backend/distributed/master/master_metadata_utility.c +++ b/src/backend/distributed/master/master_metadata_utility.c @@ -237,6 +237,7 @@ DistributedTableSizeOnWorker(WorkerNode *workerNode, Oid relationId, char *sizeQ tableSizeString = tableSizeStringInfo->data; tableSize = atol(tableSizeString); + PQclear(result); ClearResults(connection, raiseErrors); return tableSize; diff --git a/src/backend/distributed/test/run_from_same_connection.c b/src/backend/distributed/test/run_from_same_connection.c index 17ce54270..508fc133a 100644 --- a/src/backend/distributed/test/run_from_same_connection.c +++ b/src/backend/distributed/test/run_from_same_connection.c @@ -196,6 +196,7 @@ GetRemoteProcessId(MultiConnection *connection) StringInfo queryStringInfo = makeStringInfo(); PGresult *result = NULL; int64 rowCount = 0; + int64 resultValue = 0; appendStringInfo(queryStringInfo, GET_PROCESS_ID); @@ -208,7 +209,10 @@ GetRemoteProcessId(MultiConnection *connection) PG_RETURN_VOID(); } + resultValue = ParseIntField(result, 0, 0); + + PQclear(result); ClearResults(connection, false); - return ParseIntField(result, 0, 0); + return resultValue; } diff --git a/src/backend/distributed/worker/worker_data_fetch_protocol.c b/src/backend/distributed/worker/worker_data_fetch_protocol.c index bd0b38447..82c50a27c 100644 --- a/src/backend/distributed/worker/worker_data_fetch_protocol.c +++ b/src/backend/distributed/worker/worker_data_fetch_protocol.c @@ -563,6 +563,7 @@ TableDDLCommandList(const char *nodeName, uint32 nodePort, const char *tableName ExecuteOptionalRemoteCommand(connection, queryString->data, &result); ddlCommandList = ReadFirstColumnAsText(result); + PQclear(result); ForgetResults(connection); CloseConnection(connection);