Subject | Re: [ib-support] Re: Case Sensitivity on Indices |
---|---|
Author | Ann W. Harrison |
Post date | 2003-01-16T21:32:18Z |
At 08:27 PM 1/16/2003 +0000, darryl_caillouet <darryl.caillouet@...>
wrote:
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.
moving the case-insensitive collations to Linux.
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.
wrote:
>What I've been able to glean from all the posts is that nobody knowsThat's not completely correct. Dave Schnepper who maintains
>if anyone is actively working on case-insensitive collation for Linux
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 anyThis discussion has certainly raised the level of interest in
>major drive to get this done.
moving the case-insensitive collations to Linux.
>It appears that IB/FB users ... don't see a compelling reason toYup.
>implement a method similar to the Oracle, DB2, MSSQL, MySQL, et al
>way. Some people consider doing so a bad thing.
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.