Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 82390 invoked from network); 16 Aug 2005 22:32:28 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 16 Aug 2005 22:32:28 -0000 Received: (qmail 23797 invoked by uid 500); 16 Aug 2005 22:32:27 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 23555 invoked by uid 500); 16 Aug 2005 22:32:26 -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 23542 invoked by uid 99); 16 Aug 2005 22:32:26 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 16 Aug 2005 15:32:26 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [192.18.98.34] (HELO brmea-mail-3.sun.com) (192.18.98.34) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 16 Aug 2005 15:32:45 -0700 Received: from phys-mpk-1 ([129.146.11.81]) by brmea-mail-3.sun.com (8.12.10/8.12.9) with ESMTP id j7GMWOWR020406 for ; Tue, 16 Aug 2005 16:32:24 -0600 (MDT) Received: from conversion-daemon.mpk-mail1.sfbay.sun.com by mpk-mail1.sfbay.sun.com (iPlanet Messaging Server 5.2 HotFix 1.24 (built Dec 19 2003)) id <0ILC00G015OYCT@mpk-mail1.sfbay.sun.com> (original mail from David.Vancouvering@Sun.COM) for derby-dev@db.apache.org; Tue, 16 Aug 2005 15:32:24 -0700 (PDT) Received: from [129.150.29.168] (vpn-129-150-29-168.SFBay.Sun.COM [129.150.29.168]) by mpk-mail1.sfbay.sun.com (iPlanet Messaging Server 5.2 HotFix 1.24 (built Dec 19 2003)) with ESMTP id <0ILC00L3A6L869@mpk-mail1.sfbay.sun.com> for derby-dev@db.apache.org; Tue, 16 Aug 2005 15:31:56 -0700 (PDT) Date: Tue, 16 Aug 2005 15:31:56 -0700 From: David Van Couvering Subject: Re: sharing code between the client and server In-reply-to: <43026546.50602@sun.com> To: Derby Development Message-id: <4302695C.9050200@sun.com> MIME-version: 1.0 Content-type: multipart/mixed; boundary="Boundary_(ID_GhzSqMTWwhR+ckGm9iMwWw)" X-Accept-Language: en-us, en User-Agent: Mozilla Thunderbird 1.0.6 (Windows/20050716) References: <43026546.50602@sun.com> X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N This is a multi-part message in MIME format. --Boundary_(ID_GhzSqMTWwhR+ckGm9iMwWw) Content-type: text/plain; charset=ISO-8859-1; format=flowed Content-transfer-encoding: 7BIT You go, Rick! I think the edge case is going to bite you, though. I don't think you can wave your hands and say customers can just write a classloader to fix the problem. If I remember correctly, the motivation for the edge case was to allow different versions of the network driver and embedded driver running next to each other. I think this was motivated by some IBM customers. My questoin is: is the real motivation for compatibility between client and server? If so, it seems to me that what you really want is for a new version of the network client driver to be backward compatible with an older version of the server running elsewhere, or, vice-versa, a newer version of the server to be backward compatible with an older version of the client. This was managed at Sybase with the TDS protocol using a handshake at login time where the client and server agree at what version of the protocol to run at. Perhaps this is what we want to do here. If the motivation was something else, I'd like to understand it better. Dan D. was the main person who brought this up. Is Dan back yet? Thanks, David Rick Hillegas wrote: > When we last visited this issue (July 2005 thread named "Size of > common jar file"), we decided not to do anything until we had to. > Well, I would like to start writing/refactoring some small chunks of > network code for sharing by the client and server. My naive approach > would be to do the following. > > o Create a new fork in the source code: java/common. This would be > parallel to java/client and java/server. > > o This fork of the tree would hold sources in these packages: > org.apache.derby.common... > > o The build would compile this fork into > classes/org/apache/derby/common/... > > o The jar-building targets would be smart enough to include these > classes in derby.jar, derbyclient.jar, and derbytools.jar. > > As I recall, there was an edge case: including a derby.jar from one > release and a derbyclient.jar from another release in the same VM. I > think that a customer should expect problems if they mix and match jar > files from different releases put out by a vendor. It's an old > deficiency in the CLASSPATH model. With judicious use of ClassLoaders, > I think customers can hack around this edge case. > > I welcome your feedback. > > Cheers, > -Rick --Boundary_(ID_GhzSqMTWwhR+ckGm9iMwWw) Content-type: text/x-vcard; charset=utf-8; name=david.vancouvering.vcf Content-transfer-encoding: 7BIT Content-disposition: attachment; filename=david.vancouvering.vcf begin:vcard fn:David Van Couvering n:Van Couvering;David org:Sun Microsystems, Inc.;Database Technology Group email;internet:david.vancouvering@sun.com title:Senior Staff Software Engineer tel;work:510-550-6819 tel;cell:510-684-7281 x-mozilla-html:TRUE version:2.1 end:vcard --Boundary_(ID_GhzSqMTWwhR+ckGm9iMwWw)--