Re: pgsql: Allow db.schema.table patterns, but complain about random garbag
Andrew Dunstan <andrew@dunslane.net>
From: Andrew Dunstan <andrew@dunslane.net>
To: Robert Haas <rhaas@postgresql.org>, pgsql-committers@lists.postgresql.org
Date: 2022-04-22T13:15:31Z
Lists: pgsql-hackers
On 2022-04-20 We 11:52, Robert Haas wrote: > Allow db.schema.table patterns, but complain about random garbage. > > psql, pg_dump, and pg_amcheck share code to process object name > patterns like 'foo*.bar*' to match all tables with names starting in > 'bar' that are in schemas starting with 'foo'. Before v14, any number > of extra name parts were silently ignored, so a command line '\d > foo.bar.baz.bletch.quux' was interpreted as '\d bletch.quux'. In v14, > as a result of commit 2c8726c4b0a496608919d1f78a5abc8c9b6e0868, we > instead treated this as a request for table quux in a schema named > 'foo.bar.baz.bletch'. That caused problems for people like Justin > Pryzby who were accustomed to copying strings of the form > db.schema.table from messages generated by PostgreSQL itself and using > them as arguments to \d. > > Accordingly, revise things so that if an object name pattern contains > more parts than we're expecting, we throw an error, unless there's > exactly one extra part and it matches the current database name. > That way, thisdb.myschema.mytable is accepted as meaning just > myschema.mytable, but otherdb.myschema.mytable is an error, and so > is some.random.garbage.myschema.mytable. This has upset the buildfarm's msys2 animals. There appears to be some wildcard expansion going on that causes the problem. I don't know why it should here when it's not causing trouble elsewhere. I have tried changing the way the tests are quoted, without success. Likewise, setting SHELLOPTS=noglob didn't work. At this stage I'm fresh out of ideas to fix it. It's also quite possible that my diagnosis is wrong. cheers andrew -- Andrew Dunstan EDB: https://www.enterprisedb.com
Commits
-
Inhibit mingw CRT's auto-globbing of command line arguments
- 58887d58c6ad 10.21 landed
- b90ce0dd7499 11.16 landed
- 01f2bc5af4ff 12.11 landed
- d9cede2c3bfd 13.7 landed
- 71f394667c82 14.3 landed
- b787c554c264 15.0 landed
-
Remove some recently-added pg_dump test cases.
- 75a006beef6c 14.3 landed
- a66e722cc118 15.0 landed
-
Allow db.schema.table patterns, but complain about random garbage.
- d2d35479796c 15.0 cited
-
In PostgresNode.pm, don't pass SQL to psql on the command line
- 11e9caff82bc 14.0 cited
-
Factor pattern-construction logic out of processSQLNamePattern.
- 2c8726c4b0a4 14.0 cited