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 rh...@apache.org on 2006/09/16 18:28:31 UTC

svn commit: r446892 - /db/derby/code/branches/10.2/RELEASE-NOTES.html

Author: rhillegas
Date: Sat Sep 16 09:28:25 2006
New Revision: 446892

URL: http://svn.apache.org/viewvc?view=rev&rev=446892
Log:
DERBY-1860: Attach first draft of release notes for 10.2.

Modified:
    db/derby/code/branches/10.2/RELEASE-NOTES.html

Modified: db/derby/code/branches/10.2/RELEASE-NOTES.html
URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.2/RELEASE-NOTES.html?view=diff&rev=446892&r1=446891&r2=446892
==============================================================================
--- db/derby/code/branches/10.2/RELEASE-NOTES.html (original)
+++ db/derby/code/branches/10.2/RELEASE-NOTES.html Sat Sep 16 09:28:25 2006
@@ -1,15 +1,11 @@
 <html>
-<title>Release Notes for Derby a?.b?.c?.d?</title>
+<title>Release Notes for Derby 10.2.1.4</title>
 <body>
-<h1>Release Notes for Derby a?.b?.c?.d?</h1>
-
-<p>
-This is a template for composing release notes. Please customize this
-for the release you are building.
-</p>
+<h1>Release Notes for Derby 10.2.1.4</h1>
 
 <ul>
 <li><a href="#Overview">Overview</a></li>
+<li><a href="#JDBC 4.0 Support">JDBC 4.0 Support</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>
@@ -19,25 +15,70 @@
 <h2><a name="Overview"></a>Overview</h2>
 
 <p>
-These notes describe the difference between Derby release a?.b?.c?.d?
-and the preceding release e?.f?.g?.h?.
+These notes describe the difference between Derby release 10.2.1.4
+and the preceding release 10.1.3.1.
 </p>
 
 <p>
 Derby is a pure Java relational database engine using standard SQL and
 JDBC as its APIs.
-a?.b?.c?.d? is a bug fix?/feature? release.
+10.2.1.4 is a feature release.
 </p>
 
 <p>
-The following improvements distinguish a?.b?.c?.d? from e?.f?.g?.h?:
+The following improvements distinguish 10.2.1.4 from 10.1.3.1:
 </p>
 
 <ul>
-<li>Blah blah blah</li>
-<li>Blah blah blah</li>
+<li><b>Tools</b>
+ <ul>
+ <li>The ij sql interpreter now has command-line help
+ and two new commands: <i>show tables</i> and <i>describe</i>.</li>
+ <li>Tools can now be invoked without specifying a classpath just by
+typing <i>java -jar derbyTools.jar <b>toolName</b></i>.</li>
+ </ul>
+</li>
+<li><b>Security</b>
+ <ul>
+ <li>Databases can now be re-encrypted.</li>
+ <li>Secure connections can now be required.</li>
+ <li>Where possible, userids and passwords are encrypted.</li>
+ <li>Support has been added for DRDA userid/password substitution.</li>
+ <li>GRANT/REVOKE commands have been added.</li>
+ </ul>
+</li>
+<li><b>Administration</b>
+ <ul>
+ <li>Installation scripts now follow Apache conventions.</li>
+ <li>The syntax for invoking diagnostic VTIs has been simplified.</li>
+ <li>Online backup has been added.</li>
+ </ul>
+</li>
+<li><b>JDBC</b>
+ <ul>
+ <li>The network driver now supports statement timeouts.</li>
+ <li>Large object streaming has been improved in the network driver.</li>
+ <li>The FOR UPDATE clause is no longer required when
+ declaring an updatable ResultSet.</li>
+ <li>Scrollable, updatable, insensitive ResultSets are now supported.</li>
+ </ul>
+</li>
+<li><b>SQL</b>
+ <ul>
+ <li>Expressions are now allowed in the GROUP BY clause.</li>
+ <li>Identity columns can be reset to start at a new value.</li>
+ <li>XPath/XQuery support has been improved.</li>
+ <li>New builtin math functions have been added and wired-in
+ as JDBC escape functions.</li>
+ <li>Unary <i>+/-</i> are now allowed for <i>?</i> parameters.</li>
+ <li>Optimizer overrides have been added.</li>
+ <li>Triggers can now call Java procedures.</li>
+ <li>The nullability of a column can be changed now.</li>
+ </ul>
+</li>
 </ul>
 
+
 <p>
 For a comprehensive list of changes, consult the lists of
 <a href="#New Features">new features</a>
@@ -47,7 +88,7 @@
 </p>
 
 <p>
-a?.b?.c?.d? functionality includes:
+As in previous releases, 10.2.1.4 functionality includes:
 </p>
 
 <ul>
@@ -94,12 +135,48 @@
 <li>JSR-169, JDBC 2.1, and JDBC 3.0 support</li>
 </ul>
 
+<h2><a name="JDBC 4.0 Support">JDBC 4.0 Support</a></h2>
+
+<p>
+Derby 10.2.1.4 comes with source code for drivers which conform to
+the upcoming new version of
+the JDBC standard, JDBC 4.0. This source code conforms to the
+following state of the JDBC 4.0 specification:
+</p>
+
+<ul>
+<li>The proposed final draft of the
+<a href="http://jcp.org/en/jsr/detail?id=221">JSR 221 spec</a>,
+dated July 19, 2006.</li>
+<li><a href="http://download.java.net/jdk6/binaries/">Beta build 99 of JDK 6</a>.</li>
+</ul>
+
+<p>
+Due to license restrictions on the beta builds of JDK 6, Derby
+10.2.1.4 does not contain compiled versions of JDBC 4.0 drivers.
+When run on Java SE 6, Derby 10.2.1.4 exposes the same JDBC 3.0 implementation
+seen when run on JDK 1.4 and 1.5. You may, however, compile Derby's
+JDBC 4.0 support yourself. This will let you use JDBC 4.0 features
+when you run Derby 10.2.1.4 on Java SE 6.
+If you compile Derby code using libraries
+from a beta build of JDK 6, then you may use your built code only for
+evaluation purposes. This is the restriction imposed by the
+JDK's beta license.
+</p>
+
+<p>
+You may build this optional JDBC 4.0 support as follows:
+</p>
+
+<p>
+<b><font color="red">???</font></b>
+</p>
 
 <h2><a name="New Features"></a>New Features</h2>
 
 <p>
 List the new features introduced by this release. These are features
-which appear in Derby a?.b?.c?.d? but not in the preceding release e?.f?.g?.h?.
+which appear in Derby 10.2.1.4 but not in the preceding release 10.1.3.1.
 </p>
 
 <TABLE border="2">
@@ -108,19 +185,112 @@
       <TD><b>Master JIRA</b></TD>
       <TD><b>New Feature</b></TD>
     </TR>
-    <TR>
-      <TD><a href="http://issues.apache.org/jira/browse/DERBY-464">DERBY-464</a></TD>
-      <TD>Introduce GRANT/REVOKE functionality.</TD>
-    </TR>
-
+     <TR>
+       <TD><a href="http://issues.apache.org/jira/browse/DERBY-119">DERBY-119</a></TD>
+       <TD>ALTER TABLE change nullability</TD>
+     </TR>
+     <TR>
+       <TD><a href="http://issues.apache.org/jira/browse/DERBY-239">DERBY-239</a></TD>
+       <TD>Online backup</TD>
+     </TR>
+     <TR>
+       <TD><a href="http://issues.apache.org/jira/browse/DERBY-231">DERBY-231</a></TD>
+       <TD>FOR UPDATE clause</TD>
+     </TR>
+     <TR>
+       <TD><a href="http://issues.apache.org/jira/browse/DERBY-326">DERBY-326</a></TD>
+       <TD>Improve Network Server large object streaming</TD>
+     </TR>
+     <TR>
+       <TD><a href="http://issues.apache.org/jira/browse/DERBY-464">DERBY-464</a></TD>
+       <TD>Grant Revoke</TD>
+     </TR>
+     <TR>
+       <TD><a href="http://issues.apache.org/jira/browse/DERBY-475">DERBY-475</a></TD>
+       <TD>New functions: ACOS, ASIN, ATAN, COS, SIN, TAN, PI,
+       DEGREES, RADIANS, EXP, LN, LOG, LOG10, CEIL, CEILING, FLOOR</TD>
+     </TR>
+     <TR>
+       <TD><a href="http://issues.apache.org/jira/browse/DERBY-506">DERBY-506</a></TD>
+       <TD>Client timeout mechanism</TD>
+     </TR>
+     <TR>
+       <TD><a href="http://issues.apache.org/jira/browse/DERBY-551">DERBY-551</a></TD>
+       <TD>Invoke Java procedures from triggers </TD>
+     </TR>
+     <TR>
+       <TD><a href="http://issues.apache.org/jira/browse/DERBY-528">DERBY-528</a></TD>
+       <TD>DRDA USRSSBPWD Security Mechanism</TD>
+     </TR>
+     <TR>
+       <TD><a href="http://issues.apache.org/jira/browse/DERBY-571">DERBY-571</a></TD>
+       <TD>New syntax for invoking diagnostic VTIs</TD>
+     </TR>
+     <TR>
+       <TD><a href="http://issues.apache.org/jira/browse/DERBY-573">DERBY-573</a></TD>
+       <TD>Optimizer directives</TD>
+     </TR>
+     <TR>
+       <TD><a href="http://issues.apache.org/jira/browse/DERBY-582">DERBY-582</a></TD>
+       <TD>Unary plus/minus for parameters</TD>
+     </TR>
+     <TR>
+       <TD><a href="http://issues.apache.org/jira/browse/DERBY-592">DERBY-592</a></TD>
+       <TD>New JDBC escape functions: ACOS, ASIN, ATAN, COS, SIN, TAN,
+       PI, DEGREES, RADIANS, EXP, LOG, LOG10, CEILING, FLOOR</TD>
+     </TR>
+     <TR>
+       <TD><a href="http://issues.apache.org/jira/browse/DERBY-688">DERBY-688</a></TD>
+       <TD>Xml support for XPath</TD>
+     </TR>
+     <TR>
+       <TD><a href="http://issues.apache.org/jira/browse/DERBY-690">DERBY-690</a></TD>
+       <TD>Scrollable Updatable !ResultSet</TD>
+     </TR>
+     <TR>
+       <TD><a href="http://issues.apache.org/jira/browse/DERBY-783">DERBY-783</a></TD>
+       <TD>Identity value restart</TD>
+     </TR>
+     <TR>
+       <TD><a href="http://issues.apache.org/jira/browse/DERBY-883">DERBY-883</a></TD>
+       <TD>Enhance GROUP BY clause to support expressions</TD>
+     </TR>
+     <TR>
+       <TD><a href="http://issues.apache.org/jira/browse/DERBY-928">DERBY-928</a></TD>
+       <TD>Restrict client connections,derby.drda.securityMechanism</TD>             </TR>
+     <TR>
+       <TD><a href="http://issues.apache.org/jira/browse/DERBY-962">DERBY-962</a></TD>
+       <TD>Encrypt userid/password where possible</TD>
+     </TR>
+     <TR>
+       <TD><a href="http://issues.apache.org/jira/browse/DERBY-1019">DERBY-1019</a></TD>
+       <TD>Simplify tool invocation</TD>
+     </TR>
+     <TR>
+       <TD><a href="http://issues.apache.org/jira/browse/DERBY-1032">DERBY-1032</a></TD>
+       <TD>Scripts adhering to Apache's conventions</TD>
+     </TR>
+     <TR>
+       <TD><a href="http://issues.apache.org/jira/browse/DERBY-1156">DERBY-1156</a></TD>
+       <TD>Database re-encryption</TD>
+     </TR>
+     <TR>
+       <TD><a href="http://issues.apache.org/jira/browse/DERBY-1164">DERBY-1164</a></TD>
+       <TD>'show tables' and 'describe' commands in ij </TD>
+     </TR>
+     <TR>
+       <TD><a href="http://issues.apache.org/jira/browse/DERBY-1216">DERBY-1216</a></TD>
+       <TD>Command line help for ij</TD>
+     </TR>
   </TBODY>
 </TABLE>
 
+
 <h2><a name="Bug Fixes"></a>Bug Fixes</h2>
 
 <p>
 List the bugs fixed by this release. These are bug fixes which turn up
-in Derby a?.b?.c?.d? but not in the preceding release e?.f?.g?.h?.
+in Derby 10.2.1.4 but not in the preceding 10.1.3.1 release.
 </p>
 
 <TABLE border="2">
@@ -133,122 +303,1426 @@
       <TD><a href="http://issues.apache.org/jira/browse/DERBY-23">DERBY-23</a></TD>
       <TD> just booting jdbc driver and shutting down seem to leak memory</TD>
     </TR>
