The mysterious pg_proc.protrftypes

From: "Joel Jacobson" <joel(at)compiler(dot)org>
To: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: The mysterious pg_proc.protrftypes
Date: 2021-01-25 07:04:34
Message-ID: d1cc628c-3953-4209-957b-29427acc38c8@www.fastmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

I'm trying to understand how pg_proc.protrftypes works.

The documentation says "Data type OIDs for which to apply transforms.".
For this column, there is no reference to any catalog table?
I would guess it should be "(references pg_type.oid)", right?

I tried to generate a value for this column to verify my hypothesis,
but I struggle to find an example that produces a not null value here.

I grepped the sources and found the "CREATE TRANSFORM FOR type_name" command,
and found an extension using it named "bool_plperl" which I installed.

I assumed this would cause a value, but no.

Both of bool_plperl's two functions get null pg_proc.protrftypes values.

I've tried running the full regression "make installcheck", but protrftypes doesn't seem to be covered:

$ cd postgresql
$ make installcheck
...
=======================
All 203 tests passed.
=======================
$ psql regression
regression=# SELECT COUNT(*) FROM pg_proc WHERE protrftypes IS NOT NULL;
count
-------
0
(1 row)

Can someone please show me how to generate a function with a not null pg_proc.protrftypes value?

Many thanks.

/Joel

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message David Rowley 2021-01-25 07:05:19 Re: Heap's backwards scan scans the incorrect pages with heap_setscanlimits()
Previous Message Greg Nancarrow 2021-01-25 06:47:41 Re: Parallel INSERT (INTO ... SELECT ...)