db-derby-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From myrn...@apache.org
Subject svn commit: r548005 [2/2] - /db/derby/code/branches/10.3/RELEASE-NOTES.html
Date Sun, 17 Jun 2007 03:22:22 GMT

Modified: db/derby/code/branches/10.3/RELEASE-NOTES.html
URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.3/RELEASE-NOTES.html?view=diff&rev=548005&r1=548004&r2=548005
==============================================================================
--- db/derby/code/branches/10.3/RELEASE-NOTES.html (original)
+++ db/derby/code/branches/10.3/RELEASE-NOTES.html Sat Jun 16 20:22:21 2007
@@ -1,10 +1,10 @@
 <html>
-<title>Release Notes for Derby 10.3.0.0</title>
+<title>Release Notes for Derby 10.3.1.0 beta</title>
 <body>
 <h1>
-<a name="Release Notes for Derby 10.3.0.0"></a>Release Notes for Derby 10.3.0.0</h1>
+<a name="Release Notes for Derby 10.3.1.0 beta"></a>Release Notes for Derby 10.3.1.0 beta</h1>
 <blockquote>
-<p>These notes describe the difference between Derby release 10.3.0.0 and the preceding release 10.2.2.0.</p>
+<p>These notes describe the difference between Derby release 10.3.1.0 beta and the preceding release 10.2.2.0.</p>
 </blockquote>
 <ul>
 <li>
@@ -56,23 +56,238 @@
 <h2>
 <a name="New Features"></a>New Features</h2>
 <blockquote>
-
-
 <p>
 This is a minor release. The following new features were added:
 </p>
+</blockquote>
+<ul>
+<h4>
+<a name="Big Features"></a>Big Features</h4>
+<blockquote>
+<p>The following issues are new with Derby release 10.3.1.0. beta.</p>
+<table border="2">
+<tr>
+<td><b>Feature</b></td><td><b>Description</b></td><td><b>Issue Id(s)</b></td>
+</tr>
+<tr>
+<td>DBA Powers</td><td>Control who can shutdown, encrypt and upgrade databases.</td><td>Master JIRA: <a href="http://issues.apache.org/jira/browse/DERBY-2264">DERBY-2264</a></td>
+</tr>
+<tr>
+<td> Secure Server </td><td> Make the Network Server secure by default. </td><td> Master JIRA: <a href="https://issues.apache.org/jira/browse/DERBY-2196">DERBY-2196</a> </td>
+</tr>
+<tr>
+<td> Language Based Ordering </td><td> Add built in language based ordering and like processing to Derby. </td><td> Master JIRA: <a href="https://issues.apache.org/jira/browse/DERBY-1478">DERBY-1478</a> </td>
+</tr>
+</table>
+</blockquote>
 
+<h4>
+<a name="Small Features"></a>Small Features</h4>
+<blockquote>
+<table border="2">
+<tr>
+<td> Feature </td><td> Description </td><td> Associated JIRAs </td>
+</tr>
+<tr>
+<td> Alter Table </td><td> You can now DROP or RENAME a column. Together with a number of enhancements in 10.2, this means that most dynamic schema modifications are now possible </td><td> <a href="https://issues.apache.org/jira/browse/DERBY-396">DERBY-396</a> <a href="https://issues.apache.org/jira/browse/DERBY-1489">DERBY-1489</a> <a href="https://issues.apache.org/jira/browse/DERBY-1490">DERBY-1490</a> <a href="https://issues.apache.org/jira/browse/DERBY-1926">DERBY-1926</a> <a href="https://issues.apache.org/jira/browse/DERBY-1909">DERBY-1909</a> <a href="https://issues.apache.org/jira/browse/DERBY-2042">DERBY-2042</a></td>
+</tr>
+<tr>
+<td> SSL/TLS </td><td> Implement SSL/TLS communication between client and server </td><td> <a href="https://issues.apache.org/jira/browse/DERBY-2108">DERBY-2108</a> <a href="https://issues.apache.org/jira/browse/DERBY-2356">DERBY-2356</a> <a href="https://issues.apache.org/jira/browse/DERBY-2272">DERBY-2272</a> <a href="https://issues.apache.org/jira/browse/DERBY-2273">DERBY-2273</a> </td>
+</tr>
+<tr>
+<td> Client Side Tracing </td><td> Provide a way to enable client tracing without changing the application </td><td> <a href="https://issues.apache.org/jira/browse/DERBY-1275">DERBY-1275</a> </td>
+</tr>
+<tr>
+<td> Import/Export of Blob/Clob</td><td> Add support for import/export of tables with clob, blob and other binary type columns</td><td> <a href="https://issues.apache.org/jira/browse/DERBY-378">DERBY-378</a> </td>
+</tr>
+<tr>
+<td> JDBC methods for autogenerated keys </td><td> Implement JDBC methods for autogenerated keys for Embedded </td><td> <a href="https://issues.apache.org/jira/browse/DERBY-2631">DERBY-2631</a> </td>
+</tr>
+</table>
+</blockquote>
 
+<h4>
+<a name="Non-functional Improvements">Non-functional Improvements</a></h4>
+<blockquote>
+<table border="2">
+<tr>
+<td> Area </td><td> Description </td><td> Assosiciated JIRAs </td>
+</tr>
+<tr>
+<td> Performance </td><td> Reduce CPU usage in embedded Derby. Main areas being worked on are: Lock manager and latching, reduced use of synchronized data structures, optimize use of bit sets.</td><td> <a href="https://issues.apache.org/jira/browse/DERBY-1704">DERBY-1704</a> <a href="https://issues.apache.org/jira/browse/DERBY-2107">DERBY-2107</a> <a href="https://issues.apache.org/jira/browse/DERBY-2149">DERBY-2149</a> <a href="https://issues.apache.org/jira/browse/DERBY-2150">DERBY-2150</a> <a href="https://issues.apache.org/jira/browse/DERBY-2191">DERBY-2191</a> <a href="https://issues.apache.org/jira/browse/DERBY-2226">DERBY-2226</a> </td>
+</tr>
+<tr>
+<td> Performance </td><td> Improve Derby's treatment of IN-lists to allow the optimizer to consider using indexes when appropriate.  </td><td> <a href="https://issues.apache.org/jira/browse/DERBY-47">DERBY-47</a></td>
+</tr>
+<tr>
+<td> Testing </td><td> Switch testing to be pure JUnit based. </td><td> <a href="https://issues.apache.org/jira/browse/DERBY-1952">DERBY-1952</a> & many others </td>
+</tr>
+<tr>
+<td> Memory Usage </td><td> Avoid having to materialize entire LOBs in network client.  The client will use locators when requesting operations to be performed on LOBs stored on the server side. </td><td> Master JIRA: <a href="https://issues.apache.org/jira/browse/DERBY-208">DERBY-208</a> </td>
+</tr>
+<tr>
+<td> Platforms </td><td> Minimum JDK support will change to JDK 1.4.2 for J2SE & CDC/Foundation 1.1 for J2ME. (Removes support for JDK 1.3 and J2ME/CDC/Foundation 1.0) </td><td> <a href="http://issues.apache.org/jira/browse/DERBY-1983">DERBY-1983</a> <a href="https://issues.apache.org/jira/browse/DERBY-1985">DERBY-1985</a> <a href="https://issues.apache.org/jira/browse/DERBY-2121">DERBY-2121</a>  </td>
+</tr>
+</table>
 </blockquote>
+</ul>
+
 <h2>
 <a name="Bug Fixes"></a>Bug Fixes</h2>
 <blockquote>
