Yes. I understand. It has all to do with Unicode collating sequence. I
need to somehow remove this bug from the list, since it is not a bug.
-----Original Message-----
From: pgsql-bugs-owner@postgresql.org
[mailto:pgsql-bugs-owner@postgresql.org] On Behalf Of Peter Eisentraut
Sent: Monday, August 24, 2009 4:54 AM
To: Brian Ceccarelli
Cc: pgsql-bugs@postgresql.org
Subject: Re: [BUGS] BUG #4999: select 'a' < 'A' is true, but should be false
. . .
On tor, 2009-08-20 at 20:24 +0000, Brian Ceccarelli wrote:
> since the < and > comparison operators seem to be case insensitive:
>
> select 'a' < 'Z'; -- true
> select 'a' < 'z'; -- true
> select 'A' < 'Z'; -- true
> select 'A' < 'z'; -- true
>
> select 'z' < 'A'; -- false
> select 'z' < 'a'; -- false
> select 'Z' < 'A'; -- false
> select 'Z' < 'a'; -- false
>
> Any case A is < any case Z implies case-insensitive compare. Which
would
> imply that 'a' = 'A', but 'a' < 'A' is true.
No, they are not "case insensitive". The way this works is with a
multipass comparison algorithm: First, the letters are compared
independent of case, then the case is compared. There is also an
additional pass for comparing accents, but I forget at the moment which
pass that is. Search for Unicode collation algorithm, if you are
interested.
--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs