Uploaded image for project: 'MariaDB Connector/J'
  1. MariaDB Connector/J
  2. CONJ-574

Connector misses Columns when using a turkish locale

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • 2.2.1
    • 2.2.2, 1.7.2
    • metadata
    • None

    Description

      Introduction:
      Some languages have special casing rules, most notoriously the turkish language.
      Example:

      "ID".loLowerCase(); // "id"
      Locale.setDefault(new Locale("tr")) // turkish client
      "ID".toLowerCase(); // "ıd" note the dottles i
      

      To get language independent casing one has to use something like this
      "ID".toLowerCase(Locale.ROOT)

      Connector Issue:
      ColoumnNameMap#getIndex uses getLowerCase().
      That means turkish people will not be able to access Coloumns like "ID", because mariaDb incorrectly maps them internally to "ıd" instead of "id".

      Workarounds: Dont use the letter i in your coloums or don't have turkish customers. So actually not really.

      Sugested fix: replace all Usages of toLowerCase() with toLowerCase(Locale.Root). Same technique applies to toUpperCase()

      Attachments

        Activity

          People

            diego dupin Diego Dupin
            Gösen Thorsten Goetzke
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.