Re: Doc patch on psql output formats
Daniel Verite <daniel@manitou-mail.org>
From: "Daniel Verite" <daniel@manitou-mail.org>
To: "Tom Lane" <tgl@sss.pgh.pa.us>
Cc: pgsql-hackers@lists.postgresql.org
Date: 2018-11-06T17:18:37Z
Lists: pgsql-hackers
Tom Lane wrote: > > When a non-unique abbreviation is used, psql uses the first > > match in an arbitrary order defined in do_pset() by > > a cascade of pg_strncasecmp(). > > Ugh. Should we not fix the code so that it complains if there's > not a unique match? I would bet that the code was also written > on the assumption that any abbrevation must be unique. There's a backward compatibility issue, since a script issuing \pset format a would now fail instead of setting the format to "aligned". The doc patch is meant to describe the current behavior. OTOH if we don't fail with non-unique matches, there is the risk that in the future, a new format matching /^a/ will come alphabetically before "aligned", and will be picked up instead of "aligned". In both cases using abbreviations in scripts is not a great idea. Anyway I will look into the changes required in do_pset to implement the error on multiple matches, if that's the preferred behavior. Best regards, -- Daniel Vérité PostgreSQL-powered mailer: http://www.manitou-mail.org Twitter: @DanielVerite
Commits
-
Fix breakage of "\pset format latex".
- a7eece4fc9a4 12.0 landed
-
Make psql's "\pset format" command reject non-unique abbreviations.
- eaf746a5b85a 12.0 landed
-
Doc: remove claim that all \pset format options are unique in 1 letter.
- b8182d6293d9 11.2 landed
- 6a312b2587c6 9.4.21 landed
- 5f2937734cd1 10.7 landed
- 51eaaafb850b 12.0 landed
- 44dc82690d4e 9.5.16 landed
- 033d45a1008f 9.6.12 landed
-
Reorganize format options of psql in alphabetical order
- add9182e5908 12.0 cited