[ https://issues.apache.org/jira/browse/DERBY-3119?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rick Hillegas closed DERBY-3119. -------------------------------- > Derby does not resolve functions to methods with Integer return type. > --------------------------------------------------------------------- > > Key: DERBY-3119 > URL: https://issues.apache.org/jira/browse/DERBY-3119 > Project: Derby > Issue Type: Bug > Components: SQL > Affects Versions: 10.1.1.0, 10.1.2.1, 10.1.3.1, 10.2.1.6, 10.2.2.0, > 10.3.1.4 > Reporter: Rick Hillegas > Assignee: James F. Adams > Fix For: 10.3.2.1, 10.4.1.3 > > Attachments: DERBY-3119-10_3.diff, derby-3119-1_diff.txt > > > Derby can bind a function invocation to a method which returns int but not to > a method which returns Integer. I think that both of these resolutions should > succeed given the rules in the SQL Standard, part 13, section 8.6, syntax > rule 5, case a, item ii. Here is some code which shows this problem. First a > class to declare the methods: > public class zz > { > public static int returnsInt() > { > return 1; > } > > public static Integer returnsInteger() > { > return new Integer( 2 ); > } > > } > The following ij script shows that the int-returning method is resolved but > not the Integer-returning method: > ij version 10.4 > ij> connect 'jdbc:derby:derby10.4;create=true'; > WARNING 01J01: Database 'derby10.4' not created, connection made to existing > database instead. > ij> drop function returnsInt; > 0 rows inserted/updated/deleted > ij> drop function returnsInteger; > 0 rows inserted/updated/deleted > ij> create function returnsInt() > returns int > language java > parameter style java > no sql > external name 'zz.returnsInt' > ; > 0 rows inserted/updated/deleted > ij> create function returnsInteger() > returns int > language java > parameter style java > no sql > external name 'zz.returnsInteger' > ; > 0 rows inserted/updated/deleted > ij> values ( returnsInt() ); > 1 > ----------- > 1 > 1 row selected > ij> values ( returnsInteger() ); > ERROR 42X50: No method was found that matched the method call int > zz.returnsInteger(), tried all combinations of object and primitive types and > any possible type conversion for any parameters the method call may have. > The method might exist but it is not public and/or static, or the parameter > types are not method invocation convertible. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.