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