Re: !!***SPAM***!! Re: [firebird-support] Firebird V3RC2 Primary Key question

2016-04-08 Thread Thomas Steinmaurer t...@iblogmanager.com [firebird-support]
> 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
>


RE: !!***SPAM***!! Re: [firebird-support] Firebird V3RC2 Primary Key question

2016-04-08 Thread Ertan Küçükoğlu ertan.kucuko...@1nar.com.tr [firebird-support]
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.

 

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
-- 
Mark Rotteveel





[Non-text portions of this message have been removed]