> Thanks for instructions. It does work. > > > > 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.
http://www.firebirdsql.org/refdocs/langrefupd25-ddl-charset.html 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.kucuko...@1nar.com.tr > [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 >