Re: Quoting of psql \d output

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: Quoting of psql \d output
Дата
Msg-id 200312271639.hBRGdu304535@candle.pha.pa.us
обсуждение исходный текст
Ответ на Re: Quoting of psql \d output  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Quoting of psql \d output  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-patches
Tom Lane wrote:
> "Peter Eisentraut" <peter_e@gmx.net> writes:
> > Christopher Kings-Lynne writes:
> >> Now you've lost me - how is a user-inputted object name translatable?
>
> > Not all languages use "..." as quote symbols, but if you make them part of
> > some string that comes from the backend, it becomes prohibitively hard to
> > translate it correctly.
>
> Hm.  This gets back to the point we've discussed before: there is some
> confusion between SQL's use of quoted identifiers and the customary
> English use of quote marks to set off text that should be distinguished
> from the surrounding sentence.

True.  In the "Table classname.tablename" case, there is no requirement
for quotes in English, but there is for technical reasons.  Imagine:

    Table My class.My table

Looks kind of strange without quotes:

    Table "My class"."My table"

Still looks strange, but better.  :-)

> Essentially, Bruce's proposed patch moves the use of quotes in \d table
> headers to conform to SQL's "technical" use of quotes, while you are
> arguing for sticking with the message style guidelines' "human-oriented"
> use of quotes.
>
> I can see merit in both positions.  But I also see merit in the
> compromise position of not using quotes at all.  I don't see a strong
> need to demarcate table name from surrounding text in a context as
> simple as this --- is
>         Table "foo"
> really any easier to read than
>         Table foo
> ?  And Peter is correct that the former introduces translation issues
> when you think about languages that don't customarily use "..." as
> quotation marks.

As I saw, Peter was suggesting to always use quotes to match the message
guidelines:

    Table "myclass"."mytable"

or

    Table "mytable" (Class "myclass")

However, I have not seen anyone prefer that except Peter so that will
not be adopted unless Peter can find more people that agree with him.

So it seems we can either go with no quotes, or smart quotes (which my
patch implemented).   I feel my patch does the best of both worlds, by
quoting as needed, and as the psql \d commands actually require anyway,
and as used by pg_dump and in SQL queries.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

В списке pgsql-patches по дате отправления:

Предыдущее
От: ohp@pyrenet.fr
Дата:
Сообщение: Re: update i386 spinlock for hyperthreading
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Quoting of psql \d output