-<p>The following issues are addressed by Derby release 10.3.0.0. These issues are not addressed in the preceding 10.2.2.0 release.</p>
+<p>The following issues are addressed by Derby release 10.3.1.0 beta. These issues are not addressed in the preceding 10.2.2.0 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-2830">DERBY-2830</a></td><td>Rename UpdateableBlobStream to UpdatableBlobStream</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2827">DERBY-2827</a></td><td>Rename ClobStreamControl to TemporaryClob</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2823">DERBY-2823</a></td><td>Rename ClobUpdateableReader to ClobUpdatableReader</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2818">DERBY-2818</a></td><td>Rewrite ClobUpdatableReader constructors</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2817">DERBY-2817</a></td><td>Error messages for deadlocks contain less information than in 10.2</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2812">DERBY-2812</a></td><td>Assessing blob (when its linked to DVD stream, ie large blob) corrupts stream fetched prior to this access.</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2806">DERBY-2806</a></td><td>calling getByteLength on org.apache.derby.impl.jdbc.StoreStreamClob makes BinaryStream, fetched before this call, unusable</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2805">DERBY-2805</a></td><td>ASSERT failure with sane build if DISTINCT and ORDER BY are present in a query that selects from a diagnostic table function.</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2802">DERBY-2802</a></td><td>LOBStreamControl.replaceBytes can throw null pointer exception while trying to access databytes after calling init</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2800">DERBY-2800</a></td><td>Implement Clob.truncate for embedded driver</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2795">DERBY-2795</a></td><td>Unable to bring up server with SSL peer authentication enabled</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2794">DERBY-2794</a></td><td>Document ansi trim functionality</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2791">DERBY-2791</a></td><td>Copy/paste error in Admin Guide under Customizing the Network Server's security policy</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2789">DERBY-2789</a></td><td>DatabaseMetaData .locatorsUpdateCopy() should return true</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2787">DERBY-2787</a></td><td>make entry for clob in connection so that temporary file is removed when a connection is closed or transaction is commited/rolledback</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2784">DERBY-2784</a></td><td>With JDBC 4 autoloading DriverManager.getProtocol("jdbc:derby:") throws java.sql.SQLException No suitable driver</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2777">DERBY-2777</a></td><td>Parameters should take their collation from the context in which they are getting used rather than the current compilation schema</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2772">DERBY-2772</a></td><td>Create a procedure to empty the statement cache exposing the existing functionality.</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2770">DERBY-2770</a></td><td>testBlobAfterCommit(....jdbcapi.BlobClob4BlobTest) fails with 'Unexpected SQL state. expected:&lt;XJ[073]&gt; but was:&lt;XJ[215]&gt;'</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2763">DERBY-2763</a></td><td>In the Network Client InputStreams and Readers returned from LOB's should be sensitive to underlying LOB data changes.</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2758">DERBY-2758</a></td><td>ODBC metadata function "SQLForeignKeys" returns different results in 10.3.</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2757">DERBY-2757</a></td><td>Do not require authentication when bringing up a security manager for the network server</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2754">DERBY-2754</a></td><td>Client connections should not fail if permission is not granted to read derby.client.traceLevel  and derby.client.traceDirectory</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2753">DERBY-2753</a></td><td>org.apache.derby.impl.drda.DDMWriter might swallow unexpected exceptions</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2751">DERBY-2751</a></td><td>testLoadJavaClassIndirectly &amp; als fails on JVM 1.4 with "Unexpected SQL state. expected:&lt;[38000]&gt; but was:&lt;[XJ001]&gt;", "Jar file 'MY_JAVA' already exists in Schema 'EMC'"</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2748">DERBY-2748</a></td><td>TimeSlice and Socket-Timeout bounds checking wrong</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2740">DERBY-2740</a></td><td>LIKE parameter marker combined with index multi-probing leads to ASSERT failure with sane jars, wrong results with insane jars.</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2735">DERBY-2735</a></td><td>Add a system procedure to set a user's connection level authorization.</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2730">DERBY-2730</a></td><td>Implement not implemented Embedded methods Blob.getBinaryStream(long pos, long length) and Clob. getCharacterStream(long pos, long length)</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2729">DERBY-2729</a></td><td>temporary lob file should be cleaned when the transaction or connection is no longer valid.</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2724">DERBY-2724</a></td><td>Set correct collation type and derivation for result character string types from CURRENT ISOLATION, CURRENT_USER, SESSION_USER, SYSTEM_USER, CURRENT SCHEMA and CURRENT SQLID.</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2723">DERBY-2723</a></td><td> Set correct collation type and derivation for result from user defined functions' that return character string type.</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2722">DERBY-2722</a></td><td>Set correct collation type and derivation for result character string types from CHAR, VARCHAR and XMLSERIALIZE functions</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2718">DERBY-2718</a></td><td>BlobClob4BlobTest and LobStreamTest fail creating database due to NullPointerException  on weme 6.1</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2717">DERBY-2717</a></td><td>throw error if non-matching collation ids in like.</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2716">DERBY-2716</a></td><td>lang.CollationTest2 failures on WEME 6.1</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2715">DERBY-2715</a></td><td>AssertionFailedError in LobStreamsTest and ClobUpdateableReaderTest on WinXP, Win2003</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2713">DERBY-2713</a></td><td>Ensure that a temporary file is not created for a lob obtained from resultset unless user updates it.</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2712">DERBY-2712</a></td><td>If large clob is updated after Reader. the reader continues to point to old data</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2711">DERBY-2711</a></td><td>If large blob is updated after InputStream is fetched (using getBinaryStream), the stream continues to point ot old data</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2710">DERBY-2710</a></td><td>disable dynamic like optimization for collated databases</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2706">DERBY-2706</a></td><td>fix like clauses with trailing % </td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2702">DERBY-2702</a></td><td>Enable Clob locator support between NetworkServer and NetworkClient and modify tests that experience changed behaviour due to this(enabling Clob Locators).</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2701">DERBY-2701</a></td><td>many sealing violation errors in ibm142 and ibm15 jvm test runs of junit tests.</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2695">DERBY-2695</a></td><td>Add locator support of soft upgrade to 10.3</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2694">DERBY-2694</a></td><td>org.apache.derby.impl.drda.DDMWriter uses wrong algorithm to avoid spliting varchar in the middle of a multibyte char.</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2693">DERBY-2693</a></td><td>Error in conrefs file reference in one Reference Manual file</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2692">DERBY-2692</a></td><td>Client driver doesn't chain exceptions received from the server</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2686">DERBY-2686</a></td><td>The skip method for some InputStreams and Readers return invalid values</td>
+</tr>
+<tr>
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2684">DERBY-2684</a></td><td>NSinSameJVM regression test failure, "&gt; FAIL: Should have gotten exception"</td>
 </tr>
 <tr>
@@ -82,9 +297,27 @@
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2671">DERBY-2671</a></td><td>Errors/messages early in starting the network server through NetworkServerControl.start() are not reported to the PrintWriter passed into start().</td>
 </tr>
 <tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2670">DERBY-2670</a></td><td>%a% and %aa% match too many rows in database with collation=TERRITORY_BASED and territory=no_NO</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2669">DERBY-2669</a></td><td>If no territory attribute is not specified at create database time, then we should ignore the collation attribute if specified.</td>
+</tr>
+<tr>
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2662">DERBY-2662</a></td><td>DITA error in adminguide/cadminservlet98430.dita</td>
 </tr>
 <tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2657">DERBY-2657</a></td><td>Performance regression after check-in of svn 531971</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2654">DERBY-2654</a></td><td>Document newly-supported (in embedded mode) JDBC methods for autogenerated keys.</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2646">DERBY-2646</a></td><td>Cleanup of Clob control/support structures</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2645">DERBY-2645</a></td><td>upgrade test failures with weme 6.1.</td>
+</tr>
+<tr>
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2644">DERBY-2644</a></td><td>multiple junit failures during nightly of the form: 2) Encryption Algorithm: defaultjava.security.AccessControlException: Access denied (java.util.PropertyPermission derby.system.home read)</td>
 </tr>
 <tr>
@@ -94,6 +327,12 @@
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2631">DERBY-2631</a></td><td>Expose existing auto-generated key functionality through more JDBC APIs in embedded mode.</td>
 </tr>
 <tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2622">DERBY-2622</a></td><td>Fix build problems related to locator work</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2621">DERBY-2621</a></td><td>Fix javadoc issues related to locator work</td>
+</tr>
+<tr>
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2613">DERBY-2613</a></td><td>upgrade test problem when attempting to test 10.0.2.1 - </td>
 </tr>
 <tr>
@@ -109,6 +348,9 @@
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2605">DERBY-2605</a></td><td>You can create BOOLEAN columns in 10.3</td>
 </tr>
 <tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2604">DERBY-2604</a></td><td>Implement Clob support for locators</td>
+</tr>
+<tr>
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2603">DERBY-2603</a></td><td>Minor erratum in page of VARCHAR in Derby Reference manual</td>
 </tr>
 <tr>
@@ -124,9 +366,15 @@
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2594">DERBY-2594</a></td><td>Revoking a privilege from an SQL Object should invalidate statements dependent on that object</td>
 </tr>
 <tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2593">DERBY-2593</a></td><td>Add documentation for the CREATE TABLE as subquery clause</td>
