[ 
https://issues.apache.org/jira/browse/DBUTILS-34?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12672554#action_12672554
 ] 

Julien Aymé commented on DBUTILS-34:
------------------------------------

Hello, thanks for applying the patch! :-)

I'd like to add some minor modifications:
We should consider making the field lowerCaseMap final (I think that this is a 
Good Practice TM);

and for the putAll method, I should have used the entrySet instead of the 
keySet:
{code}
        public void putAll(Map m) {
            Iterator iter = m.entrySet().iterator();
            while (iter.hasNext()) {
                Map.Entry entry = (Map.Entry) iter.next();
                Object key = entry.getKey();
                Object value = entry.getValue();
                this.put(key, value);
            }
        }
{code}

> BasicRowProcessor loses any information on database field case
> --------------------------------------------------------------
>
>                 Key: DBUTILS-34
>                 URL: https://issues.apache.org/jira/browse/DBUTILS-34
>             Project: Commons DbUtils
>          Issue Type: Improvement
>    Affects Versions: 1.0
>            Reporter: Fabio Insaccanebbia
>            Priority: Minor
>         Attachments: BasicRowProcessor.java, BasicRowProcessor.patch
>
>
> In the BasicRowProcessor class there is a comment about the toMap method:
> " This  implementation returns a <code>Map</code> with case insensitive 
> column names as keys.  Calls to map.get("COL") and map.get("col") return the 
> same value"
> So the "contract" of this method just says that the "get" method is case 
> insensitive. The current implementation obtains this result by putting all 
> the keys in lowercase. This way we simply "lose" every information about the 
> case of the fields. If you call the "keys" iterator, you don't have anymore 
> the keys you inserted, but the "lowercase" version. 
> I find it not completely correct: I would expect the keys to be exactly the 
> ones I set on the database, also if I can get the value in a case insensitive 
> way.
> I still have to find the idea for a pathc, but I'd like to know if you find 
> my reasoning correct.
> I consider the current behaviour a problem, since I had to map the database 
> fields to a bean and the "case" made it impossible, even if I had set my 
> database to return mixed case fieldnames.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to