v1-0001-psql-Schema-qualify-catalog-references-in-describ.patch
application/octet-stream
Filename: v1-0001-psql-Schema-qualify-catalog-references-in-describ.patch
Type: application/octet-stream
Part: 0
Patch
Format: format-patch
Series: patch v1-0001
Subject: psql: Schema-qualify catalog references in describe queries
| File | + | − |
|---|---|---|
| src/bin/psql/describe.c | 6 | 6 |
From 07876f501725a48d75b6da492b24dbda7fd066ec Mon Sep 17 00:00:00 2001
From: "Chao Li (Evan)" <lic@highgo.com>
Date: Mon, 8 Jun 2026 16:09:07 +0800
Subject: [PATCH v1 1/2] psql: Schema-qualify catalog references in describe
queries
Some recently added describe queries missed pg_catalog qualification for
catalog relations. This could allow user objects earlier in search_path,
including temporary tables, to affect psql describe output.
Fix the subscription describe query to use pg_catalog.pg_foreign_server,
and fix the property graph describe query to use pg_catalog-qualified
catalog relations.
These were oversights in commits 8185bb53 and 2f094e7a.
Author: Chao Li <lic@highgo.com>
---
src/bin/psql/describe.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/bin/psql/describe.c b/src/bin/psql/describe.c
index e1449654f96..a245a0a7912 100644
--- a/src/bin/psql/describe.c
+++ b/src/bin/psql/describe.c
@@ -1950,11 +1950,11 @@ describeOneTableDetails(const char *schemaname,
"\n when " CppAsString2(PGEKIND_EDGE) " then 'edge' end AS \"%s\","
"\n s.pgealias as \"%s\","
"\n d.pgealias as \"%s\""
- "\n FROM pg_propgraph_element e"
- "\n INNER JOIN pg_class c ON c.oid = e.pgerelid"
- "\n INNER JOIN pg_namespace n ON c.relnamespace = n.oid"
- "\n LEFT JOIN pg_propgraph_element s ON e.pgesrcvertexid = s.oid"
- "\n LEFT JOIN pg_propgraph_element d ON e.pgedestvertexid = d.oid"
+ "\n FROM pg_catalog.pg_propgraph_element e"
+ "\n INNER JOIN pg_catalog.pg_class c ON c.oid = e.pgerelid"
+ "\n INNER JOIN pg_catalog.pg_namespace n ON c.relnamespace = n.oid"
+ "\n LEFT JOIN pg_catalog.pg_propgraph_element s ON e.pgesrcvertexid = s.oid"
+ "\n LEFT JOIN pg_catalog.pg_propgraph_element d ON e.pgedestvertexid = d.oid"
"\n WHERE e.pgepgid = '%s'"
"\n ORDER BY e.pgealias",
gettext_noop("Element Alias"),
@@ -7165,7 +7165,7 @@ describeSubscriptions(const char *pattern, bool verbose)
if (pset.sversion >= 190000)
{
appendPQExpBuffer(&buf,
- ", (select srvname from pg_foreign_server where oid=subserver) AS \"%s\"\n",
+ ", (select srvname from pg_catalog.pg_foreign_server where oid=subserver) AS \"%s\"\n",
gettext_noop("Server"));
appendPQExpBuffer(&buf,
--
2.50.1 (Apple Git-155)