+</tr>
+<tr>
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2591">DERBY-2591</a></td><td>DataDictionaryImpl.getSystemSQLName() may generate duplicates</td>
 </tr>
 <tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2587">DERBY-2587</a></td><td>Connection.createClob() and Connection.createBlob() need to return locator support enabled LOB objects in the NetworkClient</td>
+</tr>
+<tr>
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2586">DERBY-2586</a></td><td>BlobClob4BlobTest.tesPositionAgressive takes very long time</td>
 </tr>
 <tr>
@@ -172,12 +420,24 @@
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2538">DERBY-2538</a></td><td>Update documentation to describe the expected behavior when a JDBC 4 app creates a JDBC 3 datasource.</td>
 </tr>
 <tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2537">DERBY-2537</a></td><td>implement pushing collation info to store, storing collation info in store metadata, and creating templates based on store metadata</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2526">DERBY-2526</a></td><td>Wrong results with queries that use the JOIN ... ON syntax to join with views or other non-base table expressions.</td>
+</tr>
+<tr>
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2521">DERBY-2521</a></td><td>Building derby outputs (from ant) various information messages that are marked as warning severity.</td>
 </tr>
 <tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2520">DERBY-2520</a></td><td>Document new restrictions of database shutdown, encryption and hard upgrade powers</td>
+</tr>
+<tr>
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2511">DERBY-2511</a></td><td>reference manual's description of JDBC4 features has misleading sections</td>
 </tr>
 <tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2508">DERBY-2508</a></td><td>Implement the XA transaction timeout support for embedded driver.</td>
+</tr>
+<tr>
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2506">DERBY-2506</a></td><td>Adding the locator information to FD:OCA descriptor (FDODSC) andFD:OCA data (FDODTA)  of the SQLDTA objects</td>
 </tr>
 <tr>
@@ -187,6 +447,9 @@
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2500">DERBY-2500</a></td><td>Assertion failure preparing query with AND and OR in where clause</td>
 </tr>
 <tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2496">DERBY-2496</a></td><td>Implement Blob support for Locators</td>
+</tr>
+<tr>
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2495">DERBY-2495</a></td><td>Create framework for calling locator related stored procedures from client</td>
 </tr>
 <tr>
@@ -205,12 +468,18 @@
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2473">DERBY-2473</a></td><td>Compilation of reference manual translated into pt_BR seems to be failed</td>
 </tr>
 <tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2472">DERBY-2472</a></td><td>Use Throwable.initCause() to improve error reporting</td>
+</tr>
+<tr>
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2466">DERBY-2466</a></td><td>Allow dynamic reloading of the security policy file</td>
 </tr>
 <tr>
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2462">DERBY-2462</a></td><td>org.apache.derby.impl.store.access.BackingStoreHashTableFromScan does not honor ResultSet holdability</td>
 </tr>
 <tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2459">DERBY-2459</a></td><td>Ordering on a CASE-expression casues a NullPointerException when using a UNION</td>
+</tr>
+<tr>
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2456">DERBY-2456</a></td><td>File stream is left open when an exception occurs while setting up a character stream for data export.</td>
 </tr>
 <tr>
@@ -220,9 +489,15 @@
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2444">DERBY-2444</a></td><td>Implement not implemented methods Blob.getBinaryStream(long pos, long length) and Clob. getCharacterStream(long pos, long length) in the Network Client</td>
 </tr>
 <tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2443">DERBY-2443</a></td><td>Implement ResultSet updateClob/updateBlob methods  on the NetworkClient</td>
+</tr>
+<tr>
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2435">DERBY-2435</a></td><td>network server boot fails indicating authentication must be set up even when authentication is fully defined in derby.properties</td>
 </tr>
 <tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2432">DERBY-2432</a></td><td>Unimplemented transaction time out for XA transactions may cause that locks will not be released when client terminates outside a unit of work.</td>
+</tr>
+<tr>
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2431">DERBY-2431</a></td><td>Documentation for DatabaseMetaData should reflect that getColumnPrivileges and getTablePrivileges are implemented</td>
 </tr>
 <tr>
@@ -241,6 +516,9 @@
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2391">DERBY-2391</a></td><td>"Derby and standards" section of Developer's Guide needs reorganization</td>
 </tr>
 <tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2390">DERBY-2390</a></td><td>DOCS - Merge Working with Derby and Getting Started Guide</td>
+</tr>
+<tr>
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2387">DERBY-2387</a></td><td>DOCs - Reorder the topics in the Ref Manual into Alphabetical order - functions, procedures</td>
 </tr>
 <tr>
@@ -253,6 +531,12 @@
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2381">DERBY-2381</a></td><td>ParameterMappingTest fails due to ArrayIndexOutOfBoundsException  executing a procedure</td>
 </tr>
 <tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2379">DERBY-2379</a></td><td>provide encryption support for temporary files used by lob if the data base is encrypted</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2377">DERBY-2377</a></td><td>Document language based ordering which will be implemented by code related sub-tasks of DERBY-1478.</td>
+</tr>
+<tr>
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2376">DERBY-2376</a></td><td>Patch available to make .classpath entries portable - relative to ECLIPSE_HOME</td>
 </tr>
 <tr>
@@ -271,6 +555,9 @@
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2365">DERBY-2365</a></td><td>Brushing up pages for MAX and MIN in Derby Reference Manual</td>
 </tr>
 <tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2364">DERBY-2364</a></td><td>improve documentation to explain logged/unlogged operations</td>
+</tr>
+<tr>
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2361">DERBY-2361</a></td><td>Documentation should give examples for using the different security mechanisms</td>
 </tr>
 <tr>
@@ -283,6 +570,9 @@
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2347">DERBY-2347</a></td><td>Add code to support request and return of locators over DRDA</td>
 </tr>
 <tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2346">DERBY-2346</a></td><td>Provide set methods for clob for embedded driver</td>
+</tr>
+<tr>
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2345">DERBY-2345</a></td><td>truncate on a Blob does not work when the Blob is in memory</td>
 </tr>
 <tr>
@@ -298,6 +588,9 @@
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2336">DERBY-2336</a></td><td>Enable collation based ordering for CHAR data type.</td>
 </tr>
 <tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2330">DERBY-2330</a></td><td>Disallow user-defined SQL routines to resolve to entry points (methods in classes) in the org.apache.derby.* namespace</td>
+</tr>
+<tr>
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2328">DERBY-2328</a></td><td>Reduce monitor contention in SinglePool</td>
 </tr>
 <tr>
@@ -322,6 +615,18 @@
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2275">DERBY-2275</a></td><td>XSLT changes for PDF output</td>
 </tr>
 <tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2274">DERBY-2274</a></td><td>Implement testing for SSL communication</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2273">DERBY-2273</a></td><td>Implement SSL flag in datasource objects</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2272">DERBY-2272</a></td><td>SSL Documentation</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2264">DERBY-2264</a></td><td>Restrict shutdown, upgrade, and encryption powers to the database owner</td>
+</tr>
+<tr>
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2263">DERBY-2263</a></td><td>Update the copyright dita files to mark Derby logo images as non-substantive images (for accessibility)</td>
 </tr>
 <tr>
@@ -343,6 +648,9 @@
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2256">DERBY-2256</a></td><td>Wrong Results: Use of decimal values in an IN-list with INTEGER left operand can lead to extra rows.</td>
 </tr>
 <tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2247">DERBY-2247</a></td><td>provide set methods for blob in embeded driver</td>
+</tr>
+<tr>
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2244">DERBY-2244</a></td><td>DatabaseMetaData.supportsExpressionsInOrderBy() returns false</td>
 </tr>
 <tr>
@@ -352,6 +660,9 @@
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2237">DERBY-2237</a></td><td>Cleanup copyrights in the DITA source and generated docs</td>
 </tr>
 <tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2230">DERBY-2230</a></td><td>AssertFailure: ByteCode Conditional then/else stack mismatch</td>
+</tr>
+<tr>
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2228">DERBY-2228</a></td><td>Support Derby on J2ME/CDC/Foundation 1.1</td>
 </tr>
 <tr>
@@ -385,6 +696,9 @@
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2202">DERBY-2202</a></td><td>DROP PROCEDURE depends on SET SCHEMA</td>
 </tr>
 <tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2196">DERBY-2196</a></td><td>Run standalone network server with security manager by default</td>
