Subject Re: [ib-support] Re: Case Sensitivity on Indices
Author Ann W. Harrison
At 08:27 PM 1/16/2003 +0000, darryl_caillouet <darryl.caillouet@...>
wrote:

>What I've been able to glean from all the posts is that nobody knows
>if anyone is actively working on case-insensitive collation for Linux

That's not completely correct. Dave Schnepper who maintains
and owns the collation code is, like all of us, a volunteer.
No one should (or could) affect his priorities on things like
feeding his family and having (some sort of) a life.

>and that while technically possible to implement, there isn't any
>major drive to get this done.

This discussion has certainly raised the level of interest in
moving the case-insensitive collations to Linux.

>It appears that IB/FB users ... don't see a compelling reason to
>implement a method similar to the Oracle, DB2, MSSQL, MySQL, et al
>way. Some people consider doing so a bad thing.

Yup.

MSSQL Server 7 requires you to select either the case-insensitive
sort order or the case-sensitive sort order at installation time.
Not very flexible.

According to a fairly recent FAQ about Oracle 8.0+
"Some databases have an 'ignore case' flag that can be set for
the entire database. Oracle does not, and thus case-insensitive
queries have long caused problems, not with coding them, but with
their performance (since indexes are typically not used to determine the
result).
Its relatively straightforward to create a case-insensitive query:
SQL> select *
2 from EMP
3 where upper(ENAME) = upper(:b1)
but of course (by default) the 'UPPER(ENAME)' cannot take advantage
of an index that may have been defined on the ENAME column."

Oracle 9i supports expression indexes, so you can create an index
on UPPER(LastName), for example. As I mentioned before, that can
easily result in cases where A = B and B = C but A <> C.

PostgreSQL has a special verb ILIKE for case insensitive comparisons.






Regards,

Ann
www.ibphoenix.com
We have answers.