Subject | Re: !!***SPAM***!! Re: [firebird-support] Firebird V3RC2 Primary Key question |
---|---|
Author | Thomas Steinmaurer |
Post date | 2016-04-08T18:38:15Z |
> Thanks for instructions. It does work.http://www.firebirdsql.org/refdocs/langrefupd25-ddl-charset.html
>
>
>
> Is there a way to use created case insensitive collation as database wide default? It would be easier for me not to specify collation for each and every index definition.
This does not affect existing character fields though.
--
With regards,
Thomas Steinmaurer
http://www.upscene.com/
Professional Tools and Services for Firebird
FB TraceManager, IB LogManager, Database Health Check, Tuning etc.
>
>
>
> Thanks.
>
>
>
> From: firebird-support@yahoogroups.com [mailto:firebird-support@yahoogroups.com]
> Sent: Friday, April 8, 2016 10:36 AM
> To: firebird-support@yahoogroups.com
> Subject: !!***SPAM***!! Re: [firebird-support] Firebird V3RC2 Primary Key question
>
>
>
>
>
> On 7-4-2016 23:01, Ertan Küçükoğlu ertan.kucukoglu@...
> [firebird-support] wrote:
>> Would you be so kind to provide an example SQL which shows how to do
>> primary key with a case insensitive collation?
>
> 1. Register the WIN1254_UNICODE collation (it is defined in fbintl.conf,
> but not included by default in Firebird):
>
> create collation WIN1254_UNICODE for win1254
>
> 2. Derive a case insensitive collation from WIN1254_UNICODE:
>
> create collation win1254_ci for win1254 from win1254_unicode case
> insensitive
>
> 3. Create table
>
> create table win1254test (
> stringkey varchar(30) character set win1254 primary key collate
> win1254_ci
> )
>
> 4. Test it:
>
> INSERT INTO win1254test(stringkey) VALUES('EK'); -- succeeds
> INSERT INTO win1254test(stringkey) VALUES('ek'); -- fails
> INSERT INTO win1254test(stringkey) VALUES('Ek'); -- fails
> INSERT INTO win1254test(stringkey) VALUES('eK'); -- fails
>
> I hope this helps,
> Mark
>