Subject Re: [IB-Architect] Re: Creating a case-insensitive collation set
Author Paul Gallagher
Case-insensitive collation drivers are fine most of the time. But what I
would really like to see is "true" case-insensitive searching and ordering
in Interbase(or is it Firebird?).

A new keyword would be involved. i.e.
SELECT ITEM, DESCRIPTION FROM ITEMTABLE ORDER BY ITEM NOCASE or maybe
SELECT NOCASE(ITEM) AS ITEM2, DESCRIPTION FROM ITEMTABLE ORDER BY ITEM2

The NOCASE or similar keyword would have to be added. Im sure this is not as
easy to accomplish as it looks, but after the dust settles here, and the
source gets straigtened out,(and after I learn C)I might start hacking on
it. It seems to be one of the more common questions/problems you see on the
newsgroups and lists.

Paul Gallagher

----- Original Message -----
From: "David Schnepper" <dave@...>
To: <IB-Architect@egroups.com>
Sent: Tuesday, August 01, 2000 10:49 AM
Subject: [IB-Architect] Re: Creating a case-insensitive collation set


> Well, a couple days earlier than planned, but I might as well
> announce now:
>
> I have a set of 63 case-insensitive collation drivers at
> http://www.brookstonesystems.com Currently in beta, but I should be
> final (for Windows) early next week. (Just want to get some more
> beta feedback -- HINT!)
>
> Oh, and John --
> - You need to change the tertiary orders to zero
> - Some drivers need to change the secondary order to zero as
> well (if you plan to assert that a == b whenever upper(a)==upper(b))
> - There's a couple bugs in the Interbase drivers (sorry, I wrote
> them 8 years ago <grin>) - for instance, some of the drivers
> think that <superscript-1> is a case varient of <digit 1>.
>
> How to assign numbers is documented in the InterBase collation driver
> construction kit documents. There should be a copy under the
> InterBase.com tree somewhere, but there is also a copy at
> www.brookstonesystems.com.
>
> AND VERY IMPORTANT: The final v6 has two problems
> a) When the licensing code was removed, someone was over active with
> the delete key and changed the definition of the texttype struct. So
> the instructions in the kit are wrong
> b) final V6 will not load gdsintl2 - it's looking in the wrong places
> for it.
>
> I know how to fix both a) and b) -- and will put fixes out once the
> CVS source trees settle themselves down (um, and can make a build
> myself!)
>
> I worked around the problems above in ibCollate at
> www.brookstonesystems.com
>
> Dave
>
>
>
> --- In IB-Architect@egroups.com, "John Lim" <johnlim@n...> wrote:
> > Hello everyone,
> >
> > I have downloaded the interbase 6 source code and am interested in
> > creating a case-insensitive collation set for Latin-1. Somebody
> > mentioned in another newsgroup (i think it was Claudio) that
> someone
> > else is doing it, but I see no signs of this!
> >
> > My general plan is to modify the collation tables to make A == a.
> It
> > appears that I have to change the tertiary sort order which seems
> > simple enough.
> >
> >
> > My problems are
> >
> > 1. how to compile and generate a new gdsintl2 shared library?
> >
> > There is an article posted in interbase.com about
> > http://www.interbase.com/open/research/art_collation_kit.html, but
> I
> > cannot find any stuff on this in the interbase/intl directory.
> There
> > is no mention of "gdsintl2" in that directory.
> >
> > 2. And what the new character set id should be?
> >
> > I am thinking of using 121 as the CHARACTER_SET_ID because 21 is
> > ISO8859_1. Is there any standardisation of numbers to use?
> >
> >
> > --John
>
>
>
>
> To unsubscribe from this group, send an email to:
> IB-Architect-unsubscribe@onelist.com
>
>
>
>