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.

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: 10.0.2.0, 10.0.2.1, 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: Rick Hillegas
>         Attachments: derby-3069-01-varargs-aa.diff, derby-3069-01-varargs-ab.diff, z.java,
z.sql
>
>
> 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.


Mime
View raw message