[ 
https://issues.apache.org/jira/browse/DERBY-5959?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dag H. Wanvik updated DERBY-5959:
---------------------------------

              Urgency: Normal
    Affects Version/s: 10.5.1.1
                       10.5.2.0
                       10.5.3.0
                       10.6.1.0
                       10.6.2.1
                       10.7.1.1
                       10.8.1.2
                       10.8.2.2
                       10.8.3.0
                       10.9.1.0
               Labels: derby_triage10_11  (was: )

Triaged for 10.11. An issue back to introduction of territory based collation.
                
> Territory-based collation is not robust against changes in the collation rules
> ------------------------------------------------------------------------------
>
>                 Key: DERBY-5959
>                 URL: https://issues.apache.org/jira/browse/DERBY-5959
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.5.1.1, 10.5.2.0, 10.5.3.0, 10.6.1.0, 10.6.2.1, 
> 10.7.1.1, 10.8.1.2, 10.8.2.2, 10.8.3.0, 10.9.1.0, 10.10.1.1
>            Reporter: Knut Anders Hatlen
>              Labels: derby_triage10_11
>
> When accessing a database with territory-based collation, Derby will use the 
> collation rules of the collator returned by 
> Collator.getInstance(databaseLocale). However, there is no guarantee that 
> those rules are consistent across different JVM vendors and versions. This 
> means that the ordering could vary, and inconsistencies could sneak into the 
> indexes.
> One example is that Oracle's JDK changed the collation rules for Turkish 
> between Java 5 and Java 6, so if you run the following script
> connect 
> 'jdbc:derby:memory:db;territory=tr_TR;collation=TERRITORY_BASED;create=true';
> create table t(c char(2));
> insert into t values 'ıa', 'Ia', 'ia', 'İa', 'ıb', 'Ib', 'ib', 'İb';
> select * from t order by c;
> you'll get different results on Java 5 and on Java 6 and later.
> Java 5 will order the results like this:
> ij> select * from t order by c;
> C   
> ----
> ıa  
> Ia  
> ia  
> İa  
> ıb  
> Ib  
> ib  
> İb  
> 8 rows selected
> Java 6 and later order them like this like this:
> ij> select * from t order by c;
> C   
> ----
> ıa  
> Ia  
> ıb  
> Ib  
> ia  
> İa  
> ib  
> İb  
> 8 rows selected

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to