You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by dy...@apache.org on 2008/04/25 12:32:38 UTC

svn commit: r651567 [2/2] - in /db/derby/site/trunk: build/site/ build/site/releases/ src/documentation/conf/ src/documentation/content/xdocs/ src/documentation/content/xdocs/releases/

Added: db/derby/site/trunk/src/documentation/content/xdocs/releases/release-10.4.1.3.html
URL: http://svn.apache.org/viewvc/db/derby/site/trunk/src/documentation/content/xdocs/releases/release-10.4.1.3.html?rev=651567&view=auto
==============================================================================
--- db/derby/site/trunk/src/documentation/content/xdocs/releases/release-10.4.1.3.html (added)
+++ db/derby/site/trunk/src/documentation/content/xdocs/releases/release-10.4.1.3.html Fri Apr 25 03:32:37 2008
@@ -0,0 +1,1457 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to you under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+<title>Apache Derby 10.4.1.3 Release</title>
+<body>
+
+    <h1>Distributions</h1>
+    <p>Use the links below to download a distribution of Apache Derby from
+       one of our mirrors. You should <b>always</b> <a href="#Verifying+releases">verify the integrity</a>
+       of distribution files downloaded from a mirror.</p>
+
+<p>You are currently using <strong>[preferred]</strong>. If you encounter a
+problem with this mirror, then please select another.  If all
+mirrors are failing, there are backup mirrors at the end of the list.
+See <a href="http://www.apache.org/mirrors/">status</a> of mirrors.
+</p>
+
+<form action="[location]" method="get" id="SelectMirror">
+Other mirrors: <select name="Preferred">
+<!--[if-any http] [for http]-->
+<option value="[http]">[http]</option>
+<!--[end] [end]-->
+<!--[if-any ftp] [for ftp]-->
+<option value="[ftp]">[ftp]</option>
+<!--[end] [end]-->
+<!--[if-any backup] [for backup]-->
+<option value="[backup]">[backup] (backup)</option>
+<!--[end] [end]-->
+</select>
+<input type="submit" value="Change" />     
+</form>
+
+    <p>There are four different distributions:</p>
+    <ul>
+      <li>bin distribution - contains the documentation, javadoc, and jar files for Derby.</li>
+      <li>lib distribution - contains only the jar files for Derby.</li>
+      <li>lib-debug distribution - contains jar files for Derby with source line numbers.</li>
+      <li>src distribution - contains the Derby source tree at the point which the binaries were built.</li>
+    </ul>
+    <p> <a href="[preferred]/db/derby/db-derby-10.4.1.3/db-derby-10.4.1.3-bin.zip">db-derby-10.4.1.3-bin.zip</a> [<a href="http://www.apache.org/dist/db/derby/db-derby-10.4.1.3/db-derby-10.4.1.3-bin.zip.asc">PGP</a>] [<a href="http://www.apache.org/dist/db/derby/db-derby-10.4.1.3/db-derby-10.4.1.3-bin.zip.md5">MD5</a>]<br/>
+    <a href="[preferred]/db/derby/db-derby-10.4.1.3/db-derby-10.4.1.3-bin.tar.gz">db-derby-10.4.1.3-bin.tar.gz</a> [<a href="http://www.apache.org/dist/db/derby/db-derby-10.4.1.3/db-derby-10.4.1.3-bin.tar.gz.asc">PGP</a>] [<a href="http://www.apache.org/dist/db/derby/db-derby-10.4.1.3/db-derby-10.4.1.3-bin.tar.gz.md5">MD5</a>]</p>
+    
+    <p><a href="[preferred]/db/derby/db-derby-10.4.1.3/db-derby-10.4.1.3-lib.zip">db-derby-10.4.1.3-lib.zip</a> [<a href="http://www.apache.org/dist/db/derby/db-derby-10.4.1.3/db-derby-10.4.1.3-lib.zip.asc">PGP</a>] [<a href="http://www.apache.org/dist/db/derby/db-derby-10.4.1.3/db-derby-10.4.1.3-lib.zip.md5">MD5</a>]<br/>
+    <a href="[preferred]/db/derby/db-derby-10.4.1.3/db-derby-10.4.1.3-lib.tar.gz">db-derby-10.4.1.3-lib.tar.gz</a> [<a href="http://www.apache.org/dist/db/derby/db-derby-10.4.1.3/db-derby-10.4.1.3-lib.tar.gz.asc">PGP</a>] [<a href="http://www.apache.org/dist/db/derby/db-derby-10.4.1.3/db-derby-10.4.1.3-lib.tar.gz.md5">MD5</a>]</p>
+    
+    <p><a href="[preferred]/db/derby/db-derby-10.4.1.3/db-derby-10.4.1.3-lib-debug.zip">db-derby-10.4.1.3-lib-debug.zip</a> [<a href="http://www.apache.org/dist/db/derby/db-derby-10.4.1.3/db-derby-10.4.1.3-lib-debug.zip.asc">PGP</a>] [<a href="http://www.apache.org/dist/db/derby/db-derby-10.4.1.3/db-derby-10.4.1.3-lib-debug.zip.md5">MD5</a>]<br/>
+    <a href="[preferred]/db/derby/db-derby-10.4.1.3/db-derby-10.4.1.3-lib-debug.tar.gz">db-derby-10.4.1.3-lib-debug.tar.gz</a> [<a href="http://www.apache.org/dist/db/derby/db-derby-10.4.1.3/db-derby-10.4.1.3-lib-debug.tar.gz.asc">PGP</a>] [<a href="http://www.apache.org/dist/db/derby/db-derby-10.4.1.3/db-derby-10.4.1.3-lib-debug.tar.gz.md5">MD5</a>]</p>
+
+    <p><a href="[preferred]/db/derby/db-derby-10.4.1.3/db-derby-10.4.1.3-src.zip">db-derby-10.4.1.3-src.zip</a>  [<a href="http://www.apache.org/dist/db/derby/db-derby-10.4.1.3/db-derby-10.4.1.3-src.zip.asc">PGP</a>] [<a href="http://www.apache.org/dist/db/derby/db-derby-10.4.1.3/db-derby-10.4.1.3-src.zip.md5">MD5</a>]<br/>
+    <a href="[preferred]/db/derby/db-derby-10.4.1.3/db-derby-10.4.1.3-src.tar.gz">db-derby-10.4.1.3-src.tar.gz</a> [<a href="http://www.apache.org/dist/db/derby/db-derby-10.4.1.3/db-derby-10.4.1.3-src.tar.gz.asc">PGP</a>] [<a href="http://www.apache.org/dist/db/derby/db-derby-10.4.1.3/db-derby-10.4.1.3-src.tar.gz.md5">MD5</a>] (Note that, due to long filenames, you will need gnu tar to unravel this tarball.)</p>
+
+    <p>There are two separate Eclipse plugins for Derby:</p>
+    <ul>
+      <li>derby_core_plugin - provides the Derby jar files to other plugins in Eclipse.</li>
+      <li>derby_ui_plugin - provides an Apache Derby Nature in Eclipse for easy database application development.</li>
+    </ul>
+    <p> <a href="[preferred]/db/derby/db-derby-10.4.1.3/derby_core_plugin_10.4.1.648739.zip">derby_core_plugin_10.4.1.648739.zip</a> [<a href="http://www.apache.org/dist/db/derby/db-derby-10.4.1.3/derby_core_plugin_10.4.1.648739.zip.asc">PGP</a>] [<a href="http://www.apache.org/dist/db/derby/db-derby-10.4.1.3/derby_core_plugin_10.4.1.648739.zip.md5">MD5</a>]<br/>
+    <a href="[preferred]/db/derby/db-derby-10.4.1.3/derby_ui_plugin_1.1.2.zip">derby_ui_plugin_1.1.2.zip</a> [<a href="http://www.apache.org/dist/db/derby/db-derby-10.4.1.3/derby_ui_plugin_1.1.2.zip.asc">PGP</a>] [<a href="http://www.apache.org/dist/db/derby/db-derby-10.4.1.3/derby_ui_plugin_1.1.2.zip.md5">MD5</a>]</p>
+    <p>Please note: both plugins must be installed for full functionality. For information on installing and using
+       the Derby plugins for Eclipse, please see the <a href="http://db.apache.org/derby/integrate/plugin_howto.html">Using the 10 Core and 1.1 UI Derby plug-ins</a> page.</p>
+    
+<h1>
+<a name="Release Notes for Derby 10.4.1.3"></a>Release Notes for Derby 10.4.1.3</h1>
+
+<p>These notes describe the difference between Derby release 10.4.1.3 and the preceding release 10.3.2.1.</p>
+
+<ul>
+<li>
+<a href="#Overview">Overview</a>
+</li>
+<li>
+<a href="#New Features">New Features</a>
+</li>
+<li>
+<a href="#Bug Fixes">Bug Fixes</a>
+</li>
+<li>
+<a href="#Issues">Issues</a>
+</li>
+<li>
+<a href="#Build Environment">Build Environment</a>
+</li>
+</ul>
+<h2>
+<a name="Overview"></a>Overview</h2>
+
+
+
+<p>
+Derby is a pure Java relational database engine using standard SQL and
+JDBC as its APIs.
+</p>
+
+
+<p>
+Derby functionality includes:
+</p>
+
+
+<ul>
+
+<li>Embedded engine with JDBC drivers</li>
+
+<li>Network Server</li>
+
+<li>Network client JDBC drivers</li>
+
+<li>Command line tools: ij (SQL scripting), dblook (schema dump) and sysinfo (system info)</li>
+
+</ul>
+
+
+
+<h2>
+<a name="New Features"></a>New Features</h2>
+
+
+
+<p>
+This is a feature release. The following new features were added:
+</p>
+
+<ul>
+
+<li>SQL ROW_NUMBER() window function, as described in the SQL 2003
+standard section 6.10, for an empty, inlined window specification. The
+<em>window clause</em>, as described in section 7.11 is not
+implemented.</li>
+
+
+<li>Unique constraints on nullable columns. SQL Feature T591.</li>
+	
+
+<li>Asynchronous replication with manual fail-over.</li>
+
+
+<li>Table Functions. SQL Feature T326. This lets you run queries against
+any external data source which can be presented as a JDBC ResultSet. Table Functions are useful
+for data migration and integration. For more information, please consult
+the "Programming Derby-style table functions" section of the Derby Developer's Guide
+as well as the functional specification attached to DERBY-716.</li>
+
+
+<li>Java Management Extensions (JMX) for Derby, allowing local and remote
+monitoring and management of a running Derby system (this release
+includes a basic set of MBeans - it is expected that more JMX
+functionality will be added in later releases).</li>
+	
+
+<li>SQL bracketed comments (/*..*/). SQL Feature T351.</li>
+
+
+<li>ij continuation marker. Interactive ij shows &gt; prompt until ; is entered.</li>
+	
+
+<li>A JDBC statement object cache in the client driver. Some limitations imposed by the presence of DERBY-3596.</li>
+
+
+<li>Caching of the isolation level and the current schema in the client driver.</li>
+
+
+<li>Implement a new multi-threaded buffer manager to get better scalability on machines with multiple CPUs or multiple cores.</li>
+
+</ul>
+
+
+<h2>
+<a name="Bug Fixes"></a>Bug Fixes</h2>
+
+<p>The following issues are addressed by Derby release 10.4.1.3. These issues are not addressed in the preceding 10.3.2.1 release.</p>
+<table border="2">
+<tr>
+<td><b>Issue Id</b></td><td><b>Description</b></td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3603">DERBY-3603</a></td><td>'IN' clause ignores valid results, incorrect qualifier handling suspected</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3589">DERBY-3589</a></td><td>AllocPage.createPage() doesn't initialize minimumRecordSize correctly</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3571">DERBY-3571</a></td><td>LOB locators are not released if the LOB columns are not accessed by the client</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3538">DERBY-3538</a></td><td>NullPointerException during execution for query with LEFT OUTER JOIN whose inner table selects all constants.</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3458">DERBY-3458</a></td><td>dblook fails on TERRITORY_BASED databases</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3442">DERBY-3442</a></td><td>Reference Manual doesn't state limit on number of identity columns</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3430">DERBY-3430</a></td><td>Inconsistency in JDBC autogen APIs between Connection.prepareStatement(...) and Statement.execute(...)</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3379">DERBY-3379</a></td><td>"No Current connection" on PooledConnection.getConnection() if pooled connection is reused during connectionClosed processing</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3373">DERBY-3373</a></td><td>SQL "distinct" and "order by" needed together</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3366">DERBY-3366</a></td><td>Various formatting erros in L10N property files</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3354">DERBY-3354</a></td><td>Select from large lob table with embedded gives OutOfMemoryError</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3352">DERBY-3352</a></td><td>truncateTable crashed, Caused by: java.lang.NullPointerException</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3350">DERBY-3350</a></td><td>SQL CAST always marks its type as nullable even if the expression to be cast is not nullable</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3347">DERBY-3347</a></td><td>ERROR XSDB3: Container information cannot change once written</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3343">DERBY-3343</a></td><td>Subsequent calls to PreparedStatement cause SQLIntegrityConstraintViolationException on column that is  "Generated always"</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3322">DERBY-3322</a></td><td>Server guide refers to phantom property in template policy file for the Network Server</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3321">DERBY-3321</a></td><td>NullPointerException for 'NOT EXISTS' with nested subquery</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3316">DERBY-3316</a></td><td>Leak in client if ResultSet not closed</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3308">DERBY-3308</a></td><td>Broken synchronization for event handling in ClientPooledConnection40</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3303">DERBY-3303</a></td><td>ArrayIndexOutOfBoundsException at MergeSort.compare</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3302">DERBY-3302</a></td><td>NullPointerException during recovery of database with territory-based collation</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3301">DERBY-3301</a></td><td>Incorrect result from query with nested EXIST</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3299">DERBY-3299</a></td><td>Uniqueness violation error (23505) occurs after dropping a PK constraint if there exists a foreign key on the same columns.</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3298">DERBY-3298</a></td><td>Getting Started manual needs clearer introduction to connection URL</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3288">DERBY-3288</a></td><td>wrong query result in presence of a unique index</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3279">DERBY-3279</a></td><td>Derby 10.3.X ignores ORDER BY DESC when target column has an index and is used in an OR clause or an IN list.</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3278">DERBY-3278</a></td><td>Developer's Guide topic cdevdvlp51654 has duplicate information on connection URL</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3274">DERBY-3274</a></td><td>Developer's Guide has duplicate information on database connections</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3262">DERBY-3262</a></td><td>Documentation is missing cross-references for connection URL attributes</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3260">DERBY-3260</a></td><td>NullPointerException caused by race condition in GenericActivationHolder</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3257">DERBY-3257</a></td><td>SELECT with HAVING clause containing OR conditional incorrectly return 1 row - should return 2 rows - works correctly with 10.2 DB</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3253">DERBY-3253</a></td><td>NullPointer Exception (NPE) from query with IN predicate containing two values and joining a view with a large table.  ERROR 38000: The exception 'java.lang.NullPointerException' was thrown while evaluating an expression.</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3247">DERBY-3247</a></td><td>Activation for a dynamic ResultSet created from an Prepared/CallableStatement will not be closed until garbage collection indicates it is unused to the LCC and the LCC closes it</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3244">DERBY-3244</a></td><td>NullPointerException in ....B2IRowLocking3.searchLeftAndLockPreviousKey</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3243">DERBY-3243</a></td><td>(jdbc net client) exception during normal iteration through "ResultSet" of "select * from t"</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3238">DERBY-3238</a></td><td>When table contains large LOB values (&gt; ~32K) trigger execution fails for that row with ERROR XCL30: An IOException was thrown when reading a 'BLOB' </td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3231">DERBY-3231</a></td><td>Sorting on COUNT with OR and GROUP BY delivers wrong results.</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3230">DERBY-3230</a></td><td>Selecting data from a Table raises Error XN008: Query processing has been terminated due to an error on the server</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3229">DERBY-3229</a></td><td>testSysinfoLocale fails if derbyTools.jar is first in the classpath</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3226">DERBY-3226</a></td><td>BlobLocatorInputStream.read() and ClobLocatorInputStream.read() don't mask out sign bits</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3221">DERBY-3221</a></td><td>"java.sql.SQLException: The conglomerate (-5) requested does not exist." from Derby 10.3.1.4 embedded within Eclipse 3.3 and RAD 7.0</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3215">DERBY-3215</a></td><td>Potential NullPointerException in CachedPage class</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3214">DERBY-3214</a></td><td>Optimizer can see negative cost estimates when pulling Optimizables from the join order.</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3198">DERBY-3198</a></td><td>Using setQueryTimeout will leak sections </td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3194">DERBY-3194</a></td><td>LOCALIZEDDISPLAY of CURRENT_TIMESTAMP returns only the TIME</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3168">DERBY-3168</a></td><td>Reference Manual lacks topics on trace-related connection URL attributes</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3160">DERBY-3160</a></td><td>SYSCS_GET_USER_ACCESS incorrectly treats the passed in user name as a SQL identifier and thus can reports the wrong user information</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3094">DERBY-3094</a></td><td>Grouping of expressions causes NullPointerException</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3084">DERBY-3084</a></td><td>CREATE SCHEMA in refman does not contain material on restrictions in sqlAuthorization mode</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3079">DERBY-3079</a></td><td>Database name is printed twice in derby.log on rollbacks when logStatementText  is enabled</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3060">DERBY-3060</a></td><td>Network Server incorrectly assumes that all SQLExceptions with error code 08004 are caused by an authentication failure.</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3044">DERBY-3044</a></td><td>Typos in documentation</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3023">DERBY-3023</a></td><td>Different result rows depending on the sequence of INNER JOIN and OUTER JOIN</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-3001">DERBY-3001</a></td><td>SYSTABLES documentation for TABLETYPE should include 'A' (Synonym)</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2983">DERBY-2983</a></td><td>The ResultSet returned by DatabaseMetaData.getFunctions() does not contain a required column named FUNCTION_TYPE.</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2939">DERBY-2939</a></td><td>Log file is flushed every time a log buffer gets full</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2935">DERBY-2935</a></td><td>DDMReader.readLengthAndCodePoint() decodes long integer incorrectly</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2815">DERBY-2815</a></td><td>ij doesn't start with J2ME / JSR169 / weme6.1 because attempting to find java.sql.Driver if ij.protocol property is specified</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2733">DERBY-2733</a></td><td>ij rolls through NullPointerException (NPE) with J2ME/JSR169/WEME 6.1.</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2683">DERBY-2683</a></td><td>tools and utilities guide: ij.URLCheck's list of checked attributes is not correct</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2680">DERBY-2680</a></td><td>Reference manual section "Setting attributes.." lacks upgrade=true attribute</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2592">DERBY-2592</a></td><td>Wrong description of IndexName field in public JavaDoc for LockTable</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2585">DERBY-2585</a></td><td>Mistaken description in page of CLOB </td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2559">DERBY-2559</a></td><td>recreating a datasource using javax.naming.Reference from a ClientDataSource40 fails</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2351">DERBY-2351</a></td><td>ORDER BY with expression with distinct in the select list returns incorrect result</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2270">DERBY-2270</a></td><td>'18 ' (18 followed by four blanks) needs three more blanks</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2142">DERBY-2142</a></td><td>NullPointerException while using XAConnection/PooledConnection in a heavily contended multithreaded scenario</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2128">DERBY-2128</a></td><td>The word 'class' appears twice for the message SIF01.V</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-1823">DERBY-1823</a></td><td>Derby Developer's Guide -  Issues w/ User authentication and authorization extended examples section/paragraph</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-1585">DERBY-1585</a></td><td>derbylang/procedureInTrigger: not able to create trigger due to an open ResultSet</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-1573">DERBY-1573</a></td><td>Unsafe synchronization in NetworkServerControlImpl</td>
+</tr>
+</table>
+
+<h2>
+<a name="Issues"></a>Issues</h2>
+
+<p>Compared with the previous release (10.3.2.1), Derby release 10.4.1.3 introduces the following new features and incompatibilities. These merit your special attention.</p>
+<ul>
+<li>
+<a href="#Note for DERBY-3585">
+<p>Note for DERBY-3585: 
+Shutting down the Network Server now supports user authentication, and
+in fact requires credentials when authentication is enabled.
+</p>
+</a>
+</li>
+<li>
+<a href="#Note for DERBY-3460">
+<p>Note for DERBY-3460: 
+The two following reserved keywords are introduced: <code>NONE</code>
+and <code>CURRENT_ROLE</code>.</p>
+</a>
+</li>
+<li>
+<a href="#Note for DERBY-3301">
+<p>Note for DERBY-3301: 
+Queries with nested EXIST, ANY or IN clauses now return correct results.
+</p>
+</a>
+</li>
+<li>
+<a href="#Note for DERBY-3026">
+<p>Note for DERBY-3026: 
+The <code>frameworks</code> directory (and its contents) has been removed.
+</p>
+</a>
+</li>
+<li>
+<a href="#Note for DERBY-3013">
+<p>Note for DERBY-3013: 
+The column default value can now also be specified as CURRENT_USER or
+SESSION_USER. 
+
+</p>
+</a>
+</li>
+<li>
+<a href="#Note for DERBY-2351">
+<p>Note for DERBY-2351: An ORDER BY clause of a DISTINCT query which specifies to order by a
+column which was not in the DISTINCT list is now rejected, because the
+intent of the query is ambiguous. Previously, Derby instead produced
+non-distinct results.
+Also, an ORDER BY clause which specifies a table-name-qualified column alias
+is now rejected as invalid, where previously it was accepted.</p>
+</a>
+</li>
+<li>
+<a href="#Note for DERBY-2065">
+<p>Note for DERBY-2065: 
+Error code changed for embedded connection when  a connection with an open transaction is attempted closed.
+</p>
+</a>
+</li>
+</ul>
+<hr>
+<h3>
+<a name="Note for DERBY-3585"></a>Note for DERBY-3585</h3>
+
+
+<!-- 
+  SUMMARIZE THE ISSUE. This is a one line summary of the issue.
+
+  For instance:
+
+  Applications may no longer open two InputStreams on the same ResultSet column.
+-->
+
+
+<h4>Summary of Change</h4>
+
+<p>
+Shutting down the Network Server now supports user authentication, and
+in fact requires credentials when authentication is enabled.
+</p>
+
+
+<!-- 
+  DESCRIBE WHAT IT IS THAT THE USER ACTUALLY SEES WHEN THE PROBLEM OCCURS.
+
+  For instance:
+
+  In the previous release, applications were able to open two
+  InputStreams on the same column. Depending on how these streams
+  interacted, the value siphoned out of the column was erratic. Now
+  Derby raises a SQLException when the application attempts to create
+  the second InputStream.
+-->
+
+
+<h4>Symptoms Seen by Applications Affected by Change</h4>
+
+<p>
+Previously, a network server running with user authentication didn't check
+for user credentials for server shutdown.  Any client could shut down the
+server by calling NetworkServerControl with a shutdown command-line
+argument or by invoking the shutdown() method (provided the shutdown was
+initiated on the host running the server).  While this generated a console
+warning (Connection refused : Invalid authentication.), the server shutdown
+proceeded and could also result in open databases not being properly
+closed.
+</p>
+
+
+<p>
+Now, class NetworkServerControl supports user and password information as
+command-line and constructor arguments.  When running a network server with
+user authentication, a server shutdown now requires user credentials; if
+the user authentication check fails, the client sees an authentication
+error and the running server remains intact.  Note that Derby does not
+yet restrict the shutdown privilege to specific users: the server can
+be shut down by any user on the server machine who presents valid credentials.
+</p>
+
+
+<p>
+In detail, to provide user credentials class
+org.apache.derby.drda.NetworkServerControl now supports new shutdown
+command-line options:
+
+
+<ul>
+
+<li> -user &lt;username&gt; </li>
+
+<li> -password &lt;password&gt; </li>
+
+</ul>
+
+
+as well as two additional constructors with new parameters:
+
+
+<ul>
+
+<li> NetworkServerControl(String userName, String password) </li>
+
+<li> NetworkServerControl(InetAddress address, int portNumber, String
+userName, String password) </li>
+
+</ul>
+
+
+These command-line options or constructor arguments must be used to enable
+a NetworkServerControl instance to shutdown a network server running with
+user authentication.
+</p>
+
+
+<!-- 
+  OPTIONAL: DESCRIBE INCOMPATIBILITIES WITH PREVIOUS RELEASE, IF ANY.
+
+  For instance:
+
+  Applications which open two InputStreams on the ResultSet column now
+  fail.
+-->
+
+
+<h4>Incompatibilities with Previous Release</h4>
+
+<p>
+If running a network server without user authentication (the default) no
+command-line or API incompatibilities will be experienced.
+</p>
+
+
+<p>
+However, some incompatibilities were introduced if running a network
+server with user authentication:
+
+<ol>
+
+<li> The NetworkServerControl command-line usage changes for shutting down
+a sever:
+
+java org.apache.derby.drda.NetworkServerControl shutdown
+
+now results in an exception:
+
+08004:Connection authentication failure occurred. Reason: Invalid authentication.
+
+
+
+<p>
+The remedy is to provide credentials:
+
+java org.apache.derby.drda.NetworkServerControl shutdown -user &lt;username&gt; -password &lt;password&gt;
+
+
+</p>
+
+</li>
+
+
+<li> The NetworkServerControl API usage to programatically shutdown a
+server changes:
+
+
+<code>
+NetworkServerControl nsc = new NetworkServerControl();<br>
+nsc.shutdown();<br>
+
+</code>
+
+
+results in a java.sql.SQLException:
+
+Connection authentication failure occurred. Reason: Invalid authentication.
+
+
+
+<p>
+The remedy is provide credentials to the NetworkServerControl constructor:
+
+
+<code>
+NetworkServerControl nsc = new NetworkServerControl(user,
+password);<br> 
+nsc.shutdown();<br>
+
+</code>
+
+
+
+</p>
+
+</li>
+
+
+<li> Note that there is an edge case
+
+
+<code>
+NetworkServerControl nsc = new NetworkServerControl();<br>
+nsc.start(console);<br>
+...<br>
+nsc.shutdown();<br>
+
+</code>
+
+
+which currently fails with the SQLException shown above.
+
+<p>
+A solution is to create the initial NetworkServerControl instance with user credentials:
+
+
+<code>
+NetworkServerControl nscauth = new NetworkServerControl(user,
+password);<br>
+nscauth.start(console);<br>
+...<br>
+nscauth.shutdown();<br>
+
+</code>
+
+
+Another option is to create a second NetworkServerControl instance with user
+credential arguments for the purpose of server shutdown:
+
+
+<code>
+NetworkServerControl nsc = new NetworkServerControl();<br>
+nsc.start(console);<br>
+...<br>
+NetworkServerControl nscauth = new NetworkServerControl(user,
+password);<br>
+nscauth.shutdown();<br>
+
+</code>
+
+
+
+</p>
+
+</li>
+
+
+<li> If users have their own tests that use Derby's junit test framework,
+they'll have to use a test decorator that takes user credential arguments.
+</li>
+
+</ol>
+
+</p>
+
+
+<!-- 
+  DESCRIBE WHY THE CHANGE WAS MADE.
+
+  For instance:
+
+  The previous behavior violated the JDBC standard. The new behavior
+  is correct.
+-->
+
+
+<h4>Rationale for Change</h4>
+
+<p>
+The previous behavior represented a security issue, because any client
+could shut down a network server running with user authentication from the
+same host without needing to provide user credentials.
+</p>
+
+
+<!-- 
+  OPTIONAL: DESCRIBE HOW TO REVERT TO THE PREVIOUS BEHAVIOR OR
+  OTHERWISE AVOID THE INCOMPATIBILITIES INTRODUCED BY THIS CHANGE.
+
+  For instance:
+
+  Users must recode applications which open multiple streams on the same column.
+-->
+
+
+<h4>Application Changes Required</h4>
+
+<p>
+Application code and scripts will need to be adjusted to provide user
+credentials for shutting down a network server that runs with user
+authentication.
+</p>
+
+
+
+<hr>
+<h3>
+<a name="Note for DERBY-3460"></a>Note for DERBY-3460</h3>
+
+
+<!-- 
+  SUMMARIZE THE ISSUE. This is a one line summary of the issue.
+
+  For instance:
+
+  Applications may no longer open two InputStreams on the same ResultSet column.
+-->
+
+
+<h4>Summary of Change</h4>
+
+<p>
+The two following reserved keywords are introduced: <code>NONE</code>
+and <code>CURRENT_ROLE</code>.</p>
+
+
+<!-- 
+  DESCRIBE WHAT IT IS THAT THE USER ACTUALLY SEES WHEN THE PROBLEM OCCURS.
+
+  For instance:
+
+  In the previous release, applications were able to open two
+  InputStreams on the same column. Depending on how these streams
+  interacted, the value siphoned out of the column was erratic. Now
+  Derby raises a SQLException when the application attempts to create
+  the second InputStream.
+-->
+
+
+<h4>Symptoms Seen by Applications Affected by Change</h4>
+
+If an application attempts to use one of these keywords, a syntax
+error (SQL state 42X01) is raised.
+
+<!-- 
+  DESCRIBE WHY THE CHANGE WAS MADE.
+
+  For instance:
+
+  The previous behavior violated the JDBC standard. The new behavior
+  is correct.
+-->
+
+<!-- 
+  OPTIONAL: DESCRIBE INCOMPATIBILITIES WITH PREVIOUS RELEASE, IF ANY.
+
+  For instance:
+
+  Applications which open two InputStreams on the ResultSet column now
+  fail.
+-->
+
+<h4>Incompatibilities with Previous Release</h4>
+These two keywords were not previously reserved by Derby, and
+applications that rely on using them will break.
+
+<h4>Rationale for Change</h4>
+This change complies with the SQL standard and prepares
+Derby for supporting SQL roles in a future release.
+
+
+<!-- 
+  OPTIONAL: DESCRIBE HOW TO REVERT TO THE PREVIOUS BEHAVIOR OR
+  OTHERWISE AVOID THE INCOMPATIBILITIES INTRODUCED BY THIS CHANGE.
+
+  For instance:
+
+  Users must recode applications which open multiple streams on the same column.
+-->
+
+<h4>Application Changes Required</h4>
+Such user identifiers must be renamed so that they are not reserved
+keywords. See the Derby Reference Manual section titled "SQL Reserved Words".
+
+<hr>
+<h3>
+<a name="Note for DERBY-3301"></a>Note for DERBY-3301</h3>
+
+
+<!-- 
+  SUMMARIZE THE ISSUE. This is a one line summary of the issue.
+
+  For instance:
+
+  Applications may no longer open two InputStreams on the same ResultSet column.
+-->
+
+
+<h4>Summary of Change</h4>
+
+<p>
+Queries with nested EXIST, ANY or IN clauses now return correct results.
+</p>
+
+
+<!-- 
+  DESCRIBE WHAT IT IS THAT THE USER ACTUALLY SEES WHEN THE PROBLEM OCCURS.
+
+  For instance:
+
+  In the previous release, applications were able to open two
+  InputStreams on the same column. Depending on how these streams
+  interacted, the value siphoned out of the column was erratic. Now
+  Derby raises a SQLException when the application attempts to create
+  the second InputStream.
+-->
+
+
+<h4>Symptoms Seen by Applications Affected by Change</h4>
+
+<p>
+In the previous release, applications that executed SQL statements 
+containing nested EXISTS, ANY or IN clauses could see fewer rows
+than those satisfying the query. In particular, rows that had the
+same value for one of the selected columns as another row might not
+have been returned.
+</p>
+
+
+<!-- 
+  OPTIONAL: DESCRIBE INCOMPATIBILITIES WITH PREVIOUS RELEASE, IF ANY.
+
+  For instance:
+
+  Applications which open two InputStreams on the ResultSet column now
+  fail.
+
+-->
+
+
+<h4>Incompatibilities with Previous Release</h4>
+
+<p>
+None.
+</p>
+
+<!-- 
+  DESCRIBE WHY THE CHANGE WAS MADE.
+
+  For instance:
+
+  The previous behavior violated the JDBC standard. The new behavior
+  is correct.
+-->
+
+
+<h4>Rationale for Change</h4>
+
+<p>
+The previous behavior violated the ANSI SQL standard. The new 
+behavior is correct.
+</p>
+
+
+<!-- 
+  OPTIONAL: DESCRIBE HOW TO REVERT TO THE PREVIOUS BEHAVIOR OR
+  OTHERWISE AVOID THE INCOMPATIBILITIES INTRODUCED BY THIS CHANGE.
+
+  For instance:
+
+  Users must recode applications which open multiple streams on the same column.
+-->
+
+
+<h4>Application Changes Required</h4>
+
+<p>
+Typically none, but applications must handle that the correct results are now returned.
+</p>
+
+
+
+<hr>
+<h3>
+<a name="Note for DERBY-3026"></a>Note for DERBY-3026</h3>
+
+
+<!-- 
+  SUMMARIZE THE ISSUE. This is a one line summary of the issue.
+
+  For instance:
+
+  Applications may no longer open two InputStreams on the same ResultSet column.
+-->
+
+
+<h4>Summary of Change</h4>
+
+<p>
+The <code>frameworks</code> directory (and its contents) has been removed.
+</p>
+
+
+<!-- 
+  DESCRIBE WHAT IT IS THAT THE USER ACTUALLY SEES WHEN THE PROBLEM OCCURS.
+
+  For instance:
+
+  In the previous release, applications were able to open two
+  InputStreams on the same column. Depending on how these streams
+  interacted, the value siphoned out of the column was erratic. Now
+  Derby raises a SQLException when the application attempts to create
+  the second InputStream.
+-->
+
+
+<h4>Symptoms Seen by Applications Affected by Change</h4>
+
+<p>
+
+</p>
+Users and applications that rely on any of the scripts or HTML files in the 
+<code>frameworks</code> directory (which has been deprecated since the 10.2.1.6 
+release) or any of its subdirectories will no longer be able to find those files 
+in the same location.
+
+<!-- 
+  OPTIONAL: DESCRIBE INCOMPATIBILITIES WITH PREVIOUS RELEASE, IF ANY.
+
+  For instance:
+
+  Applications which open two InputStreams on the ResultSet column now
+  fail.
+-->
+
+<h4>Incompatibilities with Previous Release</h4>
+
+<p>
+Applications or commands referencing files in the <code>frameworks</code> 
+directory will fail.
+</p>
+
+
+<!-- 
+  DESCRIBE WHY THE CHANGE WAS MADE.
+
+  For instance:
+
+  The previous behavior violated the JDBC standard. The new behavior
+  is correct.
+-->
+
+
+<h4>Rationale for Change</h4>
+
+<p>
+In the 10.2.1.6 release, new and improved scripts were added in a new <code>bin</code> 
+directory, intended to replace the scripts in the <code>frameworks</code> 
+directory. The new scripts follow Apache conventions, and all scripts are 
+located in a single directory, making them easier to find. Removing the old and 
+deprecated scripts and the <code>frameworks</code> directory itself will 
+eliminate a potential source of confusion and annoyance among users.</p>
+
+<p>
+The <code>frameworks</code> directory has been deprecated since the 10.2.1.6 
+release, and has not been maintained since then. The 10.2.1.6 release notes 
+announced the deprecation of the scripts in the <code>frameworks</code> 
+directory, and an additional file (<code>frameworks.DEPRECATED.txt</code>) was 
+added in the top-level directory of the 10.3.1.4 release, with the purpose of 
+alerting users about this change. A warning message was also added to the 
+scripts in the <code>frameworks</code> directory at the same time.
+</p>
+
+
+<!-- 
+  OPTIONAL: DESCRIBE HOW TO REVERT TO THE PREVIOUS BEHAVIOR OR
+  OTHERWISE AVOID THE INCOMPATIBILITIES INTRODUCED BY THIS CHANGE.
+
+  For instance:
+
+  Users must recode applications which open multiple streams on the same column.
+-->
+
+
+<h4>Application Changes Required</h4>
+
+<p>
+All references to the <code>frameworks</code> directory or its contents must be 
+updated. The scripts in the <code>bin</code> directory may be used instead of 
+the old scripts.
+</p>
+
+
+
+
+<hr>
+<h3>
+<a name="Note for DERBY-3013"></a>Note for DERBY-3013</h3>
+
+
+<!-- 
+  SUMMARIZE THE ISSUE. This is a one line summary of the issue.
+
+  For instance:
+
+  Applications may no longer open two InputStreams on the same ResultSet column.
+-->
+
+
+<h4>Summary of Change</h4>
+
+<p>
+The column default value can now also be specified as CURRENT_USER or
+SESSION_USER. 
+
+</p>
+
+
+<!-- 
+  DESCRIBE WHAT IT IS THAT THE USER ACTUALLY SEES WHEN THE PROBLEM OCCURS.
+
+  For instance:
+
+  In the previous release, applications were able to open two
+  InputStreams on the same column. Depending on how these streams
+  interacted, the value siphoned out of the column was erratic. Now
+  Derby raises a SQLException when the application attempts to create
+  the second InputStream.
+-->
+
+
+<h4>Symptoms Seen by Applications Affected by Change</h4>
+
+<p>
+None
+</p>
+
+
+<!-- 
+  OPTIONAL: DESCRIBE INCOMPATIBILITIES WITH PREVIOUS RELEASE, IF ANY.
+
+  For instance:
+
+  Applications which open two InputStreams on the ResultSet column now
+  fail.
+-->
+
+
+<h4>Incompatibilities with Previous Release</h4>
+
+<p>
+None
+</p>
+
+
+<!-- 
+  DESCRIBE WHY THE CHANGE WAS MADE.
+
+  For instance:
+
+  The previous behavior violated the JDBC standard. The new behavior
+  is correct.
+-->
+
+
+<h4>Rationale for Change</h4>
+
+<p>
+Extend Derby's support for standard SQL constructions.
+</p>
+
+
+<!-- 
+  OPTIONAL: DESCRIBE HOW TO REVERT TO THE PREVIOUS BEHAVIOR OR
+  OTHERWISE AVOID THE INCOMPATIBILITIES INTRODUCED BY THIS CHANGE.
+
+  For instance:
+
+  Users must recode applications which open multiple streams on the same column.
+-->
+
+
+<h4>Application Changes Required</h4>
+
+<p>
+None.
+</p>
+
+
+
+
+<hr>
+<h3>
+<a name="Note for DERBY-2351"></a>Note for DERBY-2351</h3>
+
+<!-- 
+  SUMMARIZE THE ISSUE. This is a one line summary of the issue.
+
+  For instance:
+
+  Applications may no longer open two InputStreams on the same ResultSet column.
+-->
+
+<h4>Summary of Change</h4>
+
+<p>An ORDER BY clause of a DISTINCT query which specifies to order by a
+column which was not in the DISTINCT list is now rejected, because the
+intent of the query is ambiguous. Previously, Derby instead produced
+non-distinct results.
+Also, an ORDER BY clause which specifies a table-name-qualified column alias
+is now rejected as invalid, where previously it was accepted.</p>
+<!-- 
+  DESCRIBE WHAT IT IS THAT THE USER ACTUALLY SEES WHEN THE PROBLEM OCCURS.
+
+  For instance:
+
+  In the previous release, applications were able to open two
+  InputStreams on the same column. Depending on how these streams
+  interacted, the value siphoned out of the column was erratic. Now
+  Derby raises a SQLException when the application attempts to create
+  the second InputStream.
+-->
+
+<h4>Symptoms Seen by Applications Affected by Change</h4>
+
+<h5>New rules for DISTINCT and ORDER BY</h5>
+
+<p>
+Applications which specify certain combinations of SELECT DISTINCT with
+ORDER BY will now receive an error message, whereas formerly such applications
+received non-distinct results.</p>
+
+<p>As an example, take the following: </p>
+
+<p style="font-family: monospace;">
+create table person (name varchar(10), age int);<br>
+insert into person values ('John', 10);<br>
+insert into person values ('John', 30);<br>
+insert into person values ('Mary', 20);<br>
+
+<br>
+SELECT DISTINCT name FROM person ORDER BY age;<br>
+
+</p>
+
+<p>The query above is now rejected, with the error message:</p>
+
+
+	ERROR 42879: The ORDER BY clause may not contain column 'AGE',
+	since the query specifies DISTINCT and that column does not appear
+	in the query result.
+
+
+<p>If the AGE column is included in the DISTINCT list in the above query,
+there is no ambiguity</p>
+
+<h5>New column alias rules</h5>
+
+<p>
+Applications which specify a column alias for a column in the SELECT
+statement, and which specify an ORDER BY clause which specifies that
+column alias qualified by the table name, will now receive an error
+indicating that the ORDER BY clause is invalid.
+</p>
+
+<p>As an example, take the following: </p>
+
+<p style="font-family: monospace;">  create table t1 (i int, j int);<br>
+  select t1.id as idcolumn1, t1.id as idcolumn2 from t1 order by t1.idcolumn1, t1.idcolumn2;</p>
+
+<p>This query is now rejected, as there is no column named 'idcolumn1'
+in table 't1'. The error message is:</p>
+
+
+	ERROR 42X04: Column 'T1.IDCOLUMN1' is either not in any table in
+	the FROM list or appears within a join specification and is outside
+	the scope of the join specification or appears in a HAVING clause
+	and is not in the GROUP BY list. If this is a CREATE or ALTER TABLE 
+	statement then 'T1.IDCOLUMN1' is not a column in the target table.
+
+
+<p>Valid forms of the query above are:</p>
+
+<p style="font-family: monospace;">
+  select t1.id as idcolumn1, t1.id as idcolumn2 from t1 order by idcolumn1, idcolumn2;</p>
+
+<p>or</p>
+
+<p style="font-family: monospace;">
+  select t1.id as idcolumn1, t1.id as idcolumn2 from t1 order by t1.id, t1.id;</p>
+
+
+<h4>Rationale for Change</h4>
+
+<p>When the query ambiguously specifies both DISTINCT and ORDER BY, Derby
+was unsure whether to return the rows properly ordered, but non-distinct,
+or to return a distinct set of rows, but in an unknown order. Since no
+clear resolution of the ambiguity could be found, we chose instead to
+reject the query.</p>
+
+<p>The rules for resolving column references in ORDER BY clauses have been
+enhanced to consider column aliases and column names more fully.
+Derby now uses different resolution rules depending on whether
+the ORDER BY column reference is table.column, or just column:
+<ul>
+	
+<li>if the table name is provided, we match against the
+	underlying table name, and don't consider any aliases</li>
+	
+<li>if the table name is NOT provided, we first match against
+	the alias name, if present, and if no alias name matches
+	then we match against the underlying source column name. </li>
+
+</ul>
+
+</p>
+<!-- 
+  OPTIONAL: DESCRIBE HOW TO REVERT TO THE PREVIOUS BEHAVIOR OR
+  OTHERWISE AVOID THE INCOMPATIBILITIES INTRODUCED BY THIS CHANGE.
+
+  For instance:
+
+  Users must recode applications which open multiple streams on the same column.
+-->
+
+<h4>Application Changes Required</h4>
+
+<p>
+A query which specifies ordering by a non-distinct column should instead
+include the ORDER BY column in the DISTINCT list, to resolve the ambiguity
+about which values of that column should be used to distinctly identify
+the resulting rows.</p>
+
+<p>
+A query which specifies table-name.alias-name should be rewritten to specify
+either simply alias-name, or table-name.column-name.
+</p>
+
+
+<hr>
+<h3>
+<a name="Note for DERBY-2065"></a>Note for DERBY-2065</h3>
+
+
+<!-- 
+  SUMMARIZE THE ISSUE. This is a one line summary of the issue.
+
+  For instance:
+
+  Applications may no longer open two InputStreams on the same ResultSet column.
+-->
+
+
+<h4>Summary of Change</h4>
+
+<p>
+Error code changed for embedded connection when  a connection with an open transaction is attempted closed.
+</p>
+
+
+<!-- 
+  DESCRIBE WHAT IT IS THAT THE USER ACTUALLY SEES WHEN THE PROBLEM OCCURS.
+
+  For instance:
+
+  In the previous release, applications were able to open two
+  InputStreams on the same column. Depending on how these streams
+  interacted, the value siphoned out of the column was erratic. Now
+  Derby raises a SQLException when the application attempts to create
+  the second InputStream.
+-->
+
+
+<h4>Symptoms Seen by Applications Affected by Change</h4>
+
+<p>
+In the previous release, calling Connection.close() on a connection
+with an open transaction raised an error with error code 25001 with
+the client driver, whereas the embedded driver raised error code
+25000. The embedded driver has now been changed to raise the same
+error code as the client driver, i.e. 25001, as specified by the SQL
+standard.
+</p>
+
+
+<!-- 
+  OPTIONAL: DESCRIBE INCOMPATIBILITIES WITH PREVIOUS RELEASE, IF ANY.
+
+  For instance:
+
+  Applications which open two InputStreams on the ResultSet column now
+  fail.
+-->
+
+
+<h4>Incompatibilities with Previous Release</h4>
+
+<p>
+Embedded applications that are dependent on the error code
+<i>ever</i> being "25000" could start failing.
+
+Embedded applications that are dependent on the error code
+<i>never</i> being "25001" could start failing.
+</p>
+
+
+<!-- 
+  DESCRIBE WHY THE CHANGE WAS MADE.
+
+  For instance:
+
+  The previous behavior violated the JDBC standard. The new behavior
+  is correct.
+-->
+
+
+<h4>Rationale for Change</h4>
+
+<p>
+Harmonize error codes raised by the client and embedded drivers,
+thereby also making the embedded driver compatible with the SQL
+standard.
+</p>
+
+
+<!-- 
+  OPTIONAL: DESCRIBE HOW TO REVERT TO THE PREVIOUS BEHAVIOR OR
+  OTHERWISE AVOID THE INCOMPATIBILITIES INTRODUCED BY THIS CHANGE.
+
+  For instance:
+
+  Users must recode applications which open multiple streams on the same column.
+-->
+
+
+<h4>Application Changes Required</h4>
+
+<p>
+Applications that are dependent on the error code must be changed to expect the new code.
+</p>
+
+
+
+
+
+<h2>
+<a name="Build Environment"></a>Build Environment</h2>
+
+<p>Derby release 10.4.1.3 was built using the following environment:</p>
+<ul>
+<li>
+<b>Branch</b> - Source code came from the 10.4 branch.</li>
+<li>
+<b>Machine</b> - SunOS khepri32 5.10 Generic_127112-01 i86pc i386 i86pc</li>
+<li>
+<b>Ant</b> - Apache Ant version 1.7.0 compiled on December 13 2006</li>
+<li>
+<b>JDK 1.4</b> - java version "1.4.2_05"
+Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_05-b04)
+Java HotSpot(TM) Client VM (build 1.4.2_05-b04, mixed mode)
+</li>
+<li>
+<b>Java 6</b> - java version "1.6.0_04"
+Java(TM) SE Runtime Environment (build 1.6.0_04-b06)
+Java HotSpot(TM) Server VM (build 10.0-b18, mixed mode)
+</li>
+<li>
+<b>OSGi</b> - The felix.jar was used to build org.apache.derby.osgi.EmbeddedActivator.</li>
+<li>
+<b>Compiler</b> - 
+The 1.6.0_04 javac was used to compile all classes.
+  </li>
+<li>
+<b>JSR 169</b> - J2ME support was built using java.sun.com/j2me (cdc-1_1-fr-ri, jdbc_cdc1.0).</li>
+</ul>
+
+
+
+ 
+<h1><anchor id="Verifying+releases"/>Verifying releases</h1>
+
+<p>It is essential that you verify the integrity of the downloaded
+files using the PGP and MD5 signatures.  MD5 verification ensures the
+file was not corrupted during the download process.  PGP verification
+ensures that the file came from a certain person.</p>
+
+<p>The PGP signatures can be verified using
+<a href="http://www.pgpi.org/">PGP</a> or
+<a href="http://www.gnupg.org/">GPG</a>.
+First download the Apache Derby
+<a href="http://svn.apache.org/repos/asf/db/derby/code/trunk/KEYS">KEYS</a>
+as well as the <code>asc</code> signature file for the particular
+distribution. It is important that you get these files from the ultimate
+trusted source - the main ASF distribution site, rather than from a mirror.
+Then verify the signatures using ...</p>
+
+<pre>
+% pgpk -a KEYS
+% pgpv db-derby-X.Y.tar.gz.asc
+
+<em>or</em>
+
+% pgp -ka KEYS
+% pgp db-derby-X.Y.tar.gz.asc
+
+<em>or</em>
+
+% gpg --import KEYS
+% gpg --verify db-derby-X.Y.tar.gz.asc
+
+</pre>
+
+<p>To verify the MD5 signature on the files, you need to use a program
+called <code>md5</code> or <code>md5sum</code>, which is
+included in many unix distributions.  It is also available as part of
+<a href="http://www.gnu.org/software/textutils/textutils.html">GNU
+Textutils</a>.  Windows users can get binary md5 programs from <a
+href="http://www.fourmilab.ch/md5/">here</a>, <a
+href="http://www.pc-tools.net/win32/freeware/console/">here</a>, or
+<a href="http://www.slavasoft.com/fsum/">here</a>.</p>
+
+<p>We strongly recommend you verify your downloads with both PGP and MD5.</p>
+ 
+
+</body>
+</html>

Propchange: db/derby/site/trunk/src/documentation/content/xdocs/releases/release-10.4.1.3.html
------------------------------------------------------------------------------
    svn:eol-style = native