-
Notifications
You must be signed in to change notification settings - Fork 38.8k
Description
Abdurrahman Sahin opened SPR-7658 and commented
There is a lower case conversion in the following function of CallMetaDataContext.
I think lower case conversion is unnecassary or should be revised.
I have Oracle 10g+Tomcat 6 + JDK 6.0.12 environment
Oracle database NLS_LANG is Turkish_Turkey
Regional Settings is set to Turkey.
by default oracle db keeps object names in uppercase.
a procedure parameter named INSTITUTION is converted to "ınstıtutıon" (please note there isn't dot ) by CallMetaDataContext, then procedure call with parameter name "ınstıtutıon" fails, since parameter named "ınstıtutıon" is not found.
The whole problem is caused by ignoring following Turkish case conversion rule.
The turkish letter "I" is represended in lower case as "ı" (without dot)
The turkish letter "İ" (with dot above) is represended in lower case as "i" (with dot)
The turkish letter "I" and "İ" are not the same.
The turkish letter "ı" and "i" are not the same.
As a sequence I think case conversion should not be done for parameter matching.
public Map<String, Object> matchInParameterValuesWithCallParameters(Map<Strin g, Object> inParameters)
Affects: 2.5 final
Reference URL: http://forum.springsource.org/showthread.php?t=96819
Attachments:
- log.txt (3.20 kB)
- log2.txt (30.67 kB)
- reg_settings1.JPG (41.37 kB)