Re: [GENERAL] 'a' == 'a '

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: [GENERAL] 'a' == 'a '
Дата
Msg-id 200510250341.j9P3fBW14657@candle.pha.pa.us
обсуждение исходный текст
Ответ на Re: [GENERAL] 'a' == 'a '  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: [GENERAL] 'a' == 'a '  (Andrew Dunstan <andrew@dunslane.net>)
Список pgsql-hackers
Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > OK, I understand now.  It is tempting to think that the difference
> > between char() and varchar() is that internally they use a different
> > collating sequences, but that isn't the case.  If it were, space would
> > be ignored during comparisons any place in the string, when in fact, is
> > it is only trailing space that char() ignores, e.g.:
> 
> No, you don't understand.  The standard defines PAD SPACE as making
> *trailing* spaces irrelevant to comparisons, not embedded or leading
> spaces.  And they regard PAD SPACE as an attribute of a collation rather
> than of the string datatype.  This seems pretty wacko to me (in
> particular it's hard to see how NO PAD is useful with char(N) storage)
> but that's what they did.

So you can have two collating sequences where in one trailing space is
significant, and another that isn't?  Strange.

> > What additional documentation is needed?
> 
> Some specific discussion of the relationship to the standard would be
> helpful, perhaps.

I guess, but explaining it seems pretty complex in itself, and I am
unsure what value it adds.

--  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,
Pennsylvania19073
 


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: [PATCHES] Win32 CHECK_FOR_INTERRUPTS() performance
Следующее
От: Andrew Dunstan
Дата:
Сообщение: Re: [GENERAL] 'a' == 'a '