-  </TBODY>
-</TABLE>
-
-<h2><a name="Issues"></a>Issues</h2>
-
-<p>
-List the outstanding issues and their workarounds. Use the following
-template.
-</p>
-
-<ul>
-<li><a href="#First Problem Short Name">First Problem Short Name</a></li>
-<li><a href="#Second Problem Short Name">Second Problem Short Name</a></li>
-</ul>
-
-<hr/>
-<blockquote>
-<a name="First Problem Short Name"></a>
-<h3>Problem</h3>
-<p>
-Blah blah blah blah.
-</p>
-</blockquote>
-
-<blockquote>
-<h3>Symptoms</h3>
-<p>
-Blah blah blah blah.
-</p>
-</blockquote>
-
-<blockquote>
-<h3>Cause</h3>
-<p>
-Blah blah blah blah.
-</p>
-</blockquote>
-
-<blockquote>
-<h3>Solution</h3>
-<p>
-Blah blah blah blah.
-</p>
-</blockquote>
-
-<blockquote>
-<h3>Workaround</h3>
-<p>
-Blah blah blah blah.
-</p>
-</blockquote>
-
-
-
-<hr/>
-<blockquote>
-<a name="Second Problem Short Name"></a>
-<h3>Problem</h3>
-<p>
-Blah blah blah blah.
-</p>
-</blockquote>
-
-<blockquote>
-<h3>Symptoms</h3>
-<p>
-Blah blah blah blah.
-</p>
-</blockquote>
-
-<blockquote>
-<h3>Cause</h3>
-<p>
-Blah blah blah blah.
-</p>
-</blockquote>
-
-<blockquote>
-<h3>Solution</h3>
-<p>
-Blah blah blah blah.
-</p>
-</blockquote>
-
-<blockquote>
-<h3>Workaround</h3>
-<p>
-Blah blah blah blah.
-</p>
-</blockquote>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-31">DERBY-31</a></TD>
+      <TD> Statement.setQueryTimeout() support.</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-100">DERBY-100</a></TD>
+      <TD> Add support for insert functionality using JDBC 2.0 updatable resultset apis</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-117">DERBY-117</a></TD>
+      <TD> [PATCH] Improvements on the NetServlet</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-137">DERBY-137</a></TD>
+      <TD> Derby metadata always returns JDBC 2 result sets, even when JDBC 3 result sets are required.</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-156">DERBY-156</a></TD>
+      <TD> Delete with alias on column fails</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-171">DERBY-171</a></TD>
+      <TD> Need Correlation ID in UPDATE/DELETE statements</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-176">DERBY-176</a></TD>
+      <TD> Derby throws ERROR XBCM1: Java linkage error thrown during load of generated class org.apache.derby.exe.aced07c066x0102xca87x3319x00004aa5686e1 during execution of large query</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-213">DERBY-213</a></TD>
+      <TD> ResultSet.next() after last row of FORWARD_ONLY cursor throws an SQL Exception with Network Server</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-231">DERBY-231</a></TD>
+      <TD> "FOR UPDATE" required for updatable result set to work</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-253">DERBY-253</a></TD>
+      <TD> Client should throw not implemented exception for depricated setUnicodeStream/getUnicodeStream</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-254">DERBY-254</a></TD>
+      <TD> SQLStates for SQLExceptions thrown from the client should not be null and should match embedded where possible</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-304">DERBY-304</a></TD>
+      <TD> If by mistake you give he location for the db backup as the db itself , then windows created directories recursively until windows crashes!</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-333">DERBY-333</a></TD>
+      <TD> Malformed if statement in org.apache.derby.impl.drda.Database.getDRDAStatement()</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-336">DERBY-336</a></TD>
+      <TD> The wrong overload of StandardException::newException() is used in some cases</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-349">DERBY-349</a></TD>
+      <TD> setByte() with executeBatch causes hang with client if mapping is invalid, e.g. setByte to DATE</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-352">DERBY-352</a></TD>
+      <TD> Clobs on insert  using streams should not instantiate into memory</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-353">DERBY-353</a></TD>
+      <TD> It is desirable to have IDENTITY_VAL_LOCAL() function return last recent user specified value or system generated value for BY DEFAULT identity columns.</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-400">DERBY-400</a></TD>
+      <TD> Network client message strings not internationalized</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-404">DERBY-404</a></TD>
+      <TD> org.apache.derby.iapi.store.access.RowUtil.isRowEmpty has (never exercised) bug</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-412">DERBY-412</a></TD>
+      <TD> Connection toString should show type information and  the meaning of the identifier that it prints</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-418">DERBY-418</a></TD>
+      <TD> outofmemory error when running large query in autocommit=false mode</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-427">DERBY-427</a></TD>
+      <TD> An error message when running in XA environment says cloudscape.LOG rather than derby.log</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-428">DERBY-428</a></TD>
+      <TD> NetworkClient PreparedStatement.executeBatch() hangs if batch is too large (ArrayIndexOutOfBoundsException in Network Server)</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-438">DERBY-438</a></TD>
+      <TD> Update triggers on tables with BLOB and CLOB columns fail at execution time if the triggered-SQL-statement references the LOB column(s).</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-445">DERBY-445</a></TD>
+      <TD> Client data sources lose the value of the connectionAttributes property when they are stored using the Reference interface</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-446">DERBY-446</a></TD>
+      <TD> Client data source implementations cause security exception on storage to/from a Reference object</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-471">DERBY-471</a></TD>
+      <TD> DatabaseMetaData.getXXXFunctions() methods return incorrect values.</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-479">DERBY-479</a></TD>
+      <TD> Passing the return of  a RETURN NULL ON NULL INPUT function to another function call throws linkage error.</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-483">DERBY-483</a></TD>
+      <TD> Error message  X0X07  has incorrect property name, db2j.database.classpath instead of derby.database.classpath</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-501">DERBY-501</a></TD>
+      <TD> Client and embedded drivers differ on invoking a procedure that returns a single Dynamic resultSet using CallableStatement.executeQuery()</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-515">DERBY-515</a></TD>
+      <TD> Network Server should log server start and shutdown time to derby.log</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-517">DERBY-517</a></TD>
+      <TD> ResultSet - relative(int rows) behaves different in embedded and client/server mode when the positioning before the first row or after the last row.</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-523">DERBY-523</a></TD>
+      <TD> Non logged operation that starts before the log archive mode is enabled  can not be recovered during rollforward recovery.</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-525">DERBY-525</a></TD>
+      <TD> getAsciiStreamshould replace non-ASCII characters with 0x3f, '?'  to match embedded</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-536">DERBY-536</a></TD>
+      <TD> The current build.properties for the Derby Help Plug-in for Eclipse does not work for creating a deployable plug-in</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-541">DERBY-541</a></TD>
+      <TD> Read-only databases fail to boot after soft upgrade. Raises error message:  40XD1: Container was opened in read-only mode.</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-555">DERBY-555</a></TD>
+      <TD> Unable to restart after disk is full</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-567">DERBY-567</a></TD>
+      <TD> Improve Derby XML support to use XML parser found in JVM instead of using a hard-coded parser name (Xerces).</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-569">DERBY-569</a></TD>
+      <TD> Derby network server is printing connection activity on System.out instead of logging it to derby.log</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-578">DERBY-578</a></TD>
+      <TD> Grouped select from temporary table raises null pointer exception in byte code generator</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-579">DERBY-579</a></TD>
+      <TD> Query timeout set for one statement may affect other statements with the same SQL string</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-582">DERBY-582</a></TD>
+      <TD> Dynamic parameter should be allowed to be the operand of unary operator "-". Derby throws exception 42X36: The '-' operator is not allowed to take a ? parameter as an operand."</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-592">DERBY-592</a></TD>
+      <TD> Expand table driven system function defintion added in DERBY-475 to allow definition of JDBC escaped functions.</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-596">DERBY-596</a></TD>
+      <TD>  jdbcapi/resultsetStream.java fails in DerbyNetClient Framework</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-597">DERBY-597</a></TD>
+      <TD> Enhance ij connect statement to work in J2ME/CDC/FP</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-599">DERBY-599</a></TD>
+      <TD> Using setBlob interface, should not materialize the entire blob value into memory.</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-609">DERBY-609</a></TD>
+      <TD> Returning ByteArrayInputStream from ResultSet is not appropriate</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-611">DERBY-611</a></TD>
+      <TD> Network client: updateRow() causes a commit when autoCommit = true</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-622">DERBY-622</a></TD>
+      <TD> sysinfo incorrectly requires permission on Derby jar files</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-634">DERBY-634</a></TD>
+      <TD> Subquery materialization can cause stack overflow</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-635">DERBY-635</a></TD>
+      <TD> Client socket connection doesn't report real socket exception</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-648">DERBY-648</a></TD>
+      <TD> ij 'show connections' statement does not work in JSR169</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-655">DERBY-655</a></TD>
+      <TD> getImportedKeys returns duplicate rows in some cases</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-660">DERBY-660</a></TD>
+      <TD> CREATE PROCEDURE incorrectly allows the RETURNS NULL ON NULL INPUT clause</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-694">DERBY-694</a></TD>
+      <TD> Statement exceptions cause all the connection's result sets to be closed with the client driver</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-707">DERBY-707</a></TD>
+      <TD> providing RowLocation for deleted+purged row to GenericConglomerateController causes nullpointerexception</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-709">DERBY-709</a></TD>
+      <TD> SecurityException thrown when passing a relative path name when backing up database</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-714">DERBY-714</a></TD>
+      <TD> NullPointerException or ClassCastException if UPDATE or DELETE is performed on a diagnostic VTI</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-718">DERBY-718</a></TD>
+      <TD> Network client: deleteRow() makes getter methods return nulls for the following rows.</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-721">DERBY-721</a></TD>
+      <TD> State of InputStream retrieved from resultset is not clean , if there exists previous InputStream .</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-730">DERBY-730</a></TD>
+      <TD> SQL statements that fail to parse remain in the statement cache.</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-732">DERBY-732</a></TD>
+      <TD> ERROR XBCM1: Java linkage error thrown during load of generated class  for  query with large number of logical operators and substitution parameters.</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-733">DERBY-733</a></TD>
+      <TD> Starvation in RAFContainer.readPage()</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-756">DERBY-756</a></TD>
+      <TD> OutOfMemory Error on continous execution of select statement using COUNT() and DISTINCT on same connection</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-782">DERBY-782</a></TD>
+      <TD> Improvement on org.apache.derby.impl.jdbc.EmbedBlob#length()</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-786">DERBY-786</a></TD>
+      <TD> Casting to a CLOB value does not truncate.</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-787">DERBY-787</a></TD>
+      <TD> cursor closed as a sideeffect of closing another cursor with the same name on another connection</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-802">DERBY-802</a></TD>
+      <TD> OutofMemory Error when reading large blob when statement type is ResultSet.TYPE_SCROLL_INSENSITIVE</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-818">DERBY-818</a></TD>
+      <TD> Read-only embedded ResultSets incur performance penalty due to updateable ResultSet code.</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-821">DERBY-821</a></TD>
+      <TD> Client driver: Implicitly close exhausted result sets on the server</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-826">DERBY-826</a></TD>
+      <TD> sysinfo does not report the version of derby.jar if the class does not explictly contain it.</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-836">DERBY-836</a></TD>
+      <TD> ResultSetMetaData.getColumnDisplaySize sometimes returns wrong values for DECIMAL columns</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-876">DERBY-876</a></TD>
+      <TD> DatabaseMetaData.getSchemas() is not JDBC 3.0 compliant</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-915">DERBY-915</a></TD>
+      <TD> EmbedDatabaseMetadata, EmbedDatabaseMetadata40, and client.net.NetDatabaseMetadata40 should not throw a "not implemented" exception</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-922">DERBY-922</a></TD>
+      <TD> getSQLException() method in client.am.SqlException does not correctly chain exceptions</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-939">DERBY-939</a></TD>
+      <TD> NullPointerException at ResultSet.close() time for simple query using UNION and INTERSECT</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-959">DERBY-959</a></TD>
+      <TD> Allow use of DRDA QRYDTA block sizes greater than 32K</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-965">DERBY-965</a></TD>
+      <TD> DatabaseMetadata method supportsResultSetConcurrency returns wrong result on network client</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-982">DERBY-982</a></TD>
+      <TD> sysinfo api does not provide genus name for client</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-992">DERBY-992</a></TD>
+      <TD> A corner case bug and missing optimization in ScrollInsensitiveResultSet</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1000">DERBY-1000</a></TD>
+      <TD> For LDAP authentication: derby.authentication.server should support ldaps:// as part of the server url.</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1043">DERBY-1043</a></TD>
+      <TD> Invalid column references are not caught in a trigger action statement when the referencing table of the column is the triggered table</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1060">DERBY-1060</a></TD>
+      <TD> ResultSet methods should throw exception when the ResultSet is closed</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1064">DERBY-1064</a></TD>
+      <TD> Delete cascade causes NULL values inserted into table when after delete Trigger fires</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1080">DERBY-1080</a></TD>
+      <TD> Connection reset when using security mechanism=EUSRIDPWD results in protocol error.</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1087">DERBY-1087</a></TD>
+      <TD> Updatable result sets behave different depending on the type of query used to generate the result set</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1095">DERBY-1095</a></TD>
+      <TD> Closing an embedded connection does not seem to close associated EmbedStatements</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1113">DERBY-1113</a></TD>
+      <TD> transaction logs files requried for recovery are getting deleted when backup and checkpointas are running in parallel.</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1117">DERBY-1117</a></TD>
+      <TD> SQLException can lose  stacktrace in some cases.</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1119">DERBY-1119</a></TD>
+      <TD> Creating a schema with DumpParseTree, DumpBindTree properties set causes NullPointException.</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1142">DERBY-1142</a></TD>
+      <TD> Metadata calls leak memory</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1172">DERBY-1172</a></TD>
+      <TD> incorrect error message in updateRow() after a commit on a held scroll insensitive resultset</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1183">DERBY-1183</a></TD>
+      <TD> Client java.sql.ResultSet.getCursorName() does not return the correct cursor name for Statements after the first execution</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1184">DERBY-1184</a></TD>
+      <TD> 'CallableStatement.registerOutParameter(int,int,String)' does nothing in client driver</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1190">DERBY-1190</a></TD>
+      <TD> Network Server reports wrong product name when logging connections to derby.log</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1196">DERBY-1196</a></TD>
+      <TD> Network server closes  prepared statements  prematurely if  exception occurs during OPNQRY  and can cause "'Statement' already closed" exception on reexecution</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1202">DERBY-1202</a></TD>
+      <TD> SQLState DATA_SQLDATA_READ_INSTANTIATION_EXCEPTION has no message associated with it</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1234">DERBY-1234</a></TD>
+      <TD> Verify that we raise SQLException when calling methods on closed java.sql objects</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1236">DERBY-1236</a></TD>
+      <TD> Verify that applications can't manipulate the transaction state while inside a distributed transaction.</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1241">DERBY-1241</a></TD>
+      <TD> When booting a database under security manager,  boot may  fail with message java.sql.SQLException: Java exception: 'access denied (java.io.FilePermission   for  logmirror.ctrl   if database was not shutdown cleanly after  previous access</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1249">DERBY-1249</a></TD>
+      <TD> cursor operation conflict incorrectly handled in scrollable updatable resultsets</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1251">DERBY-1251</a></TD>
+      <TD> cancelRowUpdates() affects rows updated with updateRow() in scrollable updatable resultsets</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1258">DERBY-1258</a></TD>
+      <TD> Wrong value returned in a row trigger action statement if the table has column names that are identical when upper-cased.</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1266">DERBY-1266</a></TD>
+      <TD> Client: Attempted deleteRow or updateRow while on insert row gives wrong error message</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1274">DERBY-1274</a></TD>
+      <TD> Network Server does not shutdown the databases it has booted when started and shutdown from the command line</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1276">DERBY-1276</a></TD>
+      <TD> Calling ResultSet.isLast() on a scrollable insensitive resultset, causes the entire ResultSet to be populated</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1277">DERBY-1277</a></TD>
+      <TD> Call to rs.isLast() may cause rs.getXXX() return values from the last row instead of the current row in scrollable resultsets</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1279">DERBY-1279</a></TD>
+      <TD> Bad column name in DatabaseMetaData.getColumns()</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1292">DERBY-1292</a></TD>
+      <TD> ClassCastException in ClientDriver when using CLOB columns and batch updates</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1295">DERBY-1295</a></TD>
+      <TD> Result sets of type TYPE_SCROLL_INSENSITIVE should not implicitly close due to positioning in autocommit mode</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1296">DERBY-1296</a></TD>
+      <TD> Setting property derby.system.bootAll causes an Exception</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1313">DERBY-1313</a></TD>
+      <TD> SUR: Use DRDA's extended diagnostic to send ROW_UPDATED and ROW_DELETED warnings.</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1314">DERBY-1314</a></TD>
+      <TD> Differences between client and embedded when invoking stored procedures using Statement.executeUpdate()</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1322">DERBY-1322</a></TD>
+      <TD> Missing resets of isOnInsertRow state in net client when navigating away via other than ResultSet#next</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1323">DERBY-1323</a></TD>
+      <TD> Detectability methods rowUpdated, rowInserted, rowDeleted can be called from illegal states in both clients</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1356">DERBY-1356</a></TD>
+      <TD> Positioned update/delete when positioned after last or before first causes NullPointerException</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1357">DERBY-1357</a></TD>
+      <TD> Short-circuit logic in optimizer appears to be incorrect...</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1361">DERBY-1361</a></TD>
+      <TD> positioned updates and deletes allowed after a commit without repositioning the cursor - if the table is indexed on the columns selected</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1364">DERBY-1364</a></TD>
+      <TD> Client driver does not roll back the effects of a stored procedure when incorrectly invoked by executeQuery()/executeUpdate()</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1373">DERBY-1373</a></TD>
+      <TD> Encrypted databases cannot be booted using the jar subprotocol (and possibly also using http/https/classpath)</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1382">DERBY-1382</a></TD>
+      <TD> client: lobs fails silently with result sets of type TYPE_SCROLL_INSENSITIVE</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1384">DERBY-1384</a></TD>
+      <TD> Increase default BLOB/CLOB length to maximum supported (2G?)</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1393">DERBY-1393</a></TD>
+      <TD> PreparedStatement.setObject(int,Object,int) should throw SQLFeatureNotSupportedException for unsupported types</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1395">DERBY-1395</a></TD>
+      <TD> Change the client SQLState to match that of embedded for the exception thrown on a closed statement whose connection is also closed</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1396">DERBY-1396</a></TD>
+      <TD>  ReEncodedInputStream may fail to read all of source Reader.</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1421">DERBY-1421</a></TD>
+      <TD> ResultSet.updateBinaryStream fails when the result type is TYPE_SCROLL_INSENSITIVE</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1464">DERBY-1464</a></TD>
+      <TD> runtimestatistics can show that an index is being used even when it isn't</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1473">DERBY-1473</a></TD>
+      <TD> Add cut-off and truncation logic to streaming classes in the embedded driver</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1476">DERBY-1476</a></TD>
+      <TD> PreparedStatement.setNull(int,int) should throw SQLFeatureNotSupportedException for unsupported types</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1481">DERBY-1481</a></TD>
+      <TD> Client driver: ResultSet.beforeFirst() gives protocol error on scrollable, updatable result sets that are downgraded to read-only</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1493">DERBY-1493</a></TD>
+      <TD> EmbeddedDriver does not implement PreparedStatement.setNull(int, int, String)</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1500">DERBY-1500</a></TD>
+      <TD> PreparedStatement#setObject(int parameterIndex, Object x) throws SQL Exception when binding Short value in embedded mode</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1510">DERBY-1510</a></TD>
+      <TD> 'SQLBinary.readFromStream' can enter endless loop</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1533">DERBY-1533</a></TD>
+      <TD> ArrayIndexOutOfBoundsException in DDMReader, on a specific data size</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1554">DERBY-1554</a></TD>
+      <TD> IDENTITY_VAL_LOCAL() returned value is modified incorrectly by a multi-row INSERT statement.</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1571">DERBY-1571</a></TD>
+      <TD> NetworkServerControlImpl.consoleExceptionPrintTrace() prints stack trace even when logWriter is null</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1574">DERBY-1574</a></TD>
+      <TD> NullPointerException in UPDATE with COALESCE and subquery</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1586">DERBY-1586</a></TD>
+      <TD> The attributesAsPassword property doesn't work correctly with EmbeddedConnectionPoolDataSource</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1587">DERBY-1587</a></TD>
+      <TD> INTEGER function cannot be abbreviated</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1619">DERBY-1619</a></TD>
+      <TD> Sysinfo in 10.2  shows multiple entries if the derby jars reside in a directory with spaces in its name</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1621">DERBY-1621</a></TD>
+      <TD> Trigger action statement is not recompile when there is a change that would affect it.</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1633">DERBY-1633</a></TD>
+      <TD> Regression: The fields of views are not being calculated properly since 10.1.2.4</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1652">DERBY-1652</a></TD>
+      <TD> Update trigger updating the same rows as the original update does not  throw an exception ERROR 54038: "Maximum depth of nested triggers was exceeded" as it should</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1660">DERBY-1660</a></TD>
+      <TD> SYSCS_BULK_INSERT fails with syntax error at PROPERTIES clause.</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1661">DERBY-1661</a></TD>
+      <TD> Create index on large tables fails with too many open files , FileNotFoundException.</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1681">DERBY-1681</a></TD>
+      <TD> Regression (wrong results): Join predicate can be ignored for left-most child in a chain of nested unions.</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1692">DERBY-1692</a></TD>
+      <TD> Client driver does not use the query timeout value set using Statement.setQueryTimeout() for subsequent executions using the same statement object</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1708">DERBY-1708</a></TD>
+      <TD> Unprivileged user can perform lock table statement on a table which he/she does not have any access rights</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1714">DERBY-1714</a></TD>
+      <TD> huge single insert statements fail with JVM error due to size of generated method</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1756">DERBY-1756</a></TD>
+      <TD> Revert change in client that defaults the secmec to eusridpwd.</TD>
+    </TR>
+    <TR>
+      <TD><a href="http://issues.apache.org/jira/browse/DERBY-1767">DERBY-1767</a></TD>
+      <TD> insertRow(), updateRow() and deleteRow() cannot handle table names and column names containing double quotes</TD>
+    </TR>
+  </TBODY>
+</TABLE>
+
+<h2><a name="Issues"></a>Issues</h2>
+
+<p>
+Please be aware of the following issues:
+</p>
+
+<ul>
+<li><a href="#253">253</a> - Client should throw not implemented exception for depricated setUnicodeStream/getUnicodeStream</li>
+<li><a href="#501">501</a> - Client and embedded drivers differ on
+invoking a procedure that returns a single Dynamic resultSet using
+CallableStatement.executeQuery().</li>
+<li><a href="#668">668</a> - SysInfo does not print the right information when Derby is not loaded through the classpath.</li>
+<li><a href="#721">721</a> - State of InputStream retrieved from resultset is not clean , if there exists previous InputStream .</li>
+<li><a href="#822">822</a> - Client driver: Pre-fetch data on executeQuery()</li>
+<li><a href="#1130">1130</a> - Client should not allow databaseName to be set with setConnectionAttributes</li>
+<li><a href="#1177">1177</a> - updateObject with null as argument causes network driver to fail with NullPointerException</li>
+<li><a href="#1295">1295</a> - Result sets of type TYPE_SCROLL_INSENSITIVE should not implicitly close due to positioning in autocommit mode</li>
+<li><a href="#1314">1314</a> - Differences between client and embedded when invoking stored procedures using Statement.executeUpdate()</li>
+<li><a href="#1323">1323</a> - Detectability methods rowUpdated, rowInserted, rowDeleted can be called from illegal states in both clients</li>
+<li><a href="#1357">1357</a> - Short-circuit logic in optimizer appears to be incorrect...</li>
+<li><a href="#1384">1384</a> - Increase default BLOB/CLOB length to maximum supported (2G?)</li>
+<li><a href="#1621">1621</a> - Trigger action statement is not recompile when there is a change that would affect it.</li>
+<li><a href="#1652">1652</a> - Update trigger updating the same rows as the original update does not throw an exception ERROR 54038: "Maximum depth of nested triggers was exceeded" as it should</li>
+</ul>
+
+<hr/>
+<blockquote>
+<h3>
+<a name="253"></a>
+<a href="http://issues.apache.org/jira/browse/DERBY-253">DERBY-253</a>
+</h3>
+<h4>Problem</h4>
+<p>
+PreparedStatement.setUnicodeStream() and ResultSet.getUnicodeStream()
+throw SQLException when invoked after upgrading to Apache Derby 10.2.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Symptoms</h4>
+<p>
+Calling either of these methods will result in an exception with
+SQLSTATE 0A000 and message: "Feature not implemented: ..."
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Cause</h4>
+<p>
+PreparedStatement.setUnicodeStream() and ResultSet.getUnicodeStream()
+have been deprecated since JDBC 2.0. Derby's implemetation of these
+methods was broken, and it was decided that the methods should throw a
+not-implemented exception instead of being fixed.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Solution</h4>
+<p>
+This was an intentional change. No Derby product solution is offered.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Workaround</h4>
+<p>
+Use setCharacterStream() and getCharacterStream() instead of
+setUnicodeStream() and getUnicodeStream().
+</p>
+</blockquote>
+
+
+
+<hr/>
+<blockquote>
+<h3>
+<a name="501"></a>
+<a href="http://issues.apache.org/jira/browse/DERBY-501">DERBY-501</a>
+</h3>
+<h4>Problem</h4>
+<p>
+The behaviour of executeQuery() and executeUpdate() have been
+  modified to follow the JDBC standard when executing stored
+  procedures.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Symptoms</h4>
+<p>
+  The behaviour of executeQuery() and executeUpdate() have been
+  modified to follow the JDBC standard when executing stored
+  procedures. It is now possible to use executeQuery() to execute a
+  stored procedure that returns exactly one ResultSet (this would fail
+  in previous releases of Derby). executeUpdate() will raise an
+  exception if it is used to execute a stored procedure that returns
+  one or more ResultSets (this would succeed in previous releases of
+  Derby).
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Cause</h4>
+<p>
+Previous Derby behavior did not comply with the JDBC spec.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Solution</h4>
+<p>
+This was an intentional change. No Derby product solution is offered.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Workaround</h4>
+<p>
+No workaround. The behavior now conforms to the JDBC spec.
+</p>
+</blockquote>
+
+
+<hr/>
+<blockquote>
+<h3>
+<a name="668"></a>
+<a href="http://issues.apache.org/jira/browse/DERBY-668">DERBY-668</a>
+</h3>
+<h4>Problem</h4>
+<p>
+Sysinfo classpath information was insufficiently detailed.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Symptoms</h4>
+<p>
+Sometimes it was hard to tell where the Derby classes were actually being loaded from in the JVM.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Cause</h4>
+<p>
+The algorithm that sysinfo used for analyzing and reporting on the application classpath was not robust.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Solution</h4>
+<p>
+The sysinfo tool now prints additional information
+about the origin of the classes and jars that it examines. The
+origin of a class might be: an entry in the application.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Workaround</h4>
+<p>
+No workaround. The behavior is now correct.
+</p>
+</blockquote>
+
+<hr/>
+<blockquote>
+<h3>
+<a name="721"></a>
+<a href="http://issues.apache.org/jira/browse/DERBY-721">DERBY-721</a>
+</h3>
+<h4>Problem</h4>
+<p>
+Undefined results were returned to an application which
+opend an InputStream twice on the same column of a ResultSet.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Symptoms</h4>
+<p>
+The value siphoned out of the column was erratic.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Cause</h4>
+<p>
+Streams were being shared between the two readers.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Solution</h4>
+<p>
+Now we throw an exception if the application tries to open
+two streams on the same column in a ResultSet.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Workaround</h4>
+<p>
+Users must recode Applications which open
+ multiple streams on the same column.
+</p>
+</blockquote>
+
+
+<hr/>
+<blockquote>
+<h3>
+<a name="822"></a>
+<a href="http://issues.apache.org/jira/browse/DERBY-822">DERBY-822</a>
+</h3>
+<h4>Problem</h4>
+<p>
+Queries may fail earlier and locks may be aquired earlier when executing queries. Location where errors occur embedded environment is different.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Symptoms</h4>
+<p>
+Errors that happen as part of the normal execution path are moved earlier. For example, code to execute a query, with executeQuery() retrieve the result set metadata and then perform a next() might fail with a lock timeout on executeQuery() instead of next(). Locking changes are observed.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Cause</h4>
+<p>
+Pre-fetching moves execution of retrieval of data earlier for network client/server configurations.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Solution</h4>
+<p>
+This was an intentional behavior change to improve performance. No Derby product solution is offered.
+two streams on the same column in a ResultSet.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Workaround</h4>
+<p>
+Application code needs to be changed to adjust error handling if
+needed. 
+</p>
+</blockquote>
+
+
+
+<hr/>
+<blockquote>
+<h3>
+<a name="1130"></a>
+<a href="http://issues.apache.org/jira/browse/DERBY-1130">DERBY-1130</a>
+</h3>
+<h4>Problem</h4>
+<p>
+Derby's client DataSources were using a wrong database name when
+getting a connection in the following case:
+</p>
+
+<ul>
+<li>databaseName is not set as a Derby DataSource property</li>
+<li>databaseName is set as a connection attribute using
+setConnectionAttributes method</li>
+</ul>
+</blockquote>
+
+<blockquote>
+<h4>Symptoms</h4>
+<p>
+Instead of throwing an exception saying databaseName is a required Derby DataSource property and must be set, client driver was using "null" as database name and returning a connection to database named "null".
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Cause</h4>
+<p>
+The database name was constructed wrongly in the client driver.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Solution</h4>
+<p>
+This was solved by setting the internal database name property in the client driver correctly. Also ensured that databaseName set as a connection attribute will not be used by Derby's client DataSources.. This fix will be available in Derby versions 10.2 and above.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Workaround</h4>
+<p>
+If using release prior to version 10.2, make sure database name is set
+only as a DataSource property when using Derby's client DataSources.
+</p>
+</blockquote>
+
+<hr/>
+<blockquote>
+<h3>
+<a name="1177"></a>
+<a href="http://issues.apache.org/jira/browse/DERBY-1177">DERBY-1177</a>
+</h3>
+<h4>Problem</h4>
+<p>
+Calling ResultSet.updateObject(column, object) caused the network driver to give NullPointerException if the object parameter was null. 
+</p>
+</ul>
+</blockquote>
+
+<blockquote>
+<h4>Symptoms</h4>
+<p>
+Instead of setting the column to null, Derby used to raise a NullPointerException.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Cause</h4>
+<p>
+A bug in the network driver.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Solution</h4>
+<p>
+Derby no longer throws an exception if ResultSet.updateObject(..) is called with a null as parameter. Instead it will update the column with a SQL NULL value.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Workaround</h4>
+<p>
+Applications may need to take evasive action.
+</p>
+</blockquote>
+
+<hr/>
+<blockquote>
+<h3>
+<a name="1295"></a>
+<a href="http://issues.apache.org/jira/browse/DERBY-1295">DERBY-1295</a>
+</h3>
+<h4>Problem</h4>
+<p>
+Result sets of type TYPE_SCROLL_INSENSITIVE used to implicitly close
+due when positioned in autocommit mode.
+</p>
+</ul>
+</blockquote>
+
+<blockquote>
+<h4>Symptoms</h4>
+<p>
+The ResultSet would unexpectedly close.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Cause</h4>
+<p>
+The behavior was deliberate and was documented even though it violates
+the JDBC spec.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Solution</h4>
+<p>
+Derby has been recoded to conform to the JDBC spec. The ResultSet
+no longer closes in this scenario.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Workaround</h4>
+<p>
+Fix applications which rely on this non-standard behavior.
+</p>
+</blockquote>
+
+<hr/>
+<blockquote>
+<h3>
+<a name="1314"></a>
+<a href="http://issues.apache.org/jira/browse/DERBY-1314">DERBY-1314</a>
+</h3>
+<h4>Problem</h4>
+<p>
+Statement.executeUpdate() behaves incorrectly in both the embedded
+and the network driver.
+</p>
+</ul>
+</blockquote>
+
+<blockquote>
+<h4>Symptoms</h4>
+<p>
+ When invoking a stored procedure using Statement.executeUpdate(), the
+client driver and the embedded driver behave differently.
+</p>
+
+<p>
+If the stored procedure does not return any result set, the embedded
+driver returns 0, whereas the client returns -1.
+</p>
+
+<p>
+If the stored procedure returns one or more result sets, the embedded
+driver returns -1, whereas the client fails with an exception.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Cause</h4>
+<p>
+This is a bug.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Solution</h4>
+<p>
+Derby behavior now conforms to the JDBC spec.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Workaround</h4>
+<p>
+Fix applications which rely on this non-standard behavior.
+</p>
+</blockquote>
+
+<hr/>
+<blockquote>
+<h3>
+<a name="1323"></a>
+<a href="http://issues.apache.org/jira/browse/DERBY-1323">DERBY-1323</a>
+</h3>
+<h4>Problem</h4>
+<p>
+The detectability methods rowUpdated, rowInserted, rowDeleted can be called from illegal states in both clients.
+</p>
+</ul>
+</blockquote>
+
+<blockquote>
+<h4>Symptoms</h4>
+<p>
+These detectability methods fail to check that they can be called in
+some states. In the repro, calls are allowed while on insert row and
+when after last row. These should both fail. Both clients have the
+same problem. All three detectability methods have the same problem.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Cause</h4>
+<p>
+This is a bug.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Solution</h4>
+<p>
+In all cases, the exception "no current row" (SQLState 24000) is
+thrown now. 
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Workaround</h4>
+<p>
+Fix applications which rely on this non-standard behavior.
+</p>
+</blockquote>
+
+
+
+<hr/>
+<blockquote>
+<h3>
+<a name="1357"></a>
+<a href="http://issues.apache.org/jira/browse/DERBY-1357">DERBY-1357</a>
+</h3>
+<h4>Problem</h4>
+<p>
+The optimizer will now abandon sub-optimal join orders as soon as it realizes that they cost more than the best join order so far.
+</p>
+
+<p>
+This fix also ensures that, in the case of short-circuited join orders, Derby will still generate (and execute) an overall plan that matches the "best path" decisions made by the optimizer--which was not always the case prior to these changes.
+</p>
+</ul>
+</blockquote>
+
+<blockquote>
+<h4>Symptoms</h4>
+<p>
+Execution performance of large queries (esp. those with nested subqueries and/or with large FROM clauses) may change. The expectation is that the new (10.2) query plans will show improved performance over the old ones.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Cause</h4>
+<p>
+Since the optimizer is now spending less time evaluating sub-optimal join orders, it is possible that it will be able to try out more join orders before optimizer "timeout" occurs. As a result the optimizer can sometimes find better plans than it did in earlier versions of Derby.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Solution</h4>
+<p>
+This was an intentional change to fix behavior that was not working correctly in earlier versions of Derby. The expectation is that the new behavior--and the subsequent query plans--will lead to improved performance over the old ones, so no further solution is required.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Workaround</h4>
+<p>
+There is no way to disable/workaround this new behavior since the symptom as described above is a good one for Derby.
+</p>
+
+<p>
+That said, any user who notices a negative performance change after moving to Derby 10.2, and who believes that the difference in performance is related to this optimizer change, is encouraged to visit the following "performance diagnosis" page and to follow up with his/her findings on the Derby mailing lists:
+</p>
+
+<p>
+http://wiki.apache.org/db-derby/PerformanceDiagnosisTips
+</p>
+</blockquote>
+
+<hr/>
+<blockquote>
+<h3>
+<a name="1384"></a>
+<a href="http://issues.apache.org/jira/browse/DERBY-1384">DERBY-1384</a>
+</h3>
+<h4>Problem</h4>
+<p>
+Default BLOB/CLOB length should be the maximum length supported by Derby (2G-1)
+</p>
+</ul>
+</blockquote>
+
+<blockquote>
+<h4>Symptoms</h4>
+<p>
+An application that used BLOB will current reject values greater than 1M, changing the default means the application will now silently accept those values.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Cause</h4>
+<p>
+The allowable size of Derby LOBs has been increased.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Solution</h4>
+<p>
+This was an intentional change to make Derby conform to its own
+documentation.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Workaround</h4>
+<p>
+Fix applications which rely on Derby rejecting LOBs that are bigger
+than 1M.
+</p>
+</blockquote>
+
+
+
+<hr/>
+<blockquote>
+<h3>
+<a name="1621"></a>
+<a href="http://issues.apache.org/jira/browse/DERBY-1621">DERBY-1621</a>
+</h3>
+<h4>Problem</h4>
+<p>
+Trigger action statement is not recompile when there is a change that would affect it.
+</p>
+</ul>
+</blockquote>
+
+<blockquote>
+<h4>Symptoms</h4>
+<p>
+(1) Trigger action such as an INSERT statement does not get recompiled when the underlying
+table is affected by a CREATE or DROP INDEX statement. e.g.:
+</p>
+
+<blockquote><pre>
+         create table t (i int);
+         create table t2 (i int);
+         create trigger tt after insert on t for each statement mode db2sql insert into t2 values 1;
+         insert into t values 1;
+         select * from t2;
+         create unique index tu on t2(i);
+         insert into t values 1;
+         select * from t2;
+         insert into t values 1;
+         1 row inserted/updated/deleted
+</pre></blockquote>
+       
+<p>         
+The above example creates an unique index on table t2. when the trigger is fired, it did not
+raise an unique constraint error.
+</p>
+
+<p>
+(2) When the trigger action statement underlying view gets dropped, the trigger statement did not get
+recompiled. e.g.:
+</p>
+
+<blockquote><pre>
+         create table t11 (c111 int not null primary key, c112 int);
+         insert into t11 values(1,1);
+         insert into t11 values(2,2);
+         create view v21 as select * from user1.t11;
+         create table t31 (c311 int);
+         create table t32 (c321 int);
+         create trigger tr31t31 after insert on t31 for each statement mode db2sql insert into t32 values (select c111 from user1.v21 where c112=1);
+         insert into t31 values(1);
+         select * from t31;
+         select * from t32;
+         drop view v21;
+         insert into t31 values(1);
+</pre></blockquote>
+
+<p>
+In the above example, a view which the trigger action references is dropped; however, the last SQL
+INSERT statement did not throw an error.
+</p>
+
+<p>
+(3) Conglomerate does not exist occurs in a specific case after dropping a table referenced by a trigger.
+The trigger action is not being recompiled and raises SQLSTATE XSAI2 even though the table being
+dropped was recreated again. e.g.:
+</p>
+
+<blockquote><pre>
+         create table t1 (id int, name varchar(20));
+         create table t2 (id int);
+         create trigger test_trigger after insert on t2 for each row mode db2sql insert into t1 values(100, 'hundred');
+         insert into t2 values(1);
+         insert into t2 values(1);
+         select * from t1;
+         drop table t1;
+         insert into t2 values(1);
+         create table t1 (id int, name varchar(20));
+         insert into t2 values(1);
+</pre></blockquote>
+
+<p>
+In the above example, a table which the trigger action references is dropped. The last INSERT
+statement should execute successfully but it raises SQLSTATE XSAI2: The conglomerate (896)
+requested does not exist.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Cause</h4>
+<p>
+Derby did not perform invalidation of the trigger action when object(s) that the trigger
+references are modified or dropped; hence, resulting in the stated problem above. The
+affected versions are Derby 10.0 and 10.1.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Solution</h4>
+<p>
+A fix to resolve the above Derby symptoms is available in 10.2.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Workaround</h4>
+<p>
+None.
+</p>
+</blockquote>
+
+
+<hr/>
+<blockquote>
+<h3>
+<a name="1652"></a>
+<a href="http://issues.apache.org/jira/browse/DERBY-1652">DERBY-1652</a>
+</h3>
+<h4>Problem</h4>
+<p>
+In some cases, an after update trigger does not get fired upon itself when its trigger action contains
+an update statement on the trigger's subject table.
+</p>
+</ul>
+</blockquote>
+
+<blockquote>
+<h4>Symptoms</h4>
+<p>
+(1) When defining a trigger for the first time for a table, e.g.:
+</p>
+
+<blockquote><pre>  
+        CREATE TABLE "TEST" ("TESTID" INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1),
+                             "INFO" INTEGER NOT NULL,
+                             "TIMESTAMP" TIMESTAMP NOT NULL DEFAULT '1980-01-01-00.00.00.000000');
+    
+        CREATE TRIGGER UPDATE_TEST
+        AFTER UPDATE ON TEST
+        REFERENCING OLD AS OLD
+        FOR EACH ROW MODE DB2SQL
+            UPDATE TEST SET TIMESTAMP = CURRENT_TIMESTAMP WHERE TESTID = OLD.TESTID;
+  
+        INSERT INTO TEST (INFO) VALUES (1), (2), (3);
+
+        UPDATE TEST SET INFO = 1 WHERE TESTID = 2;
+</pre></blockquote>
+
+
+<p>
+The above update statement executes successfully which it is incorrect. The system should have issued
+SQLSTATE 54038 since it self-triggers to its maximum depth of 16.
+</p>
+
+   
+<p>
+(2) With the above example, when an user upgrades to a higher version and issues the same update statement:
+</p>
+
+<blockquote><pre>
+        UPDATE TEST SET INFO = 1 WHERE TESTID = 2;
+        ERROR 54038: Maximum depth of nested triggers was exceeded.
+</pre></blockquote>
+
+<p>
+The SQLSTATE 54038 is issued in this case because after database upgrade, the trigger action will be
+invalidated by the system and will force a recompilation of the trigger when it is fired. The system
+generates the correct execution plan this time and since the trigger behavior have changed, this might
+cause applications to break unexpectedly.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Cause</h4>
+<p>
+Derby's did not generate the correct execution plan for self-trigger invocation when such a trigger is declared
+for the first time on the subject table; hence, resulting in the stated problem above. The affected version is
+Derby 10.0 and 10.1.
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Solution</h4>
+<p>
+A fix to resolve the above Derby symptom is available in 10.1 and 10.2.
+thrown now. 
+</p>
+</blockquote>
+
+<blockquote>
+<h4>Workaround</h4>
+<p>
+If self-trigger invocation was not intended by the application, the application can select which column(s) on the
+update statement can cause the trigger to fire in the cREATE TRIGGER statement. i.e.:
+</p>
+
+<blockquote><pre>
+   CREATE TRIGGER update_test
+   AFTER UPDATE OF INFO ON test
+   REFERENCING OLD AS old
+   FOR EACH ROW MODE DB2SQL
+       UPDATE test SET timestamp=current_timestamp WHERE testid=old.testid;
+</pre></blockquote>
+ 
+<p>
+In the above statement, the trigger will only fire when an update
+is made to the "info" column instead of any column(s). 
+</p>
+</blockquote>
+
 
 <h2><a name="Build Environment"></a>Build Environment</h2>
 
 <p>
