From derby-dev-return-41638-apmail-db-derby-dev-archive=db.apache.org@db.apache.org Mon May 07 07:28:48 2007 Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 8296 invoked from network); 7 May 2007 07:28:47 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 7 May 2007 07:28:47 -0000 Received: (qmail 77546 invoked by uid 500); 7 May 2007 07:28:54 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 77335 invoked by uid 500); 7 May 2007 07:28:53 -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 77326 invoked by uid 99); 7 May 2007 07:28:53 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 07 May 2007 00:28:53 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=UNPARSEABLE_RELAY X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: local policy) Received: from [192.18.1.36] (HELO gmp-ea-fw-1.sun.com) (192.18.1.36) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 07 May 2007 00:28:45 -0700 Received: from d1-emea-10.sun.com ([192.18.2.120]) by gmp-ea-fw-1.sun.com (8.13.6+Sun/8.12.9) with ESMTP id l477SOKX017304 for ; Mon, 7 May 2007 07:28:24 GMT Received: from conversion-daemon.d1-emea-10.sun.com by d1-emea-10.sun.com (Sun Java System Messaging Server 6.2-6.01 (built Apr 3 2006)) id <0JHN00H01TZZMP00@d1-emea-10.sun.com> (original mail from Jorgen.Loland@Sun.COM) for derby-dev@db.apache.org; Mon, 07 May 2007 08:28:24 +0100 (BST) Received: from [129.159.112.237] by d1-emea-10.sun.com (Sun Java System Messaging Server 6.2-6.01 (built Apr 3 2006)) with ESMTPSA id <0JHN00E4GU3BWPW0@d1-emea-10.sun.com> for derby-dev@db.apache.org; Mon, 07 May 2007 08:28:23 +0100 (BST) Date: Mon, 07 May 2007 09:28:22 +0200 From: =?ISO-8859-1?Q?J=F8rgen_L=F8land?= Subject: Re: [jira] Updated: (DERBY-1484) Client and embedded behave differently when the table name is null in DatabaseMetaData methods In-reply-to: Sender: Jorgen.Loland@Sun.COM To: derby-dev@db.apache.org Message-id: <463ED516.8000509@sun.com> MIME-version: 1.0 Content-type: text/plain; format=flowed; charset=ISO-8859-1 Content-transfer-encoding: 8BIT References: <12215342.1152277229874.JavaMail.jira@brutus> <32882415.1178261715346.JavaMail.jira@brutus> User-Agent: Thunderbird 2.0.0.0 (X11/20070419) X-Virus-Checked: Checked by ClamAV on apache.org Myrna van Lunteren wrote: > Jørgen, > I think a Release note is needed for every change that actually > changes behavior - incl. undocumented and incorrect behavior. > Release Notes are a help to users to identify those changes in > behavior that could impact them when upgrading. > Needing a release note for a subtask, or a test, or documentation > change is debatable, but I think this one could have a short release > note. Please see DERBY-2570 for the template. > > Thx, > Myrna > Thank you for commenting on this, Myrna. ReleaseNote text attempt: Summary of Change Tablenames can no longer be null in calls to DatabaseMetaData methods getBestRowIdentifier(), getColumnPrivileges(), getIndexInfo(), getVersionColumns(), getPrimaryKeys(), getImportedKeys() and getExportedKeys(). *Comment: The above is a rather long one-liner, but I think all the information is required* Symptoms Seen by Applications Affected by Change In the previous release, the methods returned information on all tables in the schema if the tablename parameter was null. Derby now raises an SQLException if the tablename is null. Incompatibilities with Previous Release Calls to the specified methods now fail if the tablename parameter is null. Rationale for Change The previous behavior violated the JDBC standard. The new behavior is correct. Application Changes Required Users must recode applications to specify the table names. When information on multiple tables is required, the application first has to get the table names, e.g. by using the DatabaseMetaData method getTables(), and then use the returned table names as input to the method in question.