Thanks for trackin these down, Dag.

So, I'm not sure how this works. We have made compatible changes in terms of the API, but incompatible in terms of the output, particularly of message strings. Is this considered a failure, and we are no longer backward-compatible?

I agree we want to be backward-compatible, but do we need to apply the same level of rigor to ij output format and error message strings as we do to APIs?

At Sun we have a mechanism for declaring the stability of each interface we present to users, where interfaces include but are not limited to:

- APIs
- command-line interface name and syntax
- stdout
- stderr
- error codes from command-line interfaces
- jar file names
- package names
- directory structure
- install location
- configuration file names
- configuration file syntax and format
- database file format
- transaction log file format
- error log file format

Each stability level implies a contract as to how and when an interface can change (generally: it can change at a major release, at a minor release, or at any time). Generally things like the API and CLI syntax have a higher stability guarantee than say stderr or the error log format.

I think it might be worth our while to put up a Wiki page and identify all our interfaces and the level of stability we want to have for them, so we know what we should be testing for in terms of compatibility between releases...

David

Dag H. Wanvik wrote:
Hi,


"Kathey" == Kathey Marsden <[EMAIL PROTECTED]> wrote:


Kathey> >Server: 10.1, Client: 10.2, derbyTesting.jar: 10.1
Kathey> >---------------------------------------------------------------------
Kathey> >jvms: jdk15, ibm142
Kathey> >
Kathey> > Test failures:
Kathey> 
>derbynetclientmats/derbynetmats/derbynetmats.fail:jdbcapi/dbMetaDataJdbc30.java
Kathey> >derbynetclientmats/derbynetmats/derbynetmats.fail:jdbcapi/metadata.java
Kathey> 
>derbynetclientmats/derbynetmats/derbynetmats.fail:jdbcapi/odbc_metadata.java
Kathey> >derbynetclientmats/derbynetmats/derbynetmats.fail:lang/forupdate.sql
Kathey> 
>derbynetclientmats/derbynetmats/derbynetmats.fail:lang/updatableResultSet.java
Kathey> 
>derbynetclientmats/derbynetmats/derbynetmats.fail:store/holdCursorJDBC30.sql
Kathey> >derbynetclientmats/derbynetmats/derbynetmats.fail:jdbcapi/LOBTest.java
Kathey> 
>derbynetclientmats/derbynetmats/derbynetmats.fail:jdbcapi/metadataJdbc20.java
Kathey> 
>derbynetclientmats/derbynetmats/derbynetmats.fail:jdbcapi/connectionJdbc20.java

I have run this mixed release scenario (details below) and checked the
results for:

        lang/forupdate.sql
lang/updatableResultSet.java.
In both cases, the differences are due to changes in the client, and
thus expected. The changes are reflected in the current (10.2) client
masters. Mostly, the diffs are changed exception messages, and in some
cases, SQLStates.

Dag

******* Start Suite: derbynetclientmats 2006-02-01 02:41:16 *******
------------------ Java Information ------------------
Java Version:    1.5.0_04
Java Vendor:     Sun Microsystems Inc.
Java home:       /usr/local/java/jdk1.5.0_04/jre
Java classpath:  
/home/dw136774/derby/trunk/jars/sane/derbyclient.jar:/home/dw136774/derby-10.1/db-derby-10.1.2.1-lib/lib/derby.jar:/home/dw136774/derby-10.1/db-derby-10.1.2.1-lib/lib/derbytools.jar:/home/dw136774/derby-10.1/db-derby-10.1.2.1-lib/lib/derbynet.jar:/home/dw136774/derby-10.1/db-derby-10.1.2.1-lib/lib/derbyTesting.jar:/home/dw136774/derby-10.1/db-derby-10.1.2.1-lib/lib/derbyLocale_de_DE.jar:/home/dw136774/derby-10.1/db-derby-10.1.2.1-lib/lib/derbyLocale_es.jar:/home/dw136774/derby-10.1/db-derby-10.1.2.1-lib/lib/derbyLocale_fr.jar:/home/dw136774/derby-10.1/db-derby-10.1.2.1-lib/lib/derbyLocale_it.jar:/home/dw136774/derby-10.1/db-derby-10.1.2.1-lib/lib/derbyLocale_ja_JP.jar:/home/dw136774/derby-10.1/db-derby-10.1.2.1-lib/lib/derbyLocale_ko_KR.jar:/home/dw136774/derby-10.1/db-derby-10.1.2.1-lib/lib/derbyLocale_pt_BR.jar:/home/dw136774/derby-10.1/db-derby-10.1.2.1-lib/lib/derbyLocale_zh_CN.jar:/home/dw136774/derby-10.1/db-derby-10.1.2.1-lib/lib/derbyLocale_zh_TW.j
ar:/home/dw136774/derby/trunk/tools/java/jakarta-oro-2.0.8.jar
OS name:         SunOS
OS architecture: x86
OS version:      5.10
Java user name:  dw136774
Java user home:  /home/dw136774
Java user dir:   /home/dw136774/derbytests/compat2
java.specification.name: Java Platform API Specification
java.specification.version: 1.5
--------- Derby Information --------
JRE - JDBC: J2SE 5.0 - JDBC 3.0
[/home/dw136774/derby/trunk/jars/sane/derbyclient.jar] 10.2.0.0 alpha - 
(371922M)
[/home/dw136774/derby-10.1/db-derby-10.1.2.1-lib/lib/derby.jar] 10.1.2.1 - 
(330608)
[/home/dw136774/derby-10.1/db-derby-10.1.2.1-lib/lib/derbytools.jar] 10.1.2.1 - 
(330608)
[/home/dw136774/derby-10.1/db-derby-10.1.2.1-lib/lib/derbynet.jar] 10.1.2.1 - 
(330608)
begin:vcard
fn:David W Van Couvering
n:Van Couvering;David W
org:Sun Microsystems, Inc.;Database Technology Group
email;internet:[EMAIL PROTECTED]
title:Senior Staff Software Engineer
tel;work:510-550-6819
tel;cell:510-684-7281
x-mozilla-html:TRUE
version:2.1
end:vcard

Reply via email to