+</tr>
+<tr>
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2195">DERBY-2195</a></td><td>Nested triggers not working properly after maximum trigger count exception is thrown</td>
 </tr>
 <tr>
@@ -427,6 +741,9 @@
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2135">DERBY-2135</a></td><td>add comment to messages.xml to ensure translations are kept in sync or removed when adding/removing parameters</td>
 </tr>
 <tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2124">DERBY-2124</a></td><td>Incorrect method name in error message for Connection.setTransactionIsolation method</td>
+</tr>
+<tr>
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2123">DERBY-2123</a></td><td>Remove workaround for old JIT bug from StoredPage</td>
 </tr>
 <tr>
@@ -436,6 +753,9 @@
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2121">DERBY-2121</a></td><td>Remove JDK 1.3 build dependency in network server</td>
 </tr>
 <tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2118">DERBY-2118</a></td><td>Change some boundary checks in ArrayInputStream to ASSERTs to improve performance</td>
+</tr>
+<tr>
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2114">DERBY-2114</a></td><td>Let Clock embed a HashMap rather than inherit from Hashtable</td>
 </tr>
 <tr>
@@ -487,12 +807,18 @@
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2042">DERBY-2042</a></td><td>Provide documentation for new RENAME COLUMN statement</td>
 </tr>
 <tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2040">DERBY-2040</a></td><td>Setting derby.database.classpath to contain installed jars causes the database to be unbootable when a Securitymanager is installed.</td>
+</tr>
+<tr>
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2025">DERBY-2025</a></td><td>convert lang/updatableResultSet.java to Junit</td>
 </tr>
 <tr>
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2022">DERBY-2022</a></td><td>jdbcapi.LobStreamsTest runs only in client (not embedded) but its suite() method gives no reason why.</td>
 </tr>
 <tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-2020">DERBY-2020</a></td><td>Change file option for syncing log file to disk from rws to rwd</td>
+</tr>
+<tr>
 <td><a href="http://issues.apache.org/jira/browse/DERBY-2019">DERBY-2019</a></td><td>IJ's describe command does not handle quotes very well</td>
 </tr>
 <tr>
@@ -523,6 +849,9 @@
 <td><a href="http://issues.apache.org/jira/browse/DERBY-1965">DERBY-1965</a></td><td>NetworkServerControlImpl never closes the socket or streams it opens in setUpSocket.</td>
 </tr>
 <tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-1964">DERBY-1964</a></td><td>Update the documentation of SYSCS_UTIL.SYSCS_COMPRESS_TABLE for the changes that went in as part of DERBY-737</td>
+</tr>
+<tr>
 <td><a href="http://issues.apache.org/jira/browse/DERBY-1959">DERBY-1959</a></td><td>10.2 'Derby Developer's Guide' error/ambiguity.</td>
 </tr>
 <tr>
@@ -541,6 +870,9 @@
 <td><a href="http://issues.apache.org/jira/browse/DERBY-1947">DERBY-1947</a></td><td>OutOfMemoryError after repeated calls to boot and shutdown a database</td>
 </tr>
 <tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-1942">DERBY-1942</a></td><td>There exists difference between behavior of  setNull(Types.TIME) and setTiime(null).</td>
+</tr>
+<tr>
 <td><a href="http://issues.apache.org/jira/browse/DERBY-1935">DERBY-1935</a></td><td>Reference Manual - Derby Limitations</td>
 </tr>
 <tr>
@@ -607,9 +939,15 @@
 <td><a href="http://issues.apache.org/jira/browse/DERBY-1816">DERBY-1816</a></td><td>Client's ResultSet.getTime() on a SQL TIMESTAMP column loses the sub-second resolution and always has a milli-second value of zero.</td>
 </tr>
 <tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-1815">DERBY-1815</a></td><td>In admin guide examples to start network server on windows with .bat scripts,   $DERYBY_INSTALL Is used ,  I think  it  should be %DERBY_INSTALL%</td>
+</tr>
+<tr>
 <td><a href="http://issues.apache.org/jira/browse/DERBY-1805">DERBY-1805</a></td><td>Links to element ids inside a topic are broken in PDFs and HTML Books</td>
 </tr>
 <tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-1797">DERBY-1797</a></td><td>Building toursdb would go a little faster if it used autocommit off mode.</td>
+</tr>
+<tr>
 <td><a href="http://issues.apache.org/jira/browse/DERBY-1795">DERBY-1795</a></td><td>Graphics not copied over for PDF and HTML-single manuals</td>
 </tr>
 <tr>
@@ -643,6 +981,15 @@
 <td><a href="http://issues.apache.org/jira/browse/DERBY-1624">DERBY-1624</a></td><td>use of direct column name rather than alias make aggregation fail (Hibernate depends on that)</td>
 </tr>
 <tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-1623">DERBY-1623</a></td><td>Add ANSI TRIM implementation</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-1620">DERBY-1620</a></td><td>SQL CASE statement returns ERROR 42X89 when including NULL as a return value</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-1610">DERBY-1610</a></td><td>Resolve difference of type compatibility between Embedded and NetworkServer/NetworkDriver</td>
+</tr>
+<tr>
 <td><a href="http://issues.apache.org/jira/browse/DERBY-1590">DERBY-1590</a></td><td>Consolidate the *conrefs.dita files in the documentation source tree to a single file.</td>
 </tr>
 <tr>
@@ -664,6 +1011,9 @@
 <td><a href="http://issues.apache.org/jira/browse/DERBY-1520">DERBY-1520</a></td><td>Document new SYSCS_DIAG tables</td>
 </tr>
 <tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-1519">DERBY-1519</a></td><td>'setAsciiStream' uses different encodings for embedded and client</td>
+</tr>
+<tr>
 <td><a href="http://issues.apache.org/jira/browse/DERBY-1501">DERBY-1501</a></td><td>PreparedStatement#setNull(int parameterIndex, int sqlType) throws SQL Exception if given sqlType is LONGVARBINARY in embedded mode</td>
 </tr>
 <tr>
@@ -679,85 +1029,2541 @@
 <td><a href="http://issues.apache.org/jira/browse/DERBY-1484">DERBY-1484</a></td><td>Client and embedded behave differently when the table name is null in DatabaseMetaData methods</td>
 </tr>
 <tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-1440">DERBY-1440</a></td><td>jdk 1.6 client driver omits SQLStates and chained exceptions in error messages</td>
+</tr>
+<tr>
 <td><a href="http://issues.apache.org/jira/browse/DERBY-1434">DERBY-1434</a></td><td>Client can send incorrect database name to server after having made multiple connections to different databases.</td>
 </tr>
 <tr>
-<td><a href="http://issues.apache.org/jira/browse/DERBY-1275">DERBY-1275</a></td><td>Provide a way to enable client tracing without changing the application</td>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-1381">DERBY-1381</a></td><td>Document ij.exceptionTrace property</td>
 </tr>
 <tr>
-<td><a href="http://issues.apache.org/jira/browse/DERBY-1132">DERBY-1132</a></td><td>Truncation Error with Concat</td>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-1377">DERBY-1377</a></td><td>Update copyright headers to comply with new ASF policy</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-1355">DERBY-1355</a></td><td>ClientDriver ResultSetMetaData.isAutoIncrement(column) always returns false</td>
+</tr>
+<tr>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-1341">DERBY-1341</a></td><td>LOB set method(s) are currently no supported, but part of the Java 1.4 JDBC interface</td>
 </tr>
 <tr>
-<td><a href="http://issues.apache.org/jira/browse/DERBY-1054">DERBY-1054</a></td><td>Starting Derby with the NetServlet inside of tomcat does not allow binding to non localhost interface.</td>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-1275">DERBY-1275</a></td><td>Provide a way to enable client tracing without changing the application</td>
 </tr>
 <tr>
-<td><a href="http://issues.apache.org/jira/browse/DERBY-931">DERBY-931</a></td><td>Until DERBY-911 gets fixed, document the difference in behavior between Nework Client Driver and Embedded Driver for setReadOnly</td>
+<td><a href="http://issues.apache.org/jira/browse/DERBY-1132">DERBY-1132</a></td><td>Truncation Error with Concat</td>
 </tr>
 </table>
 </blockquote>
 <h2>
 <a name="Issues"></a>Issues</h2>
 <blockquote>
