Mark inet_server_addr() and inet_server_port() as parallel-restricted.

These need to be PR because they access the MyProcPort data structure,
which doesn't get copied to parallel workers.  The very similar
functions inet_client_addr() and inet_client_port() are already
marked PR, but somebody missed these.

Although this is a pre-existing bug, we can't readily fix it in the back
branches since we can't force initdb.  Given the small usage of these
two functions, and the even smaller likelihood that they'd get pushed to
a parallel worker anyway, it doesn't seem worth the trouble to suggest
that DBAs should fix it manually.

Masahiko Sawada

Discussion: https://postgr.es/m/CAD21AoAT4aHP0Uxq91qpD7NL009tnUYQe-b14R3MnSVOjtE71g@mail.gmail.com
This commit is contained in:
Tom Lane 2021-01-13 16:23:15 -05:00
parent 8b411b8ff4
commit 5a6f9bce8d
2 changed files with 5 additions and 3 deletions

View File

@ -53,6 +53,6 @@
*/
/* yyyymmddN */
#define CATALOG_VERSION_NO 202012293
#define CATALOG_VERSION_NO 202101131
#endif

View File

@ -4082,10 +4082,12 @@
prosrc => 'inet_client_port' },
{ oid => '2198', descr => 'inet address of the server',
proname => 'inet_server_addr', proisstrict => 'f', provolatile => 's',
prorettype => 'inet', proargtypes => '', prosrc => 'inet_server_addr' },
proparallel => 'r', prorettype => 'inet', proargtypes => '',
prosrc => 'inet_server_addr' },
{ oid => '2199', descr => 'server\'s port number for this connection',
proname => 'inet_server_port', proisstrict => 'f', provolatile => 's',
prorettype => 'int4', proargtypes => '', prosrc => 'inet_server_port' },
proparallel => 'r', prorettype => 'int4', proargtypes => '',
prosrc => 'inet_server_port' },
{ oid => '2627',
proname => 'inetnot', prorettype => 'inet', proargtypes => 'inet',