mirror of
https://github.com/postgres/postgres.git
synced 2025-06-27 23:21:58 +03:00
Fix incorrect pattern-match processing in psql's \det command.
listForeignTables' invocation of processSQLNamePattern did not match up with the other ones that handle potentially-schema-qualified names; it failed to make use of pg_table_is_visible() and also passed the name arguments in the wrong order. Bug seems to have been aboriginal in commit0d692a0dc9
. It accidentally sort of worked as long as you didn't inquire too closely into the behavior, although the silliness was later exposed by inconsistencies in the test queries added by59efda3e50
(which I probably should have questioned at the time, but didn't). Per bug #13899 from Reece Hart. Patch by Reece Hart and Tom Lane. Back-patch to all affected branches.
This commit is contained in:
@ -4028,7 +4028,8 @@ listForeignTables(const char *pattern, bool verbose)
|
|||||||
"d.objoid = c.oid AND d.objsubid = 0\n");
|
"d.objoid = c.oid AND d.objsubid = 0\n");
|
||||||
|
|
||||||
processSQLNamePattern(pset.db, &buf, pattern, false, false,
|
processSQLNamePattern(pset.db, &buf, pattern, false, false,
|
||||||
NULL, "n.nspname", "c.relname", NULL);
|
"n.nspname", "c.relname", NULL,
|
||||||
|
"pg_catalog.pg_table_is_visible(c.oid)");
|
||||||
|
|
||||||
appendPQExpBuffer(&buf, "ORDER BY 1, 2;");
|
appendPQExpBuffer(&buf, "ORDER BY 1, 2;");
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user