-<p>Compared with the previous release (10.2.2.0), Derby release 10.3.0.0 introduces the following new features and incompatibilities. These merit your special attention.</p>
+<p>Compared with the previous release (10.2.2.0), Derby release 10.3.1.0 beta introduces the following new features and incompatibilities. These merit your special attention.</p>
 <ul>
 <li>
-<a href="#Note for DERBY-2610">Note for DERBY-2610: ???</a>
+<a href="#Note for DERBY-2757">Note for DERBY-2757: 
+Security enhancements to the Network Server may slow down Derby's runtime performance, and
+      they may trigger SecurityExceptions when Derby executes user-written
+      functions and procedures.
+</a>
 </li>
 <li>
-<a href="#Note for DERBY-2386">Note for DERBY-2386: ???</a>
+<a href="#Note for DERBY-2729">Note for DERBY-2729: Blob and Clob objects, irrespective of size, are released once
+transaction is not valid or when connection is closed.</a>
 </li>
 <li>
-<a href="#Note for DERBY-2296">Note for DERBY-2296:
-ClientDataSource now supports the createDatabase and shutdownDatabase properties.
+<a href="#Note for DERBY-2610">Note for DERBY-2610: 
+The table name can no longer be a pattern in calls to DatabaseMetaData
+methods getBestRowIdentifier, getColumnPrivileges, getIndexInfo,
+getVersionColumns, getPrimaryKeys, getImportedKeys, getExportedKeys
+and getCrossReference.
 </a>
 </li>
 <li>
-<a href="#Note for DERBY-2108">Note for DERBY-2108: ???</a>
+<a href="#Note for DERBY-2526">Note for DERBY-2526: Queries which use the JOIN ... ON syntax to join with views or other
+non-base table expressions may now return different results.</a>
 </li>
 <li>
-<a href="#Note for DERBY-1852">Note for DERBY-1852: ???</a>
+<a href="#Note for DERBY-2443">Note for DERBY-2443: 
+Detailed
+description of these methods can be found in api docs of J2SE 6:
+</a>
 </li>
 <li>
-<a href="#Note for DERBY-1828">Note for DERBY-1828:
-Most authorization failures have new error codes.
+<a href="#Note for DERBY-2430">Note for DERBY-2430: 
+The application
+will see an error in the event of calling setObject(int targetType,
+Blob source) and setObject(int targetType, Clob source) with a
+targetType other than Blob and Clob. This will be in conformance with
+the embedded behaviour.
 </a>
 </li>
 <li>
-<a href="#Note for DERBY-1501">Note for DERBY-1501: ???</a>
+<a href="#Note for DERBY-2386">Note for DERBY-2386: 
+The return type of the timestampdiff function has been changed from INT to BIGINT.
+</a>
 </li>
 <li>
-<a href="#Note for DERBY-1484">Note for DERBY-1484:
-The table name can no longer be a pattern in calls to DatabaseMetaData methods getBestRowIdentifier, getColumnPrivileges, getIndexInfo, getVersionColumns, getPrimaryKeys, getImportedKeys and getExportedKeys.
-</a>
+<a href="#Note for DERBY-2370">Note for DERBY-2370: EXISTS predicates with subqueries that use set operators (UNION,
+INTERSECT, EXCEPT) may now behave differently.</a>
 </li>
 <li>
-<a href="#Note for DERBY-729">Note for DERBY-729: ???</a>
+<a href="#Note for DERBY-2330">Note for DERBY-2330: ???</a>
 </li>
 <li>
-<a href="#Note for DERBY-415">Note for DERBY-415:
-Sysinfo now presents separate command switches to check the classpath for the presence of the Derby client and the DB2 JCC driver.
+<a href="#Note for DERBY-2296">Note for DERBY-2296: 
+ClientDataSource now supports the createDatabase and shutdownDatabase properties.
 </a>
 </li>
 <li>
