Re: Cache lookup errors with functions manipulation object addresses

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Dmitry Dolgov <9erthalion6@gmail.com>
Cc: Alvaro Herrera <alvherre@2ndquadrant.com>, Andrew Dunstan <andrew.dunstan@2ndquadrant.com>, PostgreSQL Developers <pgsql-hackers@lists.postgresql.org>
Date: 2019-10-17T01:29:47Z
Lists: pgsql-hackers
On Wed, Oct 16, 2019 at 01:04:57PM +0200, Dmitry Dolgov wrote:
> Thanks for the update. Looking at v17 0003 I have one more question. In all the
> places where we have to do systable_endscan, it followed by heap_close,
> although in the rest of the file table_close is used. I guess this logic is not
> heap specific and should also use table_close?

We need to use table_close as we cannot assume that the relation will
always be opened for heap.  This patch set is around for so long, so
that was a rotten part still able to compile as we have a macro to
cover the gap.  Thanks for noticing that.  I am sending an updated
patch set in a but, Alvaro had more comments.
--
Michael

Commits

  1. Eliminate cache lookup errors in SQL functions for object addresses

  2. Refactor routines for name lookups of procedures and operators

  3. Add new flag to format_type_extended() to get NULL for undefined type

  4. Introduce new extended routines for FDW and foreign server lookups

  5. Refactor routines for subscription and publication lookups

  6. get_relid_attribute_name is dead, long live get_attname

  7. Tweak parser so that there is a defined representation for datatypes