Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
2.2.1
-
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
Field | Original Value | New Value |
---|---|---|
Fix Version/s | 2.2.2 [ 22920 ] | |
Fix Version/s | 1.7.2 [ 22921 ] |
issue.field.resolutiondate | 2018-01-31 14:31:54.0 | 2018-01-31 14:31:54.105 |
Component/s | metadata [ 14002 ] | |
Resolution | Fixed [ 1 ] | |
Status | Open [ 1 ] | Closed [ 6 ] |
Summary | Connector misses Colomns when using a turkish locale | Connector misses Columns when using a turkish locale |
Workflow | MariaDB v3 [ 85197 ] | MariaDB v4 [ 135049 ] |
right ! this has been added in next corrective release