-Derby release a?.b?.c?.d? was built using the following environment:
+Derby release 10.2.1.4 was built using the following environment:
 </p>
 
 <ul>
-<li><b>Branch</b> - Source code came from the a?.b? branch.</li>
-<li><b>Machine</b> - Describe here the machine used for the
-build. E.g.: Cygwin on Microsoft Windows XP Professional Version 2002 Service
+<li><b>Branch</b> - Source code came from the 10.2 branch.</li>
+<li><b>Machine</b> - Cygwin on Microsoft Windows XP Professional Version 2002 Service
 Pack 2.</li>
-<li><b>Ant</b> - Attach here the output of "ant -version".</li>
-<li><b>JDK 1.4</b> - Attach here the output of "java -version" run
-from your 1.4 installation.</li>
-<li><b>JDK 1.3</b> - Attach here the output of "java -version" run
-from your 1.3 installation.</li>
-<li><b>JDK 1.6</b> - Say here whether you used the 1.6 jdk to build
-the JDBC4 support. Attach here the output of "java -version" run
-from your 1.6 installation.</li>
-<li><b>OSGi</b> - Say here whether you used osgi.jar to build org.apache.derby.osgi.EmbeddedActivator.</li>
-<li><b>Compiler</b> - Say which compiler you used. This could be a
-version of jikes. Or it could be javac (together with the output of
-the corresponding "java -version").</li>
-<li><b>JSR 169</b> - Say whether you built the J2ME support and if so,
-which toolkit you used for this (e.g., java.sun.com/j2me or IBM WCTME 5.7).</li>
+<li><b>Ant</b> - Apache Ant version 1.6.5 compiled on June 2 2005.</li>
+<li><b>JDK 1.4</b> - Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_08-b03).</li>
+<li><b>JDK 1.3</b> - Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_16-b06).</li>
+<li><b>JDK 1.6</b> - The optional JDBC4 drivers were not compiled.</li>
+<li><b>OSGi</b> - The osgi.jar was used to build org.apache.derby.osgi.EmbeddedActivator.</li>
+<li><b>Compiler</b> - The 1.4.2_08-b03 javac was used to compile all classes.</li>
+<li><b>JSR 169</b> - J2ME support was built using java.sun.com/j2me (j2me_cdc_fp-1_0_2).</li>
 </ul>
 
 </body>