Navigation Menu

Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Standarize ES_ES_CI_AI collation [CORE1178] #1603

Closed
firebird-automations opened this issue Mar 26, 2007 · 7 comments
Closed

Standarize ES_ES_CI_AI collation [CORE1178] #1603

firebird-automations opened this issue Mar 26, 2007 · 7 comments

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: Jorge Andres Brugger (jbrugger)

Attachments:
iso8859-1_vs_utf8_when_adding_into_PK_field_values_with_letter_and_non_alphanum_chars.zip

Votes: 5

ES_ES_CI_AI Collation, as defined in 2.0/2.0.1, is not consistent with other Firebird CI_AI collations nor other engines CI_AI collations (I?ve tested SQL Server and MySQL).

Most troubles are related with the symbols management logic of actual ES_ES_CI_AI FB 2.0 collation. For example, It allow to put just one of the following values if a Unique or PK is defined: 'A', 'A.', '.A', '-A-', ' A', 'A...', or any other combination of A and any number of symbols (not letters nor numbers), placed before or after the 'A'.

I suggest to standardize symbol collation logic according to pt_br, for example.

I know there is planned a 2.1 feature to create any collation with specific behaviour, but I think actual collation should be standardized.

Commits: 93df6a4

====== Test Details ======

*** TODO *** Implement after get explanation on issue '18/May/15 08:14 PM'.
See also other tickets related to collation ES_ES_CI_AI: CORE1384, CORE2361, CORE1172, CORE1174

@firebird-automations
Copy link
Collaborator Author

Modified by: @asfernandes

status: Open [ 1 ] => Resolved [ 5 ]

resolution: Fixed [ 1 ]

Fix Version: 2.1.0 [ 10041 ]

assignee: Adriano dos Santos Fernandes [ asfernandes ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @asfernandes

Fix Version: 2.1 Beta 1 [ 10141 ]

Fix Version: 2.1.0 [ 10041 ] =>

@firebird-automations
Copy link
Collaborator Author

Modified by: @pcisar

status: Resolved [ 5 ] => Closed [ 6 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @pcisar

Workflow: jira [ 11712 ] => Firebird [ 15506 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @pavel-zotov

It seems that when we define PK/UK-field based on ISO8859-1 charset and assign to this field collation CI_AI than we have NO ability to insert into this field values described in the starting post.

For example, this script (encoded in ISO8859-1) will fail:

set names iso8859_1;
create database '. . .' default character set iso8859_1;
create collation coll_fr for iso8859_1 from external ('FR_FR') case insensitive accent insensitive;
recreate table test_es(s varchar(10) character set iso8859_1 constraint test_es_pk primary key using index test_es_pk collate coll_es);
insert into test_es values('ñ');
insert into test_es values('.ñ');
insert into test_es values('..ñ');
insert into test_es values('ñ.');
insert into test_es values('ñ..');

But it works OK if encoding is UTF8.

Please see attached .zip -- there are two pair of files:
1) `c1178-iso.sql` and `c1178-iso.log` -- script encoded in ISO8859-1 and its log;
2) `c1178-utf`.sql `c1178-utf.log` -- similar, encoded in UTF8.

Is it correct behaviour that tables in ISO script will contain only those values:

select * from test_es;
S

ñ
n --- BTW! Why this was allowed to be inserted if collation is CI_AI and we can see spanish letter 'n' with tilda above this ??

select * from test_fr;
S

à

select * from test_pt;
S

ê

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

Attachment: iso8859-1_vs_utf8_when_adding_into_PK_field_values_with_letter_and_non_alphanum_chars.zip [ 12748 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

status: Closed [ 6 ] => Closed [ 6 ]

QA Status: Not enough information

Test Details: *** TODO *** Implement after get explanation on issue '18/May/15 08:14 PM'.
See also other tickets related to collation ES_ES_CI_AI: CORE1384, CORE2361, CORE1172, CORE1174

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment