Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 56154 invoked from network); 10 Feb 2006 17:24:07 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 10 Feb 2006 17:24:07 -0000 Received: (qmail 70137 invoked by uid 500); 10 Feb 2006 17:24:05 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 70096 invoked by uid 500); 10 Feb 2006 17:24:05 -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 70087 invoked by uid 99); 10 Feb 2006 17:24:05 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 10 Feb 2006 09:24:05 -0800 X-ASF-Spam-Status: No, hits=1.9 required=10.0 tests=DNS_FROM_RFC_ABUSE,DNS_FROM_RFC_POST X-Spam-Check-By: apache.org Received-SPF: neutral (asf.osuosl.org: local policy) Received: from [32.97.182.143] (HELO e3.ny.us.ibm.com) (32.97.182.143) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 10 Feb 2006 09:24:04 -0800 Received: from d01relay04.pok.ibm.com (d01relay04.pok.ibm.com [9.56.227.236]) by e3.ny.us.ibm.com (8.12.11/8.12.11) with ESMTP id k1AHNhL4009190 for ; Fri, 10 Feb 2006 12:23:43 -0500 Received: from d01av03.pok.ibm.com (d01av03.pok.ibm.com [9.56.224.217]) by d01relay04.pok.ibm.com (8.12.10/NCO/VERS6.8) with ESMTP id k1AHNhkP168342 for ; Fri, 10 Feb 2006 12:23:43 -0500 Received: from d01av03.pok.ibm.com (loopback [127.0.0.1]) by d01av03.pok.ibm.com (8.12.11/8.13.3) with ESMTP id k1AHNh0j026154 for ; Fri, 10 Feb 2006 12:23:43 -0500 Received: from [127.0.0.1] (sig-9-48-123-150.mts.ibm.com [9.48.123.150]) by d01av03.pok.ibm.com (8.12.11/8.12.11) with ESMTP id k1AHNfph026080 for ; Fri, 10 Feb 2006 12:23:42 -0500 Message-ID: <43ECCC1B.9030104@sbcglobal.net> Date: Fri, 10 Feb 2006 09:23:39 -0800 From: Mike Matrigali Reply-To: mikem_app@sbcglobal.net User-Agent: Mozilla Thunderbird 1.0 (Windows/20041206) X-Accept-Language: en-us, en MIME-Version: 1.0 To: derby-dev@db.apache.org Subject: Re: Derby regression/compatibility References: <43EBC409.9080106@sbcglobal.net> <43EBD2FE.3040407@sun.com> <43EBD6A7.9010107@sbcglobal.net> <43EBEE07.9090008@sun.com> <43EC147E.7010209@apache.org> <43EC1CC4.2030207@sbcglobal.net> <43EC213F.3070503@sun.com> In-Reply-To: <43EC213F.3070503@sun.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed 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 I would argue that the log file format and data file format are not interfaces we guarantee. What we guarantee is that on upgrade the new database will be able to access the data in those files. There is no support for user direct access to those files. I believe we should also not be guaranteeing the system table interfaces. The supported interface should be jdbc metadata. David W. Van Couvering wrote: > > > Kathey Marsden wrote: > [snip] > >> >> Would sticky issues like ability to mix jar versions, maintaining >> existing jar file names, conforming to exisiting documented security >> permissions for existing behaviour and ensuring jar file growth is >> commesurate with functionality improvement fall into this category? > > > I think of jar file names as an interface, but the others as signs of a > regression in functionality. And yes, we should identify the stability > we guarantee for file names. Other file names are the log file name > ("derby.log"), the > > File formats are also interfaces, such as the message log file format, > the database file format, and the transaction log file format. > > The other things you mention don't seem like interfaces but are measures > for whether the product has regressed in some way. > >> >> Also, there are gray areas >> . >> - Changes to things like error codes, sqlstates and system tables. > > > These are interfaces, but since they're not documented, the should be > considered "internal" and those no stability is guaranteed. > >> - Changes to make client match embedded for implementation defined >> behaviour. > > > Well, that's an interesting one. The trick is as you do this, you may > be changing the client interface in incompatible ways, even if you get > better consistency across the two versions. > >> >> I think here common sense and sensitivity to users has to guide us as >> to when a change is acceptable or a lot of advance notification to the >> user community is needed. Changing SQLStates from null to something >> useful probably does not need much advance notification to the user >> community, just documentation is sufficient. Changing the error codes >> to match embedded probably requires significant prior notification. >> > > Agreed > >> I think the 10.1 tests are a good way to try to understand the impact >> changes might have on existing applications. >> I've started to think maybe instead of strictly checking for behaviour >> depending on server version we should just change them all to work with >> 10.1, 10.2 and future versions like we ask our users to do with their >> applications. If nothing else, it would make for good sensitivity >> training. >> > > I agree, but we should treat incompatibilities with different levels of > severity depending upon our guarantees of stability we document > (initially in the Wiki page, but ultimately I'd like to see this made > available as part of our overall documentation). > > By the way, we at Sun have to provide this kind of documentation to our > own internal architectural review committee. We have to guarantee > stability even if Derby can not, so that other projects can safely > depend on us. Having something like this for Derby would be very > reassuring for *our* customers I can tell you that. > > David > >> >>> If this seems like a good list I'll create a wiki page. >>> >>> >>> >> >> Thanks Dan! >> >>