Prev: 8.5alpha3 bug in information_schema.table_privileges
Next: [HACKERS] planner or statistical bug on 8.5
From: Takahiro Itagaki on 11 Jan 2010 22:43 There is a memory leak in dblink when we cancel a query during returning tuples. It could leak a PGresult because memory used by it is not palloc'ed one. I wrote a patch[1] before, but I've badly used global variables to track the resource. The attached is a cleaned up patch rewritten to use a tuplestore (SFRM_Materialize mode) to return tuples suggested at [2]. Since we don't return from the dblink function in tuplestore mode, we can surely release the PGresult with a PG_CATCH block even on error. Also, dblink_record_internal() and dblink_fetch() are rearranged to share the same code to return tuples for code refactoring. [1] http://archives.postgresql.org/pgsql-hackers/2009-06/msg01358.php [2] http://archives.postgresql.org/pgsql-hackers/2009-10/msg00292.php Regards, --- Takahiro Itagaki NTT Open Source Software Center |