Subject RE: [IB-Architect] Re: Creating a case-insensitive collation set
Author Claudio Valderrama C.
Paul, you don't need that AFAIK.
At first glance, the solution is simpler:

select a from tbl
order by b collate clt

This is a valid syntax. Now, the only thing you need to do is replace "clt"
by the name of a case insensitive collation a la Schnepper. The same syntax
already exists for comparations and for grouping.

C.

> -----Original Message-----
> From: Paul Gallagher [mailto:paul@...]
> Sent: Martes 1 de Agosto de 2000 22:38
> To: IB-Architect@egroups.com
> Subject: Re: [IB-Architect] Re: Creating a case-insensitive collation
> set
>
>
> 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
> >
> >
> >
> >
>
>
> To unsubscribe from this group, send an email to:
> IB-Architect-unsubscribe@onelist.com
>
>
>