Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 24002 invoked from network); 28 Sep 2007 21:13:15 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 28 Sep 2007 21:13:15 -0000 Received: (qmail 32928 invoked by uid 500); 28 Sep 2007 21:13:04 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 32897 invoked by uid 500); 28 Sep 2007 21:13:04 -0000 Mailing-List: contact derby-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: Delivered-To: mailing list derby-dev@db.apache.org Received: (qmail 32888 invoked by uid 99); 28 Sep 2007 21:13:04 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 28 Sep 2007 14:13:04 -0700 X-ASF-Spam-Status: No, hits=-98.8 required=10.0 tests=ALL_TRUSTED,DNS_FROM_DOB,RCVD_IN_DOB X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO brutus.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 28 Sep 2007 21:15:36 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 6D313714221 for ; Fri, 28 Sep 2007 14:12:51 -0700 (PDT) Message-ID: <23076856.1191013971444.JavaMail.jira@brutus> Date: Fri, 28 Sep 2007 14:12:51 -0700 (PDT) From: "Rick Hillegas (JIRA)" To: derby-dev@db.apache.org Subject: [jira] Commented: (DERBY-3069) Derby does not resolve functions bound to methods with varargs. In-Reply-To: <6425104.1189562012317.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ 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.