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

From Justin Pryzby
Subject Re: \dP and \dX use ::regclass without "pg_catalog."
Date
Msg-id 20220107022235.GA14051@telsasoft.com
Whole thread Raw
In response to Re: Add prefix pg_catalog to pg_get_statisticsobjdef_columns() in describe.c (\dX)  (Magnus Hagander <magnus@hagander.net>)
Responses Re: \dP and \dX use ::regclass without "pg_catalog."
List pgsql-hackers
https://www.postgresql.org/message-id/flat/7ad8cd13-db5b-5cf6-8561-dccad1a934cb%40nttcom.co.jp
https://www.postgresql.org/message-id/flat/20210827193151.GN26465%40telsasoft.com

On Sat, Aug 28, 2021 at 08:57:32AM -0400, Álvaro Herrera wrote:
> On 2021-Aug-27, Justin Pryzby wrote:
> > I noticed that for \dP+ since 1c5d9270e, regclass is written without
> > "pg_catalog." (Alvaro and I failed to notice it in 421a2c483, too).
> 
> Oops, will fix shortly.

On Tue, Sep 28, 2021 at 04:25:11PM +0200, Magnus Hagander wrote:
> On Mon, Sep 27, 2021 at 2:14 AM Tatsuro Yamada <tatsuro.yamada.tf@nttcom.co.jp> wrote:
> > I found other functions that we should add "pg_catalog" prefix in
> > describe.c. This fix is similar to the following commit.
> 
> Yup, that's correct. Applied and backpatched to 14 (but it won't be in the
> 14.0 release).

Those two issues were fixed in 1f092a309 and 07f8a9e784.
But, we missed two casts to ::text which don't use pg_catalog.
Evidently the cast is to allow stable sorting.

I improved on my previous hueristic to look for these ; this finds the two
missing schema qualifiers:

> time grep "$(sed -r "/.*pg_catalog\\.([_[:alpha:]]+).*/! d; s//\\1/; /^(char|oid)$/d; s/.*/[^. ']\\\\<&\\\\>/"
src/bin/psql/describe.c|sort -u)" src/bin/psql/describe.c
 

While looking at that, I wondered why describeOneTableDetails lists stats
objects in order of OID ?  Dating back to 7b504eb28, and, before that,
554A73A6.2060603@2ndquadrant.com.  It should probably order by nsp, stxname.



pgsql-hackers by date:

Previous
From: "Imseih (AWS), Sami"
Date:
Subject: Re: Add index scan progress to pg_stat_progress_vacuum
Next
From: Andres Freund
Date:
Subject: Re: Add spin_delay() implementation for Arm in s_lock.h