Cool. Thanks! Let me know if I can help. Satheesh
Shreyas Kaushik wrote: > I will start looking at this. I volunteer ;-) > > ~ Shreyas > > Satheesh Bandaram wrote: > >> Looks like this bug has all the information needed to reproduce and >> to generate a patch. Is there any interest to submit a patch for this >> relatively easy fix? A complete patch would include a fix, along the >> general idea provided here and a test case added to jdbcapi test >> suite. Good opportunity for anyone wanting to get started modifying >> Derby code. Any volunteers? :-) >> >> I am willing to help, if needed. >> >> Satheesh >> >> Mamta A. Satoor (JIRA) wrote: >> >>> [ >>> http://issues.apache.org/jira/browse/DERBY-229?page=comments#action_63128 >>> ] >>> Mamta A. Satoor commented on DERBY-229: >>> --------------------------------------- >>> >>> The getter [updater] methods with column names (in >>> EmbedResultSet.java) use the protected method findColumnName(String >>> columnName) to determine the column index for the passed column >>> name. And the loop for the lookup starts from the end towards the >>> beginning of the ResultDescription and that seems to be the problem >>> behind the current behavior. ResultDescription rd = >>> resultDescription; >>> >>> // 1 or 0 based? assume 1 (probably wrong) >>> for (int i=rd.getColumnCount(); i>=1; i--) { >>> >>> String name = rd.getColumnDescriptor(i).getName(); >>> if (StringUtil.SQLEqualsIgnoreCase(columnName, name)) { >>> return i; >>> } >>> } >>> >>> >>> >>> >>>> Column names on ResultSet.updateXXX and getXXX methods are handled >>>> incorrectly >>>> ------------------------------------------------------------------------------ >>>> >>>> >>>> Key: DERBY-229 >>>> URL: http://issues.apache.org/jira/browse/DERBY-229 >>>> Project: Derby >>>> Type: Bug >>>> Components: JDBC >>>> Versions: 10.1.0.0, 10.0.2.1 >>>> Reporter: Daniel John Debrunner >>>> Attachments: x.java >>>> >>>> Sections 14.2.3 and [14.2.3] of JDBC 3.0 spec say >>>> Column names supplied to getter [updater] methods are case >>>> insensitive. If a select list >>>> contains the same column more than once, the first instance of the >>>> column will be >>>> returned [updated]. >>>> Derby returns or updates the last column in the select list, not >>>> the first. With the attached Java class I see >>>> PRE-UPDATE >>>> 1,100 >>>> POST-UPDATE >>>> 1,500 >>>> POST-UPDATE getXXX(name) >>>> AB:500,ab500 >>>> >>> >>> >>> >>> > > >
