I was idly following along in GSoC 2017: Foreign Key Arrays when I noticed this:
=# select * from pg_amproc where amprocfamily = 2745; amprocfamily | amproclefttype | amprocrighttype | amprocnum | amproc --------------+----------------+-----------------+-----------+ 2745 | 2277 | 2277 | 2 | pg_catalog.ginarrayextract 2745 | 2277 | 2277 | 3 | ginqueryarrayextract ... where only ginarrayextract is schema-qualified. It seems to be regproc's output procedure doing it: =# select 2743::regproc, 2774::regproc; regproc | regproc ----------------------------+---------------------- pg_catalog.ginarrayextract | ginqueryarrayextract The manual says regproc "will display schema-qualified names on output if the object would not be found in the current search path without being qualified." Is regproc displaying the schema in this case because there are two overloaded flavors of ginarrayextract, though both are in pg_catalog? Could it be searching for the object by name, ignoring the argument signature, and just detecting that it hit one with a different OID first? -Chap -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers