Subject RE: [Firebird-Architect] Re: [Firebird-admin] New INTL
Author Samofatov, Nickolay
Adriano,

> > You mean that if you are given collation name and charset from
> > RDB$COLLATIONS you want to try opening each installed INTL
> plugin and
> > see if it provides collation or not?
> > Yes, this may work. It would be ok to load all plugins from INTL
> > directory and use them.
> >
> Yes.

Ok, but I don't really like it.

> > Anyways, regarding this question I am more inclined to
> approach 1. For
> > tools and even users sometimes it is good to know which module this
> > particular charset or collation really comes from.
> > Charset/Collation name conflicts would be easier to resolve. For
> > example, Firebird user may end up in situation when he
> needs to use a
> > few small bits from two large INTL libraries which significantly
> > overlap.
> > Module names may be easily made unique by the user, but requiring
> > charset/collation names be globally unique may be a burden.
> >
> Engine should be able to load charsets with only charset name.

Why?

> This is necessary to open a database when the client is
> connecting with a charset different from the server OS
> charset/codepage.

When somebody attaches to database it has access to system tables before
any data is returned to the user. So it has opportunity to load right
charset driver from right module with right parameters.
Why the requirement then?

> And SQL 2003 remove ability to specify external file in
> CREATE COLLATION.

CREATE COLLATION definition of SQL 2003 is skeletal. My understanding is
that we are supposed to extend it the ways we wish.
BTW, note that collation name for "derived" collations may be different
from collation name used in INTL driver because the former is
user-defined.

> Adriano

Nickolay