*** a/src/bin/psql/command.c --- b/src/bin/psql/command.c *************** *** 2554,2579 **** lookup_function_oid(PGconn *conn, const char *desc, Oid *foid) static bool get_create_function_cmd(PGconn *conn, Oid oid, PQExpBuffer buf) { ! bool result = true; PQExpBuffer query; PGresult *res; query = createPQExpBuffer(); printfPQExpBuffer(query, "SELECT pg_catalog.pg_get_functiondef(%u)", oid); ! res = PQexec(conn, query->data); ! if (PQresultStatus(res) == PGRES_TUPLES_OK && PQntuples(res) == 1) ! { ! resetPQExpBuffer(buf); ! appendPQExpBufferStr(buf, PQgetvalue(res, 0, 0)); ! } ! else { ! minimal_error_message(res); ! result = false; } - PQclear(res); destroyPQExpBuffer(query); return result; --- 2554,2579 ---- static bool get_create_function_cmd(PGconn *conn, Oid oid, PQExpBuffer buf) { ! bool result = false; PQExpBuffer query; PGresult *res; query = createPQExpBuffer(); printfPQExpBuffer(query, "SELECT pg_catalog.pg_get_functiondef(%u)", oid); ! res = PSQLexec(query->data, false); ! if (res) { ! if (PQresultStatus(res) == PGRES_TUPLES_OK && PQntuples(res) == 1) ! { ! resetPQExpBuffer(buf); ! appendPQExpBufferStr(buf, PQgetvalue(res, 0, 0)); ! result = true; ! } ! ! PQclear(res); } destroyPQExpBuffer(query); return result;