Hello,

I need to sort umlauts in its expanded expression (ae, oe, ue), thus I thought 
to define my own collation based on DE_DE, but this does not seem to work. 
Perhaps it is not supported anyway that way.

Test case:

create collation de_de_expansion for iso8859_1 from de_de 
'DISABLE-EXPANSIONS=0';

CREATE TABLE T1 
(
  VC1_DE_DE                        VARCHAR(    20) NOT NULL COLLATE DE_DE,
  VC2_DE_DE_EXPANSION              VARCHAR(    20) NOT NULL COLLATE 
DE_DE_EXPANSION,
 CONSTRAINT PK_T1 PRIMARY KEY (VC1_DE_DE)
);
SET TERM ^^ ;
CREATE TRIGGER T1_DUPLICATE FOR T1 ACTIVE BEFORE INSERT OR UPDATE POSITION 0 AS
begin
  NEW.VC2_DE_DE_EXPANSION = NEW.VC1_DE_DE;
end ^^
SET TERM ; ^^


commit;


/*
  T1
  --
  Exporting all rows
*/
INSERT INTO T1 (VC1_DE_DE, VC2_DE_DE_EXPANSION) VALUES ('a', 'a');
INSERT INTO T1 (VC1_DE_DE, VC2_DE_DE_EXPANSION) VALUES ('ä', 'ä');
INSERT INTO T1 (VC1_DE_DE, VC2_DE_DE_EXPANSION) VALUES ('aa', 'aa');
INSERT INTO T1 (VC1_DE_DE, VC2_DE_DE_EXPANSION) VALUES ('ab', 'ab');
INSERT INTO T1 (VC1_DE_DE, VC2_DE_DE_EXPANSION) VALUES ('ac', 'ac');
INSERT INTO T1 (VC1_DE_DE, VC2_DE_DE_EXPANSION) VALUES ('ad', 'ad');
INSERT INTO T1 (VC1_DE_DE, VC2_DE_DE_EXPANSION) VALUES ('aea', 'aea');
INSERT INTO T1 (VC1_DE_DE, VC2_DE_DE_EXPANSION) VALUES ('aeb', 'aeb');
INSERT INTO T1 (VC1_DE_DE, VC2_DE_DE_EXPANSION) VALUES ('aec', 'aec');
INSERT INTO T1 (VC1_DE_DE, VC2_DE_DE_EXPANSION) VALUES ('aed', 'aed');
INSERT INTO T1 (VC1_DE_DE, VC2_DE_DE_EXPANSION) VALUES ('aee', 'aee');
INSERT INTO T1 (VC1_DE_DE, VC2_DE_DE_EXPANSION) VALUES ('aef', 'aef');
INSERT INTO T1 (VC1_DE_DE, VC2_DE_DE_EXPANSION) VALUES ('af', 'af');
INSERT INTO T1 (VC1_DE_DE, VC2_DE_DE_EXPANSION) VALUES ('ag', 'ag');
INSERT INTO T1 (VC1_DE_DE, VC2_DE_DE_EXPANSION) VALUES ('b', 'b');
INSERT INTO T1 (VC1_DE_DE, VC2_DE_DE_EXPANSION) VALUES ('z', 'z');
/* 16 row(s) exported */

commit;


If I query:

select VC2_DE_DE_EXPANSION from t1 order by VC2_DE_DE_EXPANSION;


I get 'ä' directly after 'a' instead of before 'aea':

VC2_DE_DE_EXPANSION 
--------------------
a                   
ä                   
aa                  
ab                  
ac                  
ad                  
aea                 
aeb                 
aec                 
aed                 
aee                 
aef                 
af                  
ag                  
b                   
z                   


Am I doing something wrong or is this not supported?

I'm using Firebird 3 but perhaps this also applies to V2.


Thanks,
Thomas

------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to