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

Rick Hillegas commented on DERBY-3069:
--------------------------------------

Let's figure out what a functional spec for this would look like. I think that 
we have to start out assuming that Derby implements the relevant rules in 
Section 8.6. Given that, I think that a functional spec would consist of 
describing the delta from those rules needed to support varargs. Does that 
sound useful and adequate to you?

In describing a delta, I think that the crucial terms in 8.6 are JPDL and JCS. 
JPDL is the Java Parameter Datatype List, determined by applying earlier rules 
to the SQL datatypes of the routine invocation. JCS is the set of candidate 
methods which the rules consider as possible resolutions of the routine 
invocation. At the end of the process, there should be exactly 1 method in JCS. 
I do not believe that varargs change the definition of JPDL. However, I believe 
that varargs can add more candidate methods to JCS. So I believe it is that 
delta to JCS which must be described. Again, does that sound correct to you?

It is easy for me to get lost in section 8.6. However, I think that the 
relevant part of that section is Rule 3, case b, step 4, case 1. I think that 
is the subsection which describes how to construct JCS for Derby's SQL invoked 
routines. Do you agree?

> 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.

Reply via email to