Re: Doc patch on psql output formats - Mailing list pgsql-hackers

From Daniel Verite
Subject Re: Doc patch on psql output formats
Date
Msg-id ee4f3cb3-fdb2-4097-b679-4db1652ee3b0@manitou-mail.org
Whole thread Raw
In response to Re: Doc patch on psql output formats  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Doc patch on psql output formats
List 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


pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: BUG #15212: Default values in partition tables don't work asexpected and allow NOT NULL violation
Next
From: Alvaro Herrera
Date:
Subject: Re: pg_dump multi VALUES INSERT