db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel John Debrunner (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-3069) Derby does not resolve functions bound to methods with varargs.
Date Fri, 28 Sep 2007 17:20:50 GMT

    [ https://issues.apache.org/jira/browse/DERBY-3069?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12531092

Daniel John Debrunner commented on DERBY-3069:

>> 2) If the Derby engine is running on Java 5 or later, then the
>> resolution rules are the OldRules with the following change: The SQL
>> Standard, part 13, section 8.6, refers to the resolution rules
>> described in The Java Language Specification, Second Edition. Replace
>> that with a reference to the resolution rules in The Java Language
>> Specification, Third Edition.

> I think we should allow ourselves to regard the standard's intent
> rather than letter here: JAVA PARAMETER STYLE should be allowed to
> resolve to varargs when running on Java 5 or later, since this is a
> now a part of Java. (As well as for DERBY_JDBC_RESULT_SET).

I think we need to be very careful here. Section 8.6 SR 3b case 2)  B II is the section that
mentions the java language specification and it does *not* apply to Derby's Java routines
(SQL invoked routines). 

SQL resolution of SQL invoked routines to Java static methods does *not* not follow Java rules,
thus one cannot rely on that to justify that varargs can be resolved to because Java supports

It would be really helpful if a functional spec was written indicating when & how varargs
resolution will  be used and when it will not.

> Derby does not resolve functions bound to methods with varargs.
> ---------------------------------------------------------------
>                 Key: DERBY-3069
>                 URL: https://issues.apache.org/jira/browse/DERBY-3069
>             Project: Derby
>          Issue Type: Improvement
>          Components: SQL
>    Affects Versions:,,,,,,,
>            Reporter: Rick Hillegas
>            Assignee: Rick Hillegas
>         Attachments: derby-3069-01-varargs-aa.diff, derby-3069-01-varargs-ab.diff, z.java,
> Varargs were added in Java 5. It would be nice if Derby let you invoke a function bound
to a method with a variable length argument list. The Reference Guide states a small number
of restrictions for methods which can be invoked as Derby functions: They must be public,
static, and not have arguments which are long datatypes. I see no reason that Derby shouldn't
be able to resolve and invoke functions which are bound to methods which don't suffer these
limitations but which have variable argument lists.

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

View raw message