-<a href="#Note for DERBY-119">Note for DERBY-119:
-The ALTER TABLE statement now includes the additional ability to alter
+<a href="#Note for DERBY-2264">Note for DERBY-2264: 
+Henceforth, when authentication is enabled
+(</a>
+</li>
+<li>
+<a href="#Note for DERBY-2256">Note for DERBY-2256: Use of decimal values in an IN predicate whose left operand is an
+INTEGER may now return different results.</a>
+</li>
+<li>
+<a href="#Note for DERBY-2196">Note for DERBY-2196: 
+The user should customize the security policy which the Network Server
+      now installs by default.
+</a>
+</li>
+<li>
+<a href="#Note for DERBY-2108">Note for DERBY-2108: 
+SSL/TLS implemented for client/server communication.
+</a>
+</li>
+<li>
+<a href="#Note for DERBY-2020">Note for DERBY-2020: 
+Writing of the transaction log to disk has been changed to open log files in "rwd" mode instead of "rws" if the JVM  supports it.
+</a>
+</li>
+<li>
+<a href="#Note for DERBY-1942">Note for DERBY-1942: The use of the TIME data type is more restricted. </a>
+</li>
+<li>
+<a href="#Note for DERBY-1852">Note for DERBY-1852: Queries with nested set operators (UNION, INTERSECT, EXCEPT) in a
+FROM list may now return different results.
+</a>
+</li>
+<li>
+<a href="#Note for DERBY-1828">Note for DERBY-1828: 
+Most authorization failures have new error codes.
+</a>
+</li>
+<li>
+<a href="#Note for DERBY-1816">Note for DERBY-1816: ResultSet.getTime() on an SQL TIMESTAMP value now has millisecond
+resolution with the Derby client driver.</a>
+</li>
+<li>
+<a href="#Note for DERBY-1610">Note for DERBY-1610: 
+Derby's Client implementation will return an appropriate error, more often matching the behavior with Embedded in the a number of situations related to.setNull(int, int) and set*(int, null, int) methods for PreparedStatement and CallableStatement.
+</a>
+</li>
+<li>
+<a href="#Note for DERBY-1519">Note for DERBY-1519: 
+Streams obtained by calling get-/setAsciiStream in the client driver use encoding "ISO-8859-1" instead of "US-ASCII".
+</a>
+</li>
+<li>
+<a href="#Note for DERBY-1484">Note for DERBY-1484: 
+The table name can no longer be null in calls to DatabaseMetaData methods getBestRowIdentifier, getColumnPrivileges, getIndexInfo, getVersionColumns, getPrimaryKeys, getImportedKeys and getExportedKeys.
+</a>
+</li>
+<li>
+<a href="#Note for DERBY-1341">Note for DERBY-1341: Added unimplemented methods introduced in the JDBC 3.0 and 4.0
+specification. Blob and Clob now support all the methods of JDBC 3.0 and 4.0.</a>
+</li>
+<li>
+<a href="#Note for DERBY-729">Note for DERBY-729: 
+Scalar time and date functions should return NULL when the argument is NULL
+</a>
+</li>
+<li>
+<a href="#Note for DERBY-415">Note for DERBY-415: 
+Sysinfo now presents separate command switches to check the classpath for the presence of the Derby client and the DB2 JCC driver.
+</a>
+</li>
+<li>
+<a href="#Note for DERBY-208">Note for DERBY-208: Network Client:  Locator-based implementation of Blob/Clob
+operations. 
+</a>
+</li>
+<li>
+<a href="#Note for DERBY-119">Note for DERBY-119: 
+The ALTER TABLE statement now includes the additional ability to alter
 the NULL / NOT NULL constraint on a column in a table.
 </a>
 </li>
 </ul>
 <hr>
 <h3>
-<a name="Note for DERBY-2610"></a>Note for DERBY-2610</h3>
-<blockquote></blockquote>
-<hr>
-<h3>
-<a name="Note for DERBY-2386"></a>Note for DERBY-2386</h3>
-<blockquote></blockquote>
+<a name="Note for DERBY-2757"></a>Note for DERBY-2757</h3>
+<blockquote>
+
+<!-- 
+  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>
+Security enhancements to the Network Server may slow down Derby's runtime performance, and
+      they may trigger SecurityExceptions when Derby executes user-written
+      functions and procedures.
+</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>
+Startup performance for networked applications may degrade after upgrading to 10.3. In addition,
+      after upgrade, user-written functions and procedures may raise SecurityExceptions.
+</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>
+In previous releases, the Network Server booted without
+installing a default security
+      manager. Now, the Network Server
+      installs a security manager if the user forgets to. Application
+      startup may slow down as the security manager performs initial access
+      checks on Derby tables. Once all user tables have been touched,
+      the application should reach steady state and the drag induced
+      by the security manager should be negligible.
+</p>
+
+
+<p>
+In addition, SecurityExceptions may occur if user-written functions
+      and procedures perform sensitive operations such as
+      reading/writing files and getting/setting system properties.
+</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 a client/server configuration, it is particularly important to
+      protect against other users' mistakes and hacking. Derby is enhancing
+      security for this configuration.
+Now if you neglect to configure a Java security
+      manager, the Network Server attempts to install its own security
+      manager with a default policy.
+</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>
+SecurityExceptions can be avoided by installing your own security
+      manager with your own policy file, which grants the appropriate
+      privileges to your user-written code. Instructions on how to do
+      this can be found in the Derby Developer's Guide in the section
+titled "Running Derby under a security manager" and in the
+Derby Server and Administration Guide in the section titled
+"Running the Network Server under the security manager".
+</p>
+
+
+<p>
+If for some reason this is not practical, or if the startup
+      performance drag is intolerable, then you can instruct the
+      server to not install a security manager. You do this by booting
+      the server with the "-noSecurityManager" command line option as
+      explained in above-mentioned section of the Derby Server and Administration Guide.
+</p>
+
+
+
+
+</blockquote>
 <hr>
 <h3>
-<a name="Note for DERBY-2296"></a>Note for DERBY-2296</h3>
+<a name="Note for DERBY-2729"></a>Note for DERBY-2729</h3>
 <blockquote>
-<!--
+
+<!-- 
+  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>Blob and Clob objects, irrespective of size, are released once
+transaction is not valid or when connection is 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>While using Embedded Driver</p>
+
+
+
+<ul>
+
+
+  
+<li>Short Blob or Clob throwing SQLException with SQLSTATE set to XJ215 when accessed after commit/rollback.</li>
+
+
+  
+<li>Short Blob or Clob throwing SQLException with SQLSTATE set to 08003 when accessed after closing connection.</li>
+
+
+  
+<li>SQLException with state XJ215 when applications were expecting it to be XJ073.</li>
+
+
+
+</ul>
+
+
+While using Network Client<br>
+
+
+
+<ul>
+
+
+  
+<li>Calling any method on Blob or Clob after commit throw
+        SQLException with SQLSTATE set to XJ215.</li>
+
+
+
+</ul>
+
+
+<!-- 
+  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>
+Blob and Clob objects
+won't be usable if transaction is committed or rolled back (either
+explicitly or indirect commit in case of auto commit is turned on) or if
+a transaction is rolled back in case of an exception with severity level
+TRANSACTION or higher.
+<p>
+
+Embedded Driver</p>
+
+
+
+<ul>
+
+
+  
+<li>Short Blob or Clob are not accessible beyond transaction.</li>
+
+
+  
+<li>Short Blob or Clob are not accessible after connection is closed.</li>
+
+
+
+</ul>
+
+
+Network Client<br>
+
+
+
+<ul>
+
+
+  
+<li>Blob and Clob are not accessible after commit/rollback.</li>
+
+
+
+</ul>
+
+
+
+
+
+<!-- 
+  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>
+
+
+
+
+<ul>
+
+
+  
+<li>Network Client and Embedded driver have same behavior hence the application are easier to port from one mode to another.</li>
+
+
+</ul>
+
+
+<ul>
+
+  
+<li>Small and Large behave same hence user doesn't have to bother about small and large lob.</li>
+
+
+
+</ul>
+
+
+
+<ul>
+
+
+  
+  
+  
+<ul>
+
+    
+<li>Concept of small and large lobs is little vague as it depends on
+page size and available space in it. An application can't be sure what
+size will be considered small.</li>
+
+  
+  
+</ul>
+
+
+
+</ul>
+
+
+
+
+
+<!-- 
+  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>Embedded Driver</p>
+
+
+
+<ul>
+
+
+  
+<li>Applications shouldn't try to access lob objects small lob
+objects beyond transaction boundary or after connection is closed.</li>
+
+
+
+</ul>
+
+
+
+<p>Network Client</p>
+
+
+
+<ul>
+
+
+  
+<li>Applications should not try to access lob objects beyond transaction boundary.
+  </li>
+
+
+
+</ul>
+
+
+
+
+
+
+</blockquote>
+<hr>
+<h3>
+<a name="Note for DERBY-2610"></a>Note for DERBY-2610</h3>
+<blockquote>
+
+<!-- 
+  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 table name can no longer be a pattern in calls to DatabaseMetaData
+methods getBestRowIdentifier, getColumnPrivileges, getIndexInfo,
+getVersionColumns, getPrimaryKeys, getImportedKeys, getExportedKeys
+and getCrossReference.
+</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, the methods returned information on all
+tables that matched the pattern in the schema. A table name value of
+null was treated as a wildcard. Table names now have to match what is
+stored in the database. </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>
+Calls to the specified methods now fail if the table name parameter is a pattern (no information is returned).
+</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 JDBC 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>
+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. </p>
+
+
+
+
+</blockquote>
+<hr>
+<h3>
+<a name="Note for DERBY-2526"></a>Note for DERBY-2526</h3>
+<blockquote>
+<!-- 
+  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 which use the JOIN ... ON syntax to join with views or other
+non-base table expressions may now return different results.<br>
+
+</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>Applications which use the explicit JOIN ... ON syntax to perform
+joins between three or more FROM expressions, at least one of which is
+a view, subquery, or other non-base table expression, may have been
+seeing incorrect results prior to this release.<br>
+
+</p>
+
+<p>As an example, take the following:<br>
+
+</p>
+
+<p>
+<span style="font-family: monospace;"> create table t1 (c0
+int);<br>
+ create table x (c1 int, c2 int);<br>
+ create table t2 (c3 int, c4 int);<br>
+
+<br>
+ insert into t1 values 1;<br>
+ insert into x values (0, 1);<br>
+ insert into t2 values (0, 2);</span>
+
+</p>
+
+<p>With these tables, the following query should return one row, but
+was returning zero rows in previous releases:<br>
+
+</p>
+
+<p>
+<span style="font-family: monospace;"> select t1.* from</span>
+<span style="font-family: monospace;">
+t1 JOIN (select * from x) vw(c1,c2) ON (t1.c0 = vw.c2)</span>
+<span style="font-family: monospace;">
+JOIN t2 ON (vw.c1 = t2.c3)<br>
+
+</span>
+</p>
+
+<p>This problem has been fixed in Derby 10.3.
+</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>
+The fix for the bug shown above does not introduce any functional
+incompatibilities. However, applications may now see different
+results if they happen to use queries that rely on the JOIN ... ON
+syntax to
+join with views, subqueries, or other non-base table expressions. </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>Due to an error in column reference mappings, it was possible for
+earlier versions of Derby
+to confuse ON predicate column references with each other, thereby
+leading to incorrect computation of transitive closure. This in
+turn could lead to the addition of invalid predicates to the query,
+which caused wrong results in certain cases.<br>
+
+</p>
+
+<p>By fixing this bug we ensure that the affected queries will always
+return the correct results.<br>
+
+</p>
+
+<h4>Application Changes Required</h4>
+
+<p>
+No application changes should be needed.<br>
+
+</p>
+
+</blockquote>
+<hr>
+<h3>
+<a name="Note for DERBY-2443"></a>Note for DERBY-2443</h3>
+<blockquote>
+
+
+<h4>Summary of Change</h4>
+
+<P>Added unimplemented methods introduced in the java.sql.ResultSet
+interface.</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>Existing application won't be effected by it as these methods are
+new implementations. Applications won't be getting Not Implemented
+exception anymore.</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>To add implementations for unimplemented Blob and Clob related
+methods in the ResultSet interface.</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 can now make use of the following new methods</P>
+
+
+<pre>
+void updateBlob(int columnIndex, Blob x) throws SQLException
+void updateBlob(String columnName, Blob x) throws SQLException
+
+void updateClob(int columnIndex, Clob x) throws SQLException
+void updateClob(String columnName, Clob x) throws SQLException
+
+void updateBlob(int columnIndex, InputStream x, long length) throws SQLException
+void updateBlob(String columnName, InputStream x, long length) throws SQLException
+
+void updateClob(int columnIndex, Reader x, long length) throws SQLException
+void  updateClob(String columnName, Reader x, long length) throws SQLException
+
+</pre>
+
+
+<p>
+Detailed
+description of these methods can be found in api docs of J2SE 6:
+<a href="http://java.sun.com/javase/6/docs/api/java/sql/ResultSet.html">ResultSet</a>.
+</p>
+
+</blockquote>
+<hr>
+<h3>
+<a name="Note for DERBY-2430"></a>Note for DERBY-2430</h3>
+<blockquote>
+
+<!-- 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>Derby's Client implementation will return an error matching the
+behavior with Embedded in the event when setObject(int targetType,
+Blob source) and setObject(int targetType, Clob source)  is called
+with a targetType other than Blob and Clob.</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>
+The application
+will see an error in the event of calling setObject(int targetType,
+Blob source) and setObject(int targetType, Clob source) with a
+targetType other than Blob and Clob. This will be in conformance with
+the embedded behaviour.
+</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>
+Derby's Client
+implementation and Embedded implementation should behave the same way
+from the point of view of an application whenever possible.
+</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
+relying on the Client behaving in the old way will have to be
+adjusted.
+</P>
+
+
+</blockquote>
+<hr>
+<h3>
+<a name="Note for DERBY-2386"></a>Note for DERBY-2386</h3>
+<blockquote>
+
+<!--
+  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 return type of the timestampdiff function has been changed from INT to BIGINT.
+</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(s), using the builtin timestampdiff function using the SQL_TSI_FRAC_SECOND for the datepart parameter would return an integer overflow error except with very small intervals, less then a second, because the result would exceed the range of an INT.
+For intervals larger than a second, SQL_TSI_SECOND had to be used. Now, the result type has been changed to BIGINT and so one can use intervals &gt; 1 sec with SQL_TSI_FRAC_SECOND.
+However as a result of the change SQL functions taking the result of the timestampdiff function as a parameter as INT will no longer be resolved.
+</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>
+As a result of the change, the result type for the timestampdiff function is now BIGINT. Applications which use the return value as a parameter to an SQL function will find that the SQL function can no longer be resolved.
+</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 required the application developer to know ahead of time the range for the timestampdiff. Returning BIGINT enables the function to cope with a larger range.
+</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>
+SQL functions taking the result of a timestampdiff function as a parameter will have to be modified to take a BIGINT parameter instead of INT.
+</p>
+
+
+
+</blockquote>
+<hr>
+<h3>
+<a name="Note for DERBY-2370"></a>Note for DERBY-2370</h3>
+<blockquote>
+
+<!-- 
+  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>EXISTS predicates with subqueries that use set operators (UNION,
+INTERSECT, EXCEPT) may now behave differently.</p>
+
+<p>
+
+</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>
+Applications which specify set operations inside of an EXISTS predicate
+may have been seeing incorrect results for such queries. For
+example, the following query should return a single row with column
+"OK":
+</p>
+
+
+<pre>
+select * from ( values 'OK' ) as T where exists (values 1 except values 2)
+</pre>
+
+
+<p>Prior to Derby 10.3, though, that query would incorrectly return
+zero rows.
+</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>
+Prior to Derby 10.3 a user could specify "SELECT *" within an EXISTS
+predicate's set operation and Derby took the "*" to be a single
+column. As a result, some queries would compile and execute
+without error even when they should have failed. As an example,
+the following query would succeed even if table T2 had more than one
+column:
+</p>
+
+
+<pre>
+select * from ( values 'OK') as T where exists
+   (select i from T1 union select * from T2)
+</pre>
+
+
+<p>As of version 10.3 Derby no longer allows this. Changes
+to fix the incorrect query results make it so that the above query will
+now throw an error (42X58) if T2 has more than one column, because then
+the left and right result sets of the union would not have the same
+number of result columns.
+</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>
+Due to the way in which Derby internally handles result columns within
+an EXISTS predicate, it was possible for queries having EXISTS
+predicates with set operators to return incorrect results. By
+internally rewriting the EXISTS subquery when it is a set operator, we
+can ensure that Derby now evaluates such predicates correctly.
+For more on the details of the rewrite, see DERBY-2370.
+</p>
+
+<h4>Application Changes Required</h4>
+
+<p>
+
+</p>
+
+<p>As a result of the new internal rewrite, any "*" that appears within
+the EXISTS set operation will now be properly expanded. This
+means that applications which specify set operations inside of an
+EXISTS predicate
+must now ensure that the result sets to which a given set operation
+applies have the same number of result columns. See the
+"incompatibilities" section above for details. No other
+application changes are required.</p>
+
+<p>
+
+</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.
+-->
+
+</blockquote>
+<hr>
+<h3>
+<a name="Note for DERBY-2330"></a>Note for DERBY-2330</h3>
+<blockquote></blockquote>
+<hr>
+<h3>
+<a name="Note for DERBY-2296"></a>Note for DERBY-2296</h3>
+<blockquote>
+<!-- 
+  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>
+ClientDataSource now supports the createDatabase and shutdownDatabase properties.
+</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>The functionality is new for ClientDataSources. Previously, applications
+      could not call these methods. Now these methods work:
+</p>
+
+<blockquote>
+
+<ul>
+
+<li>setCreateDatabase (String) </li>
+
+<li>getCreateDatabase() </li>
+
+<li>setShutdownDatabase (String) </li>
+
+<li>getShutdownDatabase() </li>
+
+</ul>
+
+</blockquote>
+
+
+<p>
+These methods should behave similarly to the ones in Embedded, i.e.
+only valid value for setCreateDatabase is "create", and for
+setShutdownDatabase is "shutdown". In essence, at connection time, if
+set to a valid value, the property is passed on to the server side with
+the ConnectionAttributes.<br>
+Note, that the result for setting contradicting properties for
+createDatabase and ShutdownDatabase, whether through
+setCreateDatabase("create") and setShutdownDatabase("shutdown") or via
+setConnectionAttributes("create=true") or ("shutdown=true") is
+undefined.
+</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>No incompatibilities were introduced.
+</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>
+With version 10.2.1.6 an incompatibility with 10.1.1.0 was introduced -
+since revision 393003, the undocumented, non-standard but
+previously public method, getProperties for Client DataSources was
+removed for security reasons. This left only the
+setConnectionAttributes method available for creating or shutting down
+a database, and caused hardship for applications that had previously
+taken advantage of the getProperties method. For instance, in Geronimo
+the getProperties method was
+previously used to inquire and set whether a create=true was set for a
+database.<br>
+Support for the four methods already existing for EmbeddedDataSource
+was requested for ClientDataSource to compensate for the disappearance
+of getProperties as a public method.
+</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 will need to be adjusted if they want to take
+advantage of these new methods for ClientDataSources.<br>
+
+<br>
+
+</p>
+
+</blockquote>
+<hr>
+<h3>
+<a name="Note for DERBY-2264"></a>Note for DERBY-2264</h3>
+<blockquote>
+
+<!-- 
+  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>
+Henceforth, when authentication is enabled
+(<code>derby.connection.requireAuthentication</code> has the
+value <code>true</code>) <i>and</i> SQL Authentication is enabled
+(<code>derby.database.sqlAuthentication</code> has the
+value <code>true</code>) some database level operations are restricted
+to the <i>database owner</i>.
+</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>
+When connecting to an existing database to
+<ul>
+  
+<li>shut down the database</li>
+  
+<li>encrypt a previously unencrypted database</li>
+  
+<li>re-encrypt an encrypted database with a new bootPassword or a
+    new encryption key</li>
+  
+<li>perform a full (as opposed to soft) upgrade of the database from
+  a previous version</li>
+
+</ul>
+an SQLException with SQLState "08004" is thrown. For the English
+locale the exception string will be be one of:
+<ul>
+  
+<li>User <i>user</i> cannot shut down database <i>database</i>. Only
+  the database owner can perform this operation.</li>
+  
+<li>User <i>user</i> cannot (re)encrypt
+  database <i>database</i>. Only the database owner can perform this
+  operation.</li>
+  
+<li>User <i>user</i> cannot hard upgrade
+  database <i>database</i>. Only the database owner can perform this
+  operation.</li>
+
+</ul>
+
+<!-- 
+  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>
+In release 10.2, any authenticated user would be able to:
+<ul>
+  
+<li>Shut down the database.</li>
+  
+<li>Encrypt a previously unencrypted database.</li>
+  
+<li>Re-encrypt an encrypted database with a new bootPassword or a
+    new encryption key.</li>
+  
+<li>Perform a full (as opposed to soft) upgrade of the database from
+  a previous version.</li>
+
+</ul>
+In 10.3, if both authentication and sqlAuthentication are enabled, an
+application which tries to perform any such operation by connecting as
+any user other than the <i>database owner</i>, will see an
+SQLException with SQLState "08004" and the operation will not be
+performed.
+</p>
+
+<p>
+The check on full upgrade pertains to upgrades from 10.2.* (and
+subsequent) releases of Derby only.  When upgrading from 10.0 or 10.1
+any valid user can still do the full upgrade. This user then becomes
+the database owner. The reason for this difference is that the
+database owner concept was first introduced in 10.2. Note that once
+you upgrade, the database owner can not be changed.
+</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>
+These changes were introduced to enhance Derby security by limiting operations
+which impact all users of a database - with potentially far-reaching
+effects - to the data base owner.
+</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>
+Impacted applications must now be changed to perform these operations
+as <i>the database owner</i>, that is, supplying the authorization
+identifier (i.e. user name) of the database owner when connecting to
+perform these operations.
+</p>
+
+
+<p>
+
+<b>Note:</b> The database owner is identical to the authorization
+identifier (i.e. user name) used when the database was created or user
+name used when upgrading from 10.0 or 10.1 as the case may be. If the
+database was created or upgraded <i>without</i> supplying a user name
+(authentication not enabled) the database owner defaults to "APP".
+</p>
+
+<p>
+The following query can be used to show the database owner:
+</p>
+
+<p>
+
+<code>
+select authorizationid from sys.sysschemas where schemaname = 'SYS';
+</code>
+
+</p>
+
+
+
+</blockquote>
+<hr>
+<h3>
+<a name="Note for DERBY-2256"></a>Note for DERBY-2256</h3>
+<blockquote>
+<!-- 
+  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>Use of decimal values in an IN predicate whose left operand is an
+INTEGER may now return different results.<br>
+
+</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>
+Applications which use an IN predicate to see if an integer value is
+contained within a list of decimal values may have been seeing
+incorrect results prior to this release. In some cases rows may
+have been missing from the result; in other cases, additional
+(incorrect) rows may have been returned.<br>
+
+</p>
+
+<p>As an example, take the following:<br>
+
+</p>
+
+<p style="font-family: monospace;"> create table t1 (i int);<br>
+ insert into t1 values 1, 2, 3, 4, 5;<br>
+
+</p>
+
+<p style="font-family: monospace;"> -- Following query was
+returning zero rows when it should return 1 row.<br>
+ select * from t1 where i in (4.23, 4);
+<br>
+
+</p>
+
+<p>
+<span style="font-family: monospace;"> -- Following query
+should return zero rows but was returning 1 row.</span>
+<span style="font-family: monospace;"> select * from t1 where i
+in (2.8, 4.23);<br>
+
+</span>
+</p>
+
+<p>This problem has been fixed in Derby 10.3.<br>
+
+</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>
+The fix for the bug shown above does not introduce any functional
+incompatibilities. However, applications may now see different
+results if they happen to use queries which rely on an IN predicate to
+check for integer values within a list of decimal values. </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>Derby's behavior in previous releases was incorrect and could lead
+to wrong results.<br>
+
+</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>
+No application changes should be needed.<br>
+
+</p>
+
+</blockquote>
+<hr>
+<h3>
+<a name="Note for DERBY-2196"></a>Note for DERBY-2196</h3>
+<blockquote>
+
+<!-- 
+  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 user should customize the security policy which the Network Server
+      now installs by default.
+</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>
+When booted from the command line, the Network Server now installs a security manager with a default policy.
+This policy does not expose the application to any additional
+      risks. However, the policy is overbroad and the user should
+      customize it in order to reduce security threats.
+</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>
+Blah blah blah.
+</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>
+Derby is providing more security support.
+</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>
+Instead of relying on the default policy installed by the Network
+      Server, the user should further limit the scope of privileged operations.
+In particular, the
+      user should fine-tune the blanket read/write privilege granted
+      on the entire server file system. The user should narrow this
+      privilege to just the directories needed for backup/restore,
+      import/export, and jar file loading.
+For instructions on how to refine the policy file, please consult
+      the Derby Server and Administration Guide section titled
+"Customizing the Network Server's security policy".
+</p>
+
+
+<p>
+This is also an opportunity for the user to enable user authentication
+      if the Network Server currently runs without
+      authentication. Running in a client/server configuration without
+      authentication exposes the application and the server machine to
+      many threats. It is strongly discouraged. For instructions on enabling
+      user authentication, please consult the Derby Developer's Guide
+      section titled "Working with user authentication".
+</p>
+
+
+
+
+</blockquote>
+<hr>
+<h3>
+<a name="Note for DERBY-2108"></a>Note for DERBY-2108</h3>
+<blockquote>
+
+<!-- 
+  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>
+SSL/TLS implemented for client/server communication.
+</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>
+Several error messages have been changed to reflect failure scenarios
+which may involve SSL:
+</p>
+<p>
+
+<b>SQLExceptions:</b>
+
+</p>
+<p>
+The message<br>
+<code>ERROR 58009: A communications error has been detected</code> 
+
+<br>has been extended to give the underlying cause. E.g. if the underlying
+cause is an SSL problem, you get 
+<br>
+<code>ERROR 58009: A communications
+error has been detected. Unrecognized SSL message, plaintext
+connection?</code>
+
+</p>
+<p>
+The message<br>
+
+<code>ERROR 58009: A network protocol error was encountered and the
+connection has been terminated: A PROTOCOL Data Stream Syntax Error
+was detected.  Reason: 0x3.</code> 
+
+<br>has been changed to 
+<br>
+<code>ERROR
+58009: A network protocol error was encountered and the connection has
+been terminated: A PROTOCOL Data Stream Syntax Error was detected.
+Reason: 0x3. Plaintext connection attempt to an SSL enabled
+server?</code>
+
+</p>
+<p>
+
+<b>Other error messages:</b>
+
+</p>
+<p>
+If the server socket can't be established when a server is started,
+the message 
+<br>
+<code>Could not listen on port NNNN on host XXXX</code>
+<br>
+has been extended to give the underlying cause, e.g:
+<br>
+<code>Could not listen on port NNNN on host XXXX:
+ java.net.BindException: Address already in use</code>
+
+</p>
+<p>
+If a plaintext server is connected by an SSL enabled client, you will
+see messages like this in the server log: 
+<br>
+<code>Execution failed
+because of a Distributed Protocol Error: DRDA_Proto_SYNTAXRM; CODPNT
+arg = 0; Error Em Value = 3. Plaintext connection attempt from an
+SSL enabled client?</code>
+
+</p>
+<p> If a plaintext administration command is used towards an SSL
+server, the message <br>
+<code>Invalid reply header from network
+server: Invalid string xxxx.</code>
+<br> has been changed to
+<br>
+<code>Invalid reply header from network server: Invalid string
+xxxx. Plaintext connection attempt to an SSL enabled server?</code>
+
+</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>
+Applications which rely on the content of error message texts may 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>
+The messages had to be extended due to more failure scenarios when
+connecting a client to a Derby server.
+</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>
+Users must recode applications to recognize the changed messages.
+</p>
+
+
+
+</blockquote>
+<hr>
+<h3>
+<a name="Note for DERBY-2020"></a>Note for DERBY-2020</h3>
+<blockquote>
+
+<!-- 
+  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>
+Writing of the transaction log to disk has been changed to open log files in "rwd" mode instead of "rws" if the JVM  supports it.
+</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>
+With JVMs/OSs that support the functionality, such as JDK version 1.4.2 and up on Solaris, a performance improvement may be noticed. On other platforms, no change may be noticeable.
+
+</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>
+For writing the transaction log to disk Derby uses a RandomAccessFile. Before this change, if it was supported by the JVM, the log files were opened in "rws" mode making the file system take care of syncing writes to disk. "rws" mode ensured that both the data and the file meta-data was updated for every write to the file. On some operating systems (e.g. Solaris) this lead to two write operations to the disk for every write issued by Derby. This was limiting the throughput of update intensive applications. By changing the file mode to "rwd" the number of updates to the disk is reduced. 
+
+Some JVMs have a bug in the support for "rws" and "rwd" mode. Derby will check for this bug, and if it is detected, Derby will revert back to using "rw" mode and print an appropriate message indicating this in derby.log.
+</p>
+
+<!-- 

[... 1223 lines stripped ...]


Mime
View raw message