Fix query result leak during binary upgrade

9a974cbcba moved the query in binary_upgrade_set_pg_class_oids to the
outer level, but left the PQclear and query buffer destruction in the
is_index conditional.  353708e1fb fixed the leak of the query buffer
but left the PGresult leak. This moves clearing the result to the outer
level ensuring that it will be called.

Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://postgr.es/m/374550C1-F4ED-4D9D-9498-0FD029CCF674@yesql.se
Backpatch-through: v15
This commit is contained in:
Daniel Gustafsson 2024-05-15 22:48:51 +02:00
parent 315661ecaf
commit 0ae05c18e0
1 changed files with 2 additions and 2 deletions

View File

@ -5127,8 +5127,6 @@ binary_upgrade_set_pg_class_oids(Archive *fout,
"SELECT pg_catalog.binary_upgrade_set_next_index_relfilenode('%u'::pg_catalog.oid);\n",
toast_index_relfilenumber);
}
PQclear(upgrade_res);
}
else
{
@ -5141,6 +5139,8 @@ binary_upgrade_set_pg_class_oids(Archive *fout,
relfilenumber);
}
PQclear(upgrade_res);
appendPQExpBufferChar(upgrade_buffer, '\n');
destroyPQExpBuffer(upgrade_query);