On Wed, Sep 2, 2026 at 9:48 AM surya poondla <[email protected]> wrote: > > Hi Peter, > > Thanks for the patch. Nice review comments. > > I applied v3 on master and did some testing of my own. A few observations. > > 1) The patch fixes more than the reported case, which I think is worth > calling out in the commit message. Because the old code compared > n.nspname against the raw pattern text, the footer was silently missing for > *any* double-quoted pattern, not just ones containing an embedded single > quote: > > -- unpatched > test=# \dn sch_a > List of schemas > Name | Owner > -------+---------- > sch_a | postgres > Included in publications: > "pub_a" > > test=# \dn "sch_a" > List of schemas > Name | Owner > -------+---------- > sch_a | postgres > (1 row) <-- footer silently missing > > > FWIW I checked describe.c for other places where a user-supplied pattern is > interpolated into query text, and this is the only one > every other use of 'pattern' is either a pg_log_error() message or goes > through validateSQLNamePattern().
Done. Commit message is updated. > > 2) I'm less sure about switching this query to pattern matching. > processSQLNamePattern() turns it into a regex match, so it can now > match several schemas, but the footer belongs to the whole table rather than > to any one row: > > -- v3 > test=# \dn sch* > List of schemas > Name | Owner > -------+---------- > sch_a | postgres > sch_b | postgres > Included in publications: > "pub_a" > "pub_b" > > There's no way to tell which publication goes with which schema, and with > "\dn *" you get every schema publication in the database lumped > into one footer. Thanks for reporting this issue! It caused me to rewrite everything, but I think the patch is now much better for having done it -- it now closely mimics the `describe table` behavior. > > Minor nit: > - One test line has a stray trailing semicolon: > \d "it's my public table"; > psql strips it so it's harmless, but the neighbouring lines don't have one. > OK, the spurious semi-colon is removed. I've also added more test cases for verified multiple schema/footers with a common \dn pattern. ~~~ PSA patch v4. ====== Kind Regards, Peter Smith. Fujitsu Australia
v4-0001-Fix-escapes-for-psql-describe-schema-patterns.patch
Description: Binary data
