Subject Strange behaviour with Collate DE_DE
Author guido.klapperich@t-online.de
I'm using Firebird 1 and it seems, that the Collation DE_DE doesn't work
correctly. Here's the test-scenario:

CREATE TABLE TEST (
SORT_DE VARCHAR(10) CHARACTER SET ISO8859_1 COLLATE DE_DE,
SORT_ISO VARCHAR(10) CHARACTER SET ISO8859_1 COLLATE ISO8859_1
);

INSERT INTO TEST (SORT_DE,SORT_ISO) VALUES (',',',');
INSERT INTO TEST (SORT_DE,SORT_ISO) VALUES ('A','A');
INSERT INTO TEST (SORT_DE,SORT_ISO) VALUES (',A',',A');
INSERT INTO TEST (SORT_DE,SORT_ISO) VALUES ('A,','A,');
INSERT INTO TEST (SORT_DE,SORT_ISO) VALUES ('GA','GA');
INSERT INTO TEST (SORT_DE,SORT_ISO) VALUES ('G,A','G,A');
INSERT INTO TEST (SORT_DE,SORT_ISO) VALUES ('GA,','GA,');

select * from TEST order by SORT_ISO asc
The result is:
SORT_DE SORT_ISO
-------------------------
, ,
,A ,A
A A
A, A,
G,A G,A
GA GA
GA, GA,

This result is correct. Now run the following select-statement
select * from TEST order by SORT_DE asc
The result is:
SORT_DE SORT_ISO
-------------------------
, ,
A A
,A ,A
A, A,
GA GA
G,A G,A
GA, GA,

This result is NOT correct. Am I doing something wrong, or is this an
error of DE_DE-Implementation ?


Guido