[
https://issues.apache.org/jira/browse/CALCITE-1667?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15893380#comment-15893380
]
Julian Hyde commented on CALCITE-1667:
--------------------------------------
I can reproduce it. Running with the command
{code}
MAVEN_OPTS="$MAVEN_OPTS -Duser.language=tr -Duser.country=TR" mvn clean test
{code}
you get 106 failures and 1310 errors. The solution is to use
{{String.toLowerCase(Locale)}} and {{String.toUpperCase(Locale)}} rather than
{{String.toLowerCase()}} and {{String.toUpperCase()}}.
I suggest we go further, and use the
[forbidden-apis|https://github.com/policeman-tools/forbidden-apis] maven
plugin. It will identify all places where we call JDK methods that use the
JVM's locale, time zone or character set. This is basically what you want if
you are writing a server. Apache Lucene already uses it; see LUCENE-4753.
We will need to fix Avatica also; Avatica's {{ConnectionConfigImpl.parse}}
calls {{String.toUpperCase}}, and this may prevent connect-string properties
from being recognized in both Calcite and Avatica.
> Ensure that Turkish locale works with Calcite and Avatica
> ---------------------------------------------------------
>
> Key: CALCITE-1667
> URL: https://issues.apache.org/jira/browse/CALCITE-1667
> Project: Calcite
> Issue Type: Bug
> Components: avatica, core
> Reporter: Kevin Risden
>
> This was found with SOLR-8593. I can't seem to reproduce it with Calcite or
> Avatica. My steps to try to reproduce are posted in a comment below.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)