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, Pennsylvania 19073

---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

               http://archives.postgresql.org

Reply via email to