[ https://issues.apache.org/jira/browse/OPENJPA-2676?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mark Struberg resolved OPENJPA-2676. ------------------------------------ Resolution: Fixed Fix Version/s: 3.0.0 2.4.2 using Locale.ENGLISH for all sql spec related parts. I did NOT touch any code which works on attribute or table names or values as those might be locale specific. I'm closing this ticket for now as it surely improves the handling. For any further changes we would probably need to introduce a way to configure the locale which should be used for e.g. * attribute and table names * values But even that might theoretically be not enough as 1 table might store turkish text and another an english one. If you like to go down that rabbit hole then feel free to open a follow-up ticket which refers to this one. > openjpa relies on default locale > -------------------------------- > > Key: OPENJPA-2676 > URL: https://issues.apache.org/jira/browse/OPENJPA-2676 > Project: OpenJPA > Issue Type: Bug > Affects Versions: 2.4.1 > Reporter: Kaloyan Spiridonov > Assignee: Mark Struberg > Fix For: 2.4.2, 3.0.0 > > > In openjpa there are classes which is not using proper toLower()/toUpper(). > The issue is that if the server relies on the default locale and if the > process was started with some non English compatible locale such as Turkish, > toUpper/Lower will yield an incorrect result. For instance > "URI".toLowerCase() will result in "urı" instead of "uri". The same applies > to toUpperCase -> "uri".toUpperCase() will become "URİ" and checks like > "string.toUpperCase().equals(someConstant)" will fail. > Classes: > AbstractMetaDataDefaults:220 > ConfigurationImpl:842 > DBIdentifierUtilImpl:309 > JDBCConfigurationImpl:987 > JDBCStoreQuery:812,815,818,821,823 > OracleDictionary:794 > PersistenceMetaDataDefaults:243 > SQLFormatter:169 -- This message was sent by Atlassian JIRA (v6.3.4#6332)