Subject | Re: Creating a case-insensitive collation set |
---|---|
Author | David Schnepper |
Post date | 2000-08-01T15:49:26Z |
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
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