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