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 a826021e56
commit e6fc3b70df
1 changed files with 2 additions and 2 deletions

View File

@ -4980,8 +4980,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_relfilenode);
}
PQclear(upgrade_res);
}
else
{
@ -4994,6 +4992,8 @@ binary_upgrade_set_pg_class_oids(Archive *fout,
relfilenode);
}
PQclear(upgrade_res);
appendPQExpBufferChar(upgrade_buffer, '\n');
destroyPQExpBuffer(upgrade_query);