\dP and \dX use ::regclass without "pg_catalog." - Mailing list pgsql-hackers

From Justin Pryzby
Subject \dP and \dX use ::regclass without "pg_catalog."
Date
Msg-id 20210827193151.GN26465@telsasoft.com
Whole thread Raw
Responses Re: \dP and \dX use ::regclass without "pg_catalog."
List pgsql-hackers
I noticed that for \dP+ since 1c5d9270e, regclass is written without
"pg_catalog." (Alvaro and I failed to notice it in 421a2c483, too).

+       if (showNested || pattern)
+               appendPQExpBuffer(&buf,
+                                                 ",\n  c3.oid::regclass as \"%s\"",
+                                                 gettext_noop("Parent name"));
+
+       if (showIndexes)
+               appendPQExpBuffer(&buf,
+                                                 ",\n c2.oid::regclass as \"%s\"",
+                                                 gettext_noop("On table"));

\dX is new in v14, and introduced the same issue in ad600bba0 (and modifies it
but not fixed in a4d75c86).

I searched for issues like this, which finds all 4 errors with 1 false positive
in psql/describe.c

|time grep -wF "$(grep -oE 'pg_catalog\.[_[:alpha:]]+' src/bin/psql/describe.c |sed -r 's/^pg_catalog\.//;
/^(char|oid|text|trigger)$/d')" src/bin/psql/describe.c |grep -Ev 'pg_catalog\.|^    *[/ ]\*'
 
|#include "catalog/pg_am.h"
|                                                  ",\n  inh.inhparent::regclass as \"%s\"",
|                                                  ",\n c2.oid::regclass as \"%s\"",
|                                                  "  es.stxrelid::regclass) AS \"%s\"",
|                                                  "es.stxrelid::regclass) AS \"%s\"",

Tom informs me that this is not considered to be interesting as a security patch.

-- 
Justin

Attachment

pgsql-hackers by date:

Previous
From: Stephen Frost
Date:
Subject: Re: log_autovacuum in Postgres 14 -- ordering issue
Next
From: Andres Freund
Date:
Subject: Re: Estimating HugePages Requirements?