Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 26196 invoked from network); 5 Aug 2005 03:38:54 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 5 Aug 2005 03:38:54 -0000 Received: (qmail 98735 invoked by uid 500); 5 Aug 2005 03:38:52 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 98709 invoked by uid 500); 5 Aug 2005 03:38:52 -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: "Derby Development" Delivered-To: mailing list derby-dev@db.apache.org Received: (qmail 98696 invoked by uid 99); 5 Aug 2005 03:38:52 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 04 Aug 2005 20:38:52 -0700 X-ASF-Spam-Status: No, hits=0.4 required=10.0 tests=SPF_HELO_FAIL X-Spam-Check-By: apache.org Received-SPF: neutral (asf.osuosl.org: local policy) Received: from [32.97.110.133] (HELO e35.co.us.ibm.com) (32.97.110.133) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 04 Aug 2005 20:38:42 -0700 Received: from westrelay02.boulder.ibm.com (westrelay02.boulder.ibm.com [9.17.195.11]) by e35.co.us.ibm.com (8.12.10/8.12.9) with ESMTP id j753ceWY355316 for ; Thu, 4 Aug 2005 23:38:45 -0400 Received: from d03av01.boulder.ibm.com (d03av01.boulder.ibm.com [9.17.195.167]) by westrelay02.boulder.ibm.com (8.12.10/NCO/VERS6.7) with ESMTP id j753cYtq221238 for ; Thu, 4 Aug 2005 21:38:34 -0600 Received: from d03av01.boulder.ibm.com (loopback [127.0.0.1]) by d03av01.boulder.ibm.com (8.12.11/8.13.3) with ESMTP id j753cdKf027814 for ; Thu, 4 Aug 2005 21:38:39 -0600 Received: from [127.0.0.1] (sig-9-48-110-189.mts.ibm.com [9.48.110.189]) by d03av01.boulder.ibm.com (8.12.11/8.12.11) with ESMTP id j753cbIA027786 for ; Thu, 4 Aug 2005 21:38:38 -0600 Message-ID: <42F2DF0E.6030409@debrunners.com> Date: Thu, 04 Aug 2005 20:37:50 -0700 From: Daniel John Debrunner User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.3) Gecko/20040910 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Derby Development Subject: Re: jdbc4.0 implementation plan References: <42F2DD06.5040305@Sun.COM> In-Reply-To: <42F2DD06.5040305@Sun.COM> X-Enigmail-Version: 0.90.0.0 X-Enigmail-Supports: pgp-inline, pgp-mime Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N V Narayanan wrote: > Queries > ------- > > 1) we observed that in the current build we have support for > JDBC2.0 and JDBC3.0 within the same package viz. > org.apache.derby.impl.jdbc (e.g EmbedPreparedStatement30 extends > EmbedPreparedStatement20 inside the same package). > > we had decided on a seperate package because we thought this would > result in a cleaner build. would this be the best approach or should it >> be part of the same package? Derby (as Cloudscape) used to have the different jdbc drivers in different packages. The trouble with this approach is that is begins to force implementation classes and methods to be public, so they can be called from all drivers. Since these classes are returned to applications, these methods can then be called by applications, potentially leading to security issues. Keeping the classes in the same package allows the members to be package protected which are a lot easier to be protect from malicious use. I'm not saying Derby's perfect in this area now, in fact I'm spending some time looking at these issues. So I would recommend continuing the use of a single package, unless there's a good reason for a separate one. The build system handles separate builds in the same package, so that's not an issue. Dan.