Jaime Casanova <ja...@2ndquadrant.com> writes: > not sure if you're wrong. but at the very least, you miss a > heap_freetuple(oldtup) there, because get_catalog_object_by_oid()
Well, oldtup can be either a syscache copy or a heap tuple. I've been looking at other call sites and they don't free their tuple either. So I'm leaving it at that for now. > no, that code is not unchanged because function > get_ext_ver_list_from_catalog() comes from your patch. Yes. Here's the relevant hunk: *************** *** 997,1003 **** get_nearest_unprocessed_vertex(List *evi_list) * the versions that can be reached in one step from that version. */ static List * ! get_ext_ver_list(ExtensionControlFile *control) { List *evi_list = NIL; int extnamelen = strlen(control->name); --- 1093,1099 ---- * the versions that can be reached in one step from that version. */ static List * ! get_ext_ver_list_from_files(ExtensionControl *control) { List *evi_list = NIL; int extnamelen = strlen(control->name); *************** So the content of the function has not changed. I'm not opposed to trying to fix it, I just don't think it would be wise to do so as part of the extension templates patch, as I do believe that the problem should manifest itself in head too: it's the same code under a new function's name. Regards, -- Dimitri Fontaine http://2ndQuadrant.fr PostgreSQL : Expertise, Formation et Support -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers