You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@db.apache.org by rh...@apache.org on 2017/09/09 23:49:10 UTC

svn commit: r1017932 [5/6] - in /websites/production/db/content/derby: ./ dev/ integrate/ manuals/ papers/ papers/DerbyTut/ releases/

Modified: websites/production/db/content/derby/releases/release-10.5.1.1.html
==============================================================================
--- websites/production/db/content/derby/releases/release-10.5.1.1.html (original)
+++ websites/production/db/content/derby/releases/release-10.5.1.1.html Sat Sep  9 23:49:09 2017
@@ -3,8 +3,9 @@
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.9">
+<meta name="Forrest-version" content="0.8">
 <meta name="Forrest-skin-name" content="pelt">
+<meta name="generator" content="">
 <title>Apache Derby 10.5.1.1 Release</title>
 <link type="text/css" href="../skin/basic.css" rel="stylesheet">
 <link media="screen" type="text/css" href="../skin/screen.css" rel="stylesheet">
@@ -484,7 +485,6 @@ document.write("Last Published: " + docu
 	          &nbsp;<input value="+a" class="biggerfont" title="Enlarge text" onclick="ndeSetTextSize('incr'); return false;" type="button">
 </div>
 <h1>Apache Derby 10.5.1.1 Release</h1>
-<div id="front-matter">
 <div id="minitoc-area">
 <ul class="minitoc">
 <li>
@@ -562,8 +562,7 @@ document.write("Last Published: " + docu
 </li>
 </ul>
 </div>
-</div>
-<a name="Distributions"></a>
+<a name="N10010"></a><a name="Distributions"></a>
 <h2 class="boxed">Distributions</h2>
 <div class="section">
 <p>Use the links below to download a distribution of Apache Derby. You should <strong>always</strong> <a href="#Verifying+releases">verify the integrity</a> of distribution files downloaded from a mirror.</p>
@@ -596,11 +595,11 @@ document.write("Last Published: " + docu
 <a class="external" href="http://archive.apache.org/dist/db/derby/db-derby-10.5.1.1/derby_ui_doc_plugin_1.1.2.zip">derby_ui_doc_plugin_1.1.2.zip</a> [<a class="external" href="http://archive.apache.org/dist/db/derby/db-derby-10.5.1.1/derby_ui_doc_plugin_1.1.2.zip.asc">PGP</a>] [<a class="external" href="http://archive.apache.org/dist/db/derby/db-derby-10.5.1.1/derby_ui_doc_plugin_1.1.2.zip.md5">MD5</a>]</p>
 <p>Please note: both plugins must be installed for full functionality. For information on installing and using the Derby plugins for Eclipse, please see the <a href="http://db.apache.org/derby/integrate/plugin_howto.html">Using the 10 Core and 1.1 UI Derby plug-ins</a> page.</p>
 </div>
-<a name="Release Notes for Derby 10.5.1.1"></a>
+<a name="N100BC"></a><a name="Release Notes for Derby 10.5.1.1"></a>
 <h2 class="boxed">Release Notes for Derby 10.5.1.1</h2>
 <div class="section">
 <p>These notes describe the difference between Derby release 10.5.1.1 and the preceding release 10.4.2.0.</p>
-<a name="Overview"></a>
+<a name="N100C4"></a><a name="Overview"></a>
 <h3 class="boxed">Overview</h3>
 <p>Derby is a pure Java relational database engine using standard SQL and JDBC as its APIs.</p>
 <p>Derby functionality includes:</p>
@@ -610,7 +609,7 @@ document.write("Last Published: " + docu
 <li>Network client JDBC drivers</li>
 <li>Command line tools: ij (SQL scripting), dblook (schema dump) and sysinfo (system info)</li>
 </ul>
-<a name="New+Features"></a>
+<a name="N100D7"></a><a name="New+Features"></a>
 <h3 class="boxed">New Features</h3>
 <p>This is a feature release. The following features were added.</p>
 <ul>
@@ -631,7 +630,7 @@ document.write("Last Published: " + docu
 <li>
 <strong>SYSCS_UTIL.SYSCS_UPDATE_STATISTICS</strong> - New system procedure that updates cardinality statistics (or creates them if they do not exist) for a table's index or for all the indexes on a table, allowing a user to ensure that a query plan based on the most recent state of the table can be created.</li>
 </ul>
-<a name="Bug+Fixes"></a>
+<a name="N10104"></a><a name="Bug+Fixes"></a>
 <h3 class="boxed">Bug Fixes</h3>
 <p>The following issues are addressed by Derby release 10.5.1.1. These issues are not addressed in the preceding 10.4.2.0 release.</p>
 <table class="ForrestTable" cellspacing="1" cellpadding="4" border="2">
@@ -1743,7 +1742,7 @@ document.write("Last Published: " + docu
 <td><a class="external" href="http://issues.apache.org/jira/browse/DERBY-48">DERBY-48</a></td><td>A connection request that has a default schema that is being created by another transaction will fail to connect</td>
 </tr>
 </table>
-<a name="Issues"></a>
+<a name="N10B25"></a><a name="Issues"></a>
 <h3 class="boxed">Issues</h3>
 <p>Compared with the previous release (10.4.2.0), Derby release 10.5.1.1 introduces the following incompatibilities. These merit your special attention.</p>
 <ul>
@@ -1809,55 +1808,55 @@ document.write("Last Published: " + docu
 </li>
 </ul>
 <hr>
-<a name="Note+for+DERBY-4073"></a>
+<a name="N10B86"></a><a name="Note+for+DERBY-4073"></a>
 <h4>Note for DERBY-4073</h4>
-<a name="Summary+of+Change"></a>
+<a name="N10B8C"></a><a name="Summary+of+Change"></a>
 <h5>Summary of Change</h5>
 <p>The method <tt>setSsl(int)</tt> has been removed from the client data source classes.</p>
-<a name="Symptoms+Seen+by+Applications+Affected+by+Change"></a>
+<a name="N10B95"></a><a name="Symptoms+Seen+by+Applications+Affected+by+Change"></a>
 <h5>Symptoms Seen by Applications Affected by Change</h5>
 <p>The application will either fail to compile, or experience a <tt>NoSuchMethodError</tt>. Only applications invoking the removed method are affected.</p>
-<a name="Incompatibilities+with+Previous+Release"></a>
+<a name="N10B9E"></a><a name="Incompatibilities+with+Previous+Release"></a>
 <h5>Incompatibilities with Previous Release</h5>
 <p>The method <tt>setSsl(int)</tt> can no longer be used to configure SSL with the client data sources.</p>
-<a name="Rationale+for+Change"></a>
+<a name="N10BA7"></a><a name="Rationale+for+Change"></a>
 <h5>Rationale for Change</h5>
 <p>Having two <tt>setSsl</tt>-methods caused choice problems for some applications using Derby data sources and also configuring the data source through introspection, since there were two methods called setSsl; <tt>setSsl(int)</tt> and <tt>setSsl(String)</tt>.</p>
-<a name="Application+Changes+Required"></a>
+<a name="N10BB6"></a><a name="Application+Changes+Required"></a>
 <h5>Application Changes Required</h5>
 <p>Use <tt>setSsl(String)</tt> instead of <tt>setSsl(int)</tt>.</p>
 <hr>
-<a name="Note+for+DERBY-4050"></a>
+<a name="N10BC3"></a><a name="Note+for+DERBY-4050"></a>
 <h4>Note for DERBY-4050</h4>
-<a name="Summary+of+Change-N10BC0"></a>
+<a name="N10BC9"></a><a name="Summary+of+Change-N10BC9"></a>
 <h5>Summary of Change</h5>
 <p>Table growth may result from multi-threaded Clob updates before the fix for DERBY-4050.</p>
-<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10BC6"></a>
+<a name="N10BCF"></a><a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10BCF"></a>
 <h5>Symptoms Seen by Applications Affected by Change</h5>
 <p>Before the fix for DERBY-4050, applications may have seen growth in the size of the database, particularly the size of the dat files for Clob tables, when doing updates to the Clob tables from multiple threads. The fix for DERBY-4050 will prevent future growth but will not reclaim space consumed by the bug in the past. To reclaim the space, a full offline compress of the clob table is needed. See the Derby documentation for usage of <a href="http://db.apache.org/derby/docs/10.4/ref/rrefaltertablecompress.html">SYSCS_UTIL.SYSCS_COMPRESS_TABLE</a>
 </p>
-<a name="Incompatibilities+with+Previous+Release-N10BCF"></a>
+<a name="N10BD8"></a><a name="Incompatibilities+with+Previous+Release-N10BD8"></a>
 <h5>Incompatibilities with Previous Release</h5>
 <p>none</p>
-<a name="Rationale+for+Change-N10BD5"></a>
+<a name="N10BDE"></a><a name="Rationale+for+Change-N10BDE"></a>
 <h5>Rationale for Change</h5>
 <p>DERBY-4050 fixes a bug in space reclamation.</p>
-<a name="Application+Changes+Required-N10BDB"></a>
+<a name="N10BE4"></a><a name="Application+Changes+Required-N10BE4"></a>
 <h5>Application Changes Required</h5>
 <p>The compress table should only need to be run once if the fix for DERBY-4050 has been applied. No application changes should be required.</p>
 <hr>
-<a name="Note+for+DERBY-4042"></a>
+<a name="N10BEB"></a><a name="Note+for+DERBY-4042"></a>
 <h4>Note for DERBY-4042</h4>
-<a name="Summary+of+Change-N10BE8"></a>
+<a name="N10BF1"></a><a name="Summary+of+Change-N10BF1"></a>
 <h5>Summary of Change</h5>
 <p>Format of file name arguments to the import procedures changed for files with single quotes (') in their names.</p>
-<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10BEE"></a>
+<a name="N10BF7"></a><a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10BF7"></a>
 <h5>Symptoms Seen by Applications Affected by Change</h5>
 <p>In the previous release, applications that imported data from a file whose file name contained a single quote (') character would fail unless they replaced each single quote in the file name argument to the import procedure with two single quotes. Now this has changed and Derby does not understand the file name argument unless it has the same number of single quote characters as the actual file name. Applications that worked around the problems in earlier releases by adding extra single quotes, will now see exceptions like the following:</p>
 <pre>ERROR XIE04: Data file not found: Rock''n''roll.csv
 </pre>
 <p>Applications that do not import files whose names contain single quotes will not be affected by this change.</p>
-<a name="Incompatibilities+with+Previous+Release-N10BF8"></a>
+<a name="N10C01"></a><a name="Incompatibilities+with+Previous+Release-N10C01"></a>
 <h5>Incompatibilities with Previous Release</h5>
 <p>Previous releases required file name arguments to the import procedures to double each occurrence of a single quote in the file name, like this when importing a file called <tt>C:/Chip's/TERMS.dat</tt>:</p>
 <pre>PreparedStatement ps = conn.prepareStatement(
@@ -1874,19 +1873,19 @@ ps.execute();
 ps.setString(1, "C:/Chip's/TERMS.dat");
 ps.execute();
 </pre>
-<a name="Rationale+for+Change-N10C0B"></a>
+<a name="N10C14"></a><a name="Rationale+for+Change-N10C14"></a>
 <h5>Rationale for Change</h5>
 <p>It is more intuitive if the file name arguments match the actual file names. Also, in the previous releases there were some combinations of single quotes and other special characters (like double quotes) that it was not possible to get to work even with the workaround.</p>
-<a name="Application+Changes+Required-N10C11"></a>
+<a name="N10C1A"></a><a name="Application+Changes+Required-N10C1A"></a>
 <h5>Application Changes Required</h5>
 <p>Applications that work around the issue in previous releases by adding extra single quotes to the file name arguments, must be changed so that they do not add extra single quote characters.</p>
 <hr>
-<a name="Note+for+DERBY-4008"></a>
+<a name="N10C21"></a><a name="Note+for+DERBY-4008"></a>
 <h4>Note for DERBY-4008</h4>
-<a name="Summary+of+Change-N10C1E"></a>
+<a name="N10C27"></a><a name="Summary+of+Change-N10C27"></a>
 <h5>Summary of Change</h5>
 <p>After the change for DERBY-4008, applications may see a different error message when attempting to connect a 10.5 client to older revision servers (e.g. 10.4 and 10.3) with multibyte database names.</p>
-<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10C24"></a>
+<a name="N10C2D"></a><a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10C2D"></a>
 <h5>Symptoms Seen by Applications Affected by Change</h5>
 <p>In previous releases when attempting to connect to network server using a multibyte database name the connect would fail with the the exception:<br> 
 <span class="codefrag">SQLSTATE:22005 java.sql.SQLDataException: Unicode string cannot convert to Ebcdic string</span>
@@ -1895,64 +1894,64 @@ ps.execute();
 <br> with a chained SQLException:<br> 
 <span class="codefrag">SQLSTATE:22005 java.sql.SQLDataException: Unicode string cannot convert to Ebcdic string</span>
 <br> The protocol error will also show on the server console.</p>
-<a name="Incompatibilities+with+Previous+Release-N10C3C"></a>
+<a name="N10C45"></a><a name="Incompatibilities+with+Previous+Release-N10C45"></a>
 <h5>Incompatibilities with Previous Release</h5>
 <p>The client error message when attempting to connect with multibyte database names will change with mixed revision client/server as described in the previous section.</p>
-<a name="Rationale+for+Change-N10C42"></a>
+<a name="N10C4B"></a><a name="Rationale+for+Change-N10C4B"></a>
 <h5>Rationale for Change</h5>
 <p>This change was made in preparation for fixing DERBY-728 to allow multibyte characters in the database name. The change in error message with back revision servers was considered an acceptable change and necessary to fix DERBY-728.</p>
-<a name="Application+Changes+Required-N10C48"></a>
+<a name="N10C51"></a><a name="Application+Changes+Required-N10C51"></a>
 <h5>Application Changes Required</h5>
 <p>To reveert to the previous error message, users can upgrade their server to the latest on the 10.3 or 10.4 branch, or upgrade their server to 10.5. Otherwise applications expecting the old error message should upon gettting the SQLState: 08006 message retrieve the chained exception with SQLExcepiton.getNextMessage() and then process the message as before.</p>
 <hr>
-<a name="Note+for+DERBY-3977"></a>
+<a name="N10C58"></a><a name="Note+for+DERBY-3977"></a>
 <h4>Note for DERBY-3977</h4>
-<a name="Summary+of+Change-N10C55"></a>
+<a name="N10C5E"></a><a name="Summary+of+Change-N10C5E"></a>
 <h5>Summary of Change</h5>
 <p>A different exception is thrown by the embedded driver when trying to truncate a Clob with a too large length argument.</p>
-<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10C5B"></a>
+<a name="N10C64"></a><a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10C64"></a>
 <h5>Symptoms Seen by Applications Affected by Change</h5>
 <p>In the previous release, the embedded driver would throw an exception with SQLState XJ076 when trying to truncate a Clob with a length argument bigger than the Clob length. Now, it will throw the same exception as the client driver, XJ079. The error messages also differ:</p>
 <pre>Before: XJ076: The position argument '18149' exceeds the size of the BLOB/CLOB.
 Now: XJ079: The length specified '18149' exceeds the size of the BLOB/CLOB.
 </pre>
-<a name="Incompatibilities+with+Previous+Release-N10C63"></a>
+<a name="N10C6C"></a><a name="Incompatibilities+with+Previous+Release-N10C6C"></a>
 <h5>Incompatibilities with Previous Release</h5>
 <p>Applications catching a specific exception based on SQLState may behave differently. The incompatibility can only be seen if the application calls <span class="codefrag">Clob.truncate</span> with the embedded driver.</p>
-<a name="Rationale+for+Change-N10C6C"></a>
+<a name="N10C75"></a><a name="Rationale+for+Change-N10C75"></a>
 <h5>Rationale for Change</h5>
 <p>To make the embedded and the client driver consistent.</p>
-<a name="Application+Changes+Required-N10C72"></a>
+<a name="N10C7B"></a><a name="Application+Changes+Required-N10C7B"></a>
 <h5>Application Changes Required</h5>
 <p>Look for SQLState XJ079 instead of XJ076 when <span class="codefrag">Clob.truncate()</span> is called.</p>
 <hr>
-<a name="Note+for+DERBY-3701"></a>
+<a name="N10C85"></a><a name="Note+for+DERBY-3701"></a>
 <h4>Note for DERBY-3701</h4>
-<a name="Summary+of+Change-N10C82"></a>
+<a name="N10C8B"></a><a name="Summary+of+Change-N10C8B"></a>
 <h5>Summary of Change</h5>
 <p>An error message will be logged to derby.log if the Network Server tracing file cannot be created. Starting with version 10.5, the Network Server will attempt to create the trace directory if it does not exist. Any intervening directories in the given path will also be created if possible.</p>
-<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10C88"></a>
+<a name="N10C91"></a><a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10C91"></a>
 <h5>Symptoms Seen by Applications Affected by Change</h5>
 <p>Before the fix for DERBY-3110, if derby.drda.traceAll was set to true and the derby.drda.traceDirectory was set to a non-existent directory, no tracing would occur and no error would occur. After the fix for DERBY-3110, an error "java.lang.Exception: DRDA_UnableToAccept.S:Unable to accept connections" would occur and the client would hang and no tracing would occur. With this fix for version 10.5 and higher, the Network Server will attempt to create the trace directory if possible. For 10.4.2 (and the next release on the 10.3 branch), the Network Server will still not try to create the directory. For all these releases the Network Server will print an error on session connect if there is any problem creating the trace file, but the Network Server will not cause the session connection to fail. Users who have trace turned on and the trace directory set to a non-existent directory may now see exceptions in the derby.log on connect indicating that the trace file is not found <strong>
 or</strong> with 10.5 or higher they may see tracing occur where it did not before.</p>
-<a name="Incompatibilities+with+Previous+Release-N10C91"></a>
+<a name="N10C9A"></a><a name="Incompatibilities+with+Previous+Release-N10C9A"></a>
 <h5>Incompatibilities with Previous Release</h5>
 <p>Tracing properties will not be ignored or cause the client to hang if the trace directory is set to a non-existent directory.</p>
-<a name="Rationale+for+Change-N10C97"></a>
+<a name="N10CA0"></a><a name="Rationale+for+Change-N10CA0"></a>
 <h5>Rationale for Change</h5>
 <p>The tracing properties should not be summarily ignored or cause the client to hang if the trace directory does not exist.</p>
-<a name="Application+Changes+Required-N10C9D"></a>
+<a name="N10CA6"></a><a name="Application+Changes+Required-N10CA6"></a>
 <h5>Application Changes Required</h5>
 <p>Applications that counted on the derby.drda.traceAll property being ignored if derby.drda.traceDirectory was set to a non-existent directory, need to turn tracing off or they may now see many errors in the derby.log or large amounts of tracing.</p>
 <hr>
-<a name="Note+for+DERBY-3652"></a>
+<a name="N10CAD"></a><a name="Note+for+DERBY-3652"></a>
 <h4>Note for DERBY-3652</h4>
-<a name="Summary+of+Change-N10CAA"></a>
+<a name="N10CB3"></a><a name="Summary+of+Change-N10CB3"></a>
 <h5>Summary of Change</h5>
 <p>Derby now follows the SQL Standard rules for matching functions and procedures to Java methods.</p>
-<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10CB0"></a>
+<a name="N10CB9"></a><a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10CB9"></a>
 <h5>Symptoms Seen by Applications Affected by Change</h5>
 <p>In previous releases, Derby matched SQL routines to Java methods using an irregular set of rules which were hard to describe. At the same time, the user documentation falsely claimed that Derby followed the signature matching rules in the ANSI/ISO SQL Standard. Derby now conforms to the Standard behavior. In general, the Standard behavior is easier to understand and it is now possible to be confident that a function or procedure definition will match the desired Java method. In certain corner cases, however, methods which used to resolve will no longer resolve. The Standard resolution rules are described in the Derby Reference Guide.</p>
-<a name="Incompatibilities+with+Previous+Release-N10CB6"></a>
+<a name="N10CBF"></a><a name="Incompatibilities+with+Previous+Release-N10CBF"></a>
 <h5>Incompatibilities with Previous Release</h5>
 <p>Routines may resolve differently. Here are the differences listed in declining order of likelihood:</p>
 <ol>
@@ -1980,10 +1979,10 @@ Now: XJ079: The length specified '18149'
 </ul>
 </li>
 </ol>
-<a name="Rationale+for+Change-N10D00"></a>
+<a name="N10D09"></a><a name="Rationale+for+Change-N10D09"></a>
 <h5>Rationale for Change</h5>
 <p>The previous behavior violated the SQL Standard and was very hard to explain. The new behavior is correct and easy to describe.</p>
-<a name="Application+Changes+Required-N10D06"></a>
+<a name="N10D0F"></a><a name="Application+Changes+Required-N10D0F"></a>
 <h5>Application Changes Required</h5>
 <p>This release includes a lint tool, <em>SignatureChecker</em>. If your application uses SQL functions and/or procedures, you should run this tool against your databases in order to find routines which no longer match. To run the tool, make sure that your classpath contains the 10.5 jar files, including <em>derbytools.jar</em>.</p>
 <p>On a J2SE platform, run the lint tool as follows (where CONNECTION_URL_TO_DATABASE is the connection URL you would use in order to obtain a connection via <em>DriverManager.getConnection()</em>):</p>
@@ -2020,30 +2019,30 @@ The method might exist but it is not pub
 <strong>Routine</strong> - Drop and recreate your function/procedure so that its arguments and return type match your Java method according to the Standard rules described in the Reference Guide.</li>
 </ol>
 <hr>
-<a name="Note+for+DERBY-3420"></a>
+<a name="N10D46"></a><a name="Note+for+DERBY-3420"></a>
 <h4>Note for DERBY-3420</h4>
-<a name="Summary+of+Change-N10D43"></a>
+<a name="N10D4C"></a><a name="Summary+of+Change-N10D4C"></a>
 <h5>Summary of Change</h5>
 <p>The <em>-ca</em> command line option has been removed from ij.</p>
-<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10D4C"></a>
+<a name="N10D55"></a><a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10D55"></a>
 <h5>Symptoms Seen by Applications Affected by Change</h5>
 <p>Applications which attempt to pass JDBC connection attributes using the -ca flag to ij will be rejected, with a usage message such as: Usage: java org.apache.derby.tools.ij -p propertyfile inputfile</p>
-<a name="Incompatibilities+with+Previous+Release-N10D52"></a>
+<a name="N10D5B"></a><a name="Incompatibilities+with+Previous+Release-N10D5B"></a>
 <h5>Incompatibilities with Previous Release</h5>
 <p>Applications which attempt to pass JDBC connection attributes using the -ca flag to ij will fail, as that flag is no longer recognized by ij.</p>
-<a name="Rationale+for+Change-N10D58"></a>
+<a name="N10D61"></a><a name="Rationale+for+Change-N10D61"></a>
 <h5>Rationale for Change</h5>
 <p>It used to be that you could not specify both client and embedded attributes in the connection URL. Since Derby now supports such combinations of attributes in the connection URL, the community decided that the -ca option doesn't really add value and so it has been removed.</p>
-<a name="Application+Changes+Required-N10D5E"></a>
+<a name="N10D67"></a><a name="Application+Changes+Required-N10D67"></a>
 <h5>Application Changes Required</h5>
 <p>Applications should include connection attributes in the connection URL. For example: connect 'jdbc:derby:myDB;territory=no_NO;collation=TERRITORY_BASED;create=true';</p>
 <hr>
-<a name="Note+for+DERBY-3347"></a>
+<a name="N10D6E"></a><a name="Note+for+DERBY-3347"></a>
 <h4>Note for DERBY-3347</h4>
-<a name="Summary+of+Change-N10D6B"></a>
+<a name="N10D74"></a><a name="Summary+of+Change-N10D74"></a>
 <h5>Summary of Change</h5>
 <p>A bug that could cause unrecoverable database corruption has been fixed.</p>
-<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10D71"></a>
+<a name="N10D7A"></a><a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10D7A"></a>
 <h5>Symptoms Seen by Applications Affected by Change</h5>
 <p>A bug that could cause database corruption was introduced in the 10.3 codeline and affects the following releases:</p>
 <ul>
@@ -2057,59 +2056,59 @@ ERROR XSDG2: Invalid checksum on Page Pa
 ERROR XSDG3: Meta-data for Container org.apache.derby.impl.store.raw.data.RAFContainer4@1afb0c7 could not be accessed
 ERROR XSLA1: Log Record has been sent to the stream, but it cannot be applied to the store (Object null). This may cause recovery problems also.
 </pre>
-<a name="Incompatibilities+with+Previous+Release-N10D80"></a>
+<a name="N10D89"></a><a name="Incompatibilities+with+Previous+Release-N10D89"></a>
 <h5>Incompatibilities with Previous Release</h5>
 <p>None.</p>
-<a name="Rationale+for+Change-N10D86"></a>
+<a name="N10D8F"></a><a name="Rationale+for+Change-N10D8F"></a>
 <h5>Rationale for Change</h5>
 <p>Database corruption is bad.</p>
-<a name="Application+Changes+Required-N10D8C"></a>
+<a name="N10D95"></a><a name="Application+Changes+Required-N10D95"></a>
 <h5>Application Changes Required</h5>
 <p>No changes are required. However, since the database corruption may go unnoticed for a while, users may want to check the consistency of their databases after upgrading Derby. The process is described on the following wiki page: <a class="external" href="http://wiki.apache.org/db-derby/DatabaseConsistencyCheck">http://wiki.apache.org/db-derby/DatabaseConsistencyCheck</a> . If a corruption is detected, restoring the database from backup is the only reliable way to recover.</p>
 <hr>
-<a name="Note+for+DERBY-3327"></a>
+<a name="N10DA0"></a><a name="Note+for+DERBY-3327"></a>
 <h4>Note for DERBY-3327</h4>
-<a name="Summary+of+Change-N10D9D"></a>
+<a name="N10DA6"></a><a name="Summary+of+Change-N10DA6"></a>
 <h5>Summary of Change</h5>
 <p>The effect of setting the current default schema (<span class="codefrag">SET SCHEMA schemaname</span>) inside nested connection of a stored procedure or function has been changed to comply with SQL standard semantics.</p>
 <p>Previously, setting the schema in a nested connection would have an effect on the current default schema also in the SQL connection of the caller. The SQL standard requires that the value of the default current schema at the time of the call be reestablished when the call is completed. This is now implemented.</p>
 <p>If the current schema is dropped by a stored procedure or function, the current schema as well as the saved values of the callers will be reset to the initial default schema of the root connection.</p>
-<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10DAA"></a>
+<a name="N10DB3"></a><a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10DB3"></a>
 <h5>Symptoms Seen by Applications Affected by Change</h5>
-<a name="Rationale+for+Change-N10DAE"></a>
+<a name="N10DB7"></a><a name="Rationale+for+Change-N10DB7"></a>
 <h5>Rationale for Change</h5>
 <p>SQL standard compliance.</p>
-<a name="Application+Changes+Required-N10DB4"></a>
+<a name="N10DBD"></a><a name="Application+Changes+Required-N10DBD"></a>
 <h5>Application Changes Required</h5>
 <hr>
-<a name="Note+for+DERBY-3319"></a>
+<a name="N10DC2"></a><a name="Note+for+DERBY-3319"></a>
 <h4>Note for DERBY-3319</h4>
-<a name="Summary+of+Change-N10DBF"></a>
+<a name="N10DC8"></a><a name="Summary+of+Change-N10DC8"></a>
 <h5>Summary of Change</h5>
 <p>Exception is thrown when connection with uncommitted operations is closed.</p>
-<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10DC5"></a>
+<a name="N10DCE"></a><a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10DCE"></a>
 <h5>Symptoms Seen by Applications Affected by Change</h5>
 <p>In the previous release, applications could close a connection obtained from Derby's implementations of <span class="codefrag">javax.sql.DataSource</span> or <span class="codefrag">javax.sql.ConnectionPoolDataSource</span>, even if the connection had uncommitted operations. Now, Derby raises an <span class="codefrag">SQLException</span> when an attempt to close a connection with an active transaction is made. The exception will have SQLState 25001, and its message will say the following:</p>
 <pre>java.sql.SQLException: Cannot close a connection while a transaction is still active.
 </pre>
-<a name="Incompatibilities+with+Previous+Release-N10DD6"></a>
+<a name="N10DDF"></a><a name="Incompatibilities+with+Previous+Release-N10DDF"></a>
 <h5>Incompatibilities with Previous Release</h5>
 <p>Applications that close connections with active transactions now fail.</p>
-<a name="Rationale+for+Change-N10DDC"></a>
+<a name="N10DE5"></a><a name="Rationale+for+Change-N10DE5"></a>
 <h5>Rationale for Change</h5>
 <p>The previous behaviour was not consistent with the behaviour of connection objects obtained from <span class="codefrag">java.sql.DriverManager</span>, which already raise an exception in such a situation. The previous behaviour could also cause resource leaks because there is no way to free the resources held by an active transaction once its connection object has been closed.</p>
-<a name="Application+Changes+Required-N10DE5"></a>
+<a name="N10DEE"></a><a name="Application+Changes+Required-N10DEE"></a>
 <h5>Application Changes Required</h5>
 <p>Users must call <span class="codefrag">commit()</span> or <span class="codefrag">rollback()</span>, or use auto-commit, before attempting to close a connection with uncommitted operations.</p>
 <hr>
-<a name="Note+for+DERBY-2351"></a>
+<a name="N10DFB"></a><a name="Note+for+DERBY-2351"></a>
 <h4>Note for DERBY-2351</h4>
-<a name="Summary+of+Change-N10DF8"></a>
+<a name="N10E01"></a><a name="Summary+of+Change-N10E01"></a>
 <h5>Summary of Change</h5>
 <p>An ORDER BY clause of a DISTINCT query which specifies to order by a column which was not in the DISTINCT list is now rejected, because the intent of the query is ambiguous. Previously, Derby instead produced non-distinct results. Also, an ORDER BY clause which specifies a table-name-qualified column alias is now rejected as invalid, where previously it was accepted.</p>
-<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10DFE"></a>
+<a name="N10E07"></a><a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10E07"></a>
 <h5>Symptoms Seen by Applications Affected by Change</h5>
-<a name="New+rules+for+DISTINCT+and+ORDER+BY"></a>
+<a name="N10E0B"></a><a name="New+rules+for+DISTINCT+and+ORDER+BY"></a>
 <h5>New rules for DISTINCT and ORDER BY</h5>
 <p>Applications which specify certain combinations of SELECT DISTINCT with ORDER BY will now receive an error message, whereas formerly such applications received non-distinct results.</p>
 <p>As an example, take the following:</p>
@@ -2118,7 +2117,7 @@ ERROR XSLA1: Log Record has been sent to
 </p>
 <p>The query above is now rejected, with the error message:</p>
 <p>If the AGE column is included in the DISTINCT list in the above query, there is no ambiguity</p>
-<a name="New+column+alias+rules"></a>
+<a name="N10E23"></a><a name="New+column+alias+rules"></a>
 <h5>New column alias rules</h5>
 <p>Applications which specify a column alias for a column in the SELECT statement, and which specify an ORDER BY clause which specifies that column alias qualified by the table name, will now receive an error indicating that the ORDER BY clause is invalid.</p>
 <p>As an example, take the following:</p>
@@ -2128,7 +2127,7 @@ ERROR XSLA1: Log Record has been sent to
 <p>select t1.id as idcolumn1, t1.id as idcolumn2 from t1 order by idcolumn1, idcolumn2;</p>
 <p>or</p>
 <p>select t1.id as idcolumn1, t1.id as idcolumn2 from t1 order by t1.id, t1.id;</p>
-<a name="Rationale+for+Change-N10E30"></a>
+<a name="N10E39"></a><a name="Rationale+for+Change-N10E39"></a>
 <h5>Rationale for Change</h5>
 <p>When the query ambiguously specifies both DISTINCT and ORDER BY, Derby was unsure whether to return the rows properly ordered, but non-distinct, or to return a distinct set of rows, but in an unknown order. Since no clear resolution of the ambiguity could be found, we chose instead to reject the query.</p>
 <p>The rules for resolving column references in ORDER BY clauses have been enhanced to consider column aliases and column names more fully. Derby now uses different resolution rules depending on whether the ORDER BY column reference is table.column, or just column:</p>
@@ -2138,14 +2137,14 @@ ERROR XSLA1: Log Record has been sent to
 </ul>
 <br>
 <br>
-<a name="Application+Changes+Required-N10E3F"></a>
+<a name="N10E48"></a><a name="Application+Changes+Required-N10E48"></a>
 <h5>Application Changes Required</h5>
 <p>A query which specifies ordering by a non-distinct column should instead include the ORDER BY column in the DISTINCT list, to resolve the ambiguity about which values of that column should be used to distinctly identify the resulting rows.</p>
 <p>A query which specifies table-name.alias-name should be rewritten to specify either simply alias-name, or table-name.column-name.</p>
 <hr>
-<a name="Note+for+DERBY-2085"></a>
+<a name="N10E51"></a><a name="Note+for+DERBY-2085"></a>
 <h4>Note for DERBY-2085</h4>
-<a name="Summary+of+Change-N10E4E"></a>
+<a name="N10E57"></a><a name="Summary+of+Change-N10E57"></a>
 <h5>Summary of Change</h5>
 <p>Derby has improved the error message which is issued when an invalid column reference is found in a grouped query. Derby now issues message 42Y36 instead of 42Y30. Furthermore, the wording of message 42Y36 has been expanded to further explain the behavior.</p>
 <p>Consider the table</p>
@@ -2155,53 +2154,53 @@ ERROR XSLA1: Log Record has been sent to
 <p>In Derby releases 10.2, 10.3, and 10.4, this query gives the following error message:</p>
 <span class="codefrag">ERROR 42Y30: The SELECT list of a grouped query contains at least one invalid expression. If a SELECT list has a GROUP BY, the list may only contain valid grouping expressions and valid aggregate expressions.</span>
 <p>This is misleading since there is no invalid expression in the SELECT list. It is the ORDER BY clause that is wrong. In Derby 10.5, this query will now give the following error message, which is a revised version of the message issued by 10.1 (that is, Derby 10.5 behaves more like Derby 10.1 in this respect):</p>
-<span class="codefrag">ERROR 42Y36: Column reference 'J' is invalid, or is part of an invalid expression. For a SELECT list with a GROUP BY, the columns and expressions being selected may only contain valid grouping expressions and valid aggregate expressions.</span><a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10E64"></a>
+<span class="codefrag">ERROR 42Y36: Column reference 'J' is invalid, or is part of an invalid expression. For a SELECT list with a GROUP BY, the columns and expressions being selected may only contain valid grouping expressions and valid aggregate expressions.</span><a name="N10E6D"></a><a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10E6D"></a>
 <h5>Symptoms Seen by Applications Affected by Change</h5>
 <p>An application which issued a grouped select statement with an invalid column reference in the order by clause may now receive a different error message than it did in 10.4.</p>
-<a name="Rationale+for+Change-N10E6A"></a>
+<a name="N10E73"></a><a name="Rationale+for+Change-N10E73"></a>
 <h5>Rationale for Change</h5>
 <p>We feel that message 42Y36 is more helpful to the user in explaining the problem with the invalid query.</p>
 <hr>
-<a name="Note+for+DERBY-1062"></a>
+<a name="N10E7A"></a><a name="Note+for+DERBY-1062"></a>
 <h4>Note for DERBY-1062</h4>
-<a name="Summary+of+Change-N10E77"></a>
+<a name="N10E80"></a><a name="Summary+of+Change-N10E80"></a>
 <h5>Summary of Change</h5>
 <p>Applications will see a different error code and message when they attempt to call SYSCS_UTIL.SYSCS_INPLACE_COMPRESS_TABLE on a table that does not exist.</p>
-<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10E7D"></a>
+<a name="N10E86"></a><a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10E86"></a>
 <h5>Symptoms Seen by Applications Affected by Change</h5>
 <p>Applications will see a different error code and message when they attempt to call SYSCS_UTIL.SYSCS_INPLACE_COMPRESS_TABLE on a table that does not exist. The new error code and message will be ERROR 42Y55: 'ALTER TABLE' cannot be performed on 'MissingTableName' because it does not exist. The old error code and message used to be ERROR 42X05: Table/View 'MissingTableName' does not exist.</p>
-<a name="Incompatibilities+with+Previous+Release-N10E83"></a>
+<a name="N10E8C"></a><a name="Incompatibilities+with+Previous+Release-N10E8C"></a>
 <h5>Incompatibilities with Previous Release</h5>
 <p>The SQL exception code in the previous release was 42X05 and error message was "Table/View 'MissingTableName' does not exist."</p>
-<a name="Rationale+for+Change-N10E89"></a>
+<a name="N10E92"></a><a name="Rationale+for+Change-N10E92"></a>
 <h5>Rationale for Change</h5>
 <p>To avoid duplication of code, the error handling is now done by a generic routine in ALTER TABLE rather than a routine specific to SYSCS_UTIL.SYSCS_INPLACE_COMPRESS_TABLE. This change to use ALTER TABLE code to implement SYSCS_UTIL.SYSCS_INPLACE_COMPRESS_TABLE was made in 10.5 release and that is the reason behind the change in error code behavior.</p>
-<a name="Application+Changes+Required-N10E8F"></a>
+<a name="N10E98"></a><a name="Application+Changes+Required-N10E98"></a>
 <h5>Application Changes Required</h5>
 <p>If the application is looking for 42X05, it should be changed to look for 42Y55.</p>
 <hr>
-<a name="Note+for+DERBY-48"></a>
+<a name="N10E9F"></a><a name="Note+for+DERBY-48"></a>
 <h4>Note for DERBY-48</h4>
-<a name="Summary+of+Change-N10E9C"></a>
+<a name="N10EA5"></a><a name="Summary+of+Change-N10EA5"></a>
 <h5>Summary of Change</h5>
 <p>In Derby, a user's <strong>initial default schema</strong> is named the same as the user name, or APP if a user is not provided at connect time. This schema is implicitly auto-created the first time a schema object is created in that schema.</p>
 <p>Previously, this auto-creation would be performed as part of the user transaction. This would sometimes lead to locking issues as described in this issue. With this change, the auto-creation is now performed and committed immediately in a separate sub-transaction.</p>
-<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10EA7"></a>
+<a name="N10EB0"></a><a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10EB0"></a>
 <h5>Symptoms Seen by Applications Affected by Change</h5>
 <p>The initial default schema will be present in cases where it previously would not yet have been created: If the user transaction that creates a schema object leading to auto-creation of the initial default schema rolls back for some reason after having created the schema, up till now the auto-creation of the initial default schema would be rolled back as well. Since it is now created and committed in a sub-transaction, the schema creation will not be rolled back: the default schema will persist.</p>
-<a name="Incompatibilities+with+Previous+Release-N10EAD"></a>
+<a name="N10EB6"></a><a name="Incompatibilities+with+Previous+Release-N10EB6"></a>
 <h5>Incompatibilities with Previous Release</h5>
 <p>Most applications should not be impacted by this change, but there are some corner cases as described below:</p>
 <p>If the application tests for the existence of the initial default schema by querying Derby system tables, the results could now be different than in earlier releases, if the test is made after a rollback as described in the previous section.</p>
 <p>Since the initial default schema will now potentially exist in cases where it would previously not exist, schema operations may be impacted, e.g. where before a DROP SCHEMA &lt;default schema name&gt; RESTRICT would fail due to it not yet existing, it could now work (if empty), depending on when the drop attempt is made.</p>
-<a name="Rationale+for+Change-N10EB7"></a>
+<a name="N10EC0"></a><a name="Rationale+for+Change-N10EC0"></a>
 <h5>Rationale for Change</h5>
 <p>Implicit schema creation is now performed in its own transaction to avoid deadlocks with other connections accessing the same schema.</p>
 <p>Doing this is a separate transaction avoids holding dictionary locks longer than necessary, cf. <a class="external" href="https://issues.apache.org/jira/browse/DERBY-48">DERBY-48</a> and thus reduces the chance for deadlocks.</p>
-<a name="Application+Changes+Required-N10EC3"></a>
+<a name="N10ECC"></a><a name="Application+Changes+Required-N10ECC"></a>
 <h5>Application Changes Required</h5>
 <p>Verify that the application code does not rely on the initial default schema being absent after a rollback.</p>
-<a name="Build+Environment"></a>
+<a name="N10ED2"></a><a name="Build+Environment"></a>
 <h3 class="boxed">Build Environment</h3>
 <p>Derby release 10.5.1.1 was built using the following environment:</p>
 <ul>
@@ -2221,7 +2220,7 @@ ERROR XSLA1: Log Record has been sent to
 <strong>JSR 169</strong> - J2ME support was built using IBM's j9 jvm from WEME6.1</li>
 </ul>
 </div>
-<a name="Verifying+releases"></a>
+<a name="N10EF7"></a><a name="Verifying+releases"></a>
 <h2 class="boxed">Verifying releases</h2>
 <div class="section">
 <p>It is essential that you verify the integrity of the downloaded files using the PGP and MD5 signatures. MD5 verification ensures the file was not corrupted during the download process. PGP verification ensures that the file came from a certain person.</p>

Modified: websites/production/db/content/derby/releases/release-10.5.3.0.html
==============================================================================
--- websites/production/db/content/derby/releases/release-10.5.3.0.html (original)
+++ websites/production/db/content/derby/releases/release-10.5.3.0.html Sat Sep  9 23:49:09 2017
@@ -3,8 +3,9 @@
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.9">
+<meta name="Forrest-version" content="0.8">
 <meta name="Forrest-skin-name" content="pelt">
+<meta name="generator" content="">
 <title>Apache Derby 10.5.3.0 Release</title>
 <link type="text/css" href="../skin/basic.css" rel="stylesheet">
 <link media="screen" type="text/css" href="../skin/screen.css" rel="stylesheet">
@@ -484,7 +485,6 @@ document.write("Last Published: " + docu
 	          &nbsp;<input value="+a" class="biggerfont" title="Enlarge text" onclick="ndeSetTextSize('incr'); return false;" type="button">
 </div>
 <h1>Apache Derby 10.5.3.0 Release</h1>
-<div id="front-matter">
 <div id="minitoc-area">
 <ul class="minitoc">
 <li>
@@ -523,8 +523,7 @@ document.write("Last Published: " + docu
 </li>
 </ul>
 </div>
-</div>
-<a name="Distributions"></a>
+<a name="N10010"></a><a name="Distributions"></a>
 <h2 class="boxed">Distributions</h2>
 <div class="section">
 <p>Use the links below to download a distribution of Apache Derby. You should <strong>always</strong> <a href="#Verifying+releases">verify the integrity</a> of distribution files downloaded from a mirror.</p>
@@ -557,11 +556,11 @@ document.write("Last Published: " + docu
 <a class="external" href="http://archive.apache.org/dist/db/derby/db-derby-10.5.3.0/derby_ui_doc_plugin_1.1.2.zip">derby_ui_doc_plugin_1.1.2.zip</a> [<a class="external" href="http://archive.apache.org/dist/db/derby/db-derby-10.5.3.0/derby_ui_doc_plugin_1.1.2.zip.asc">PGP</a>] [<a class="external" href="http://archive.apache.org/dist/db/derby/db-derby-10.5.3.0/derby_ui_doc_plugin_1.1.2.zip.md5">MD5</a>]</p>
 <p>Please note: both plugins must be installed for full functionality. For information on installing and using the Derby plugins for Eclipse, please see the <a href="http://db.apache.org/derby/integrate/plugin_howto.html">Using the 10 Core and 1.1 UI Derby plug-ins</a> page.</p>
 </div>
-<a name="Release Notes for Derby 10.5.3.0"></a>
+<a name="N100BC"></a><a name="Release Notes for Derby 10.5.3.0"></a>
 <h2 class="boxed">Release Notes for Derby 10.5.3.0</h2>
 <div class="section">
 <p>These notes describe the difference between Derby release 10.5.3.0 and the preceding release 10.5.1.1.</p>
-<a name="Overview"></a>
+<a name="N100C4"></a><a name="Overview"></a>
 <h3 class="boxed">Overview</h3>
 <p>Derby is a pure Java relational database engine using standard SQL and JDBC as its APIs.</p>
 <p>Derby functionality includes:</p>
@@ -571,10 +570,10 @@ document.write("Last Published: " + docu
 <li>Network client JDBC drivers</li>
 <li>Command line tools: ij (SQL scripting), dblook (schema dump) and sysinfo (system info)</li>
 </ul>
-<a name="New+Features"></a>
+<a name="N100D7"></a><a name="New+Features"></a>
 <h3 class="boxed">New Features</h3>
 <p>This is a bug fix release and also provides localization of new 10.5 messages. No new features were added.</p>
-<a name="Bug+Fixes"></a>
+<a name="N100DF"></a><a name="Bug+Fixes"></a>
 <h3 class="boxed">Bug Fixes</h3>
 <p>The following issues are addressed by Derby release 10.5.3.0. These issues are not addressed in the preceding, deprecated 10.5.2.0 release. Most significantly, Derby 10.5.3.0 carries the fix to the wrong-results bug which caused the community to abandon 10.5.2.0: <a class="external" href="http://issues.apache.org/jira/browse/DERBY-4331"><strong>DERBY-4331</strong></a>
 </p>
@@ -799,7 +798,7 @@ document.write("Last Published: " + docu
 <td><a class="external" href="http://issues.apache.org/jira/browse/DERBY-1209">DERBY-1209</a></td><td>It would be good to add an example to the SYSCS_UTIL.SYSCS_CHECK_TABLE documentation for how to check all tables</td>
 </tr>
 </table>
-<a name="Issues"></a>
+<a name="N1030F"></a><a name="Issues"></a>
 <h3 class="boxed">Issues</h3>
 <p>Compared with the previous release (10.5.1.1), Derby release 10.5.3.0 introduces the following new features and incompatibilities. These merit your special attention.</p>
 <ul>
@@ -813,31 +812,31 @@ document.write("Last Published: " + docu
 </li>
 </ul>
 <hr>
-<a name="Note+for+DERBY-4230"></a>
+<a name="N10326"></a><a name="Note+for+DERBY-4230"></a>
 <h4>Note for DERBY-4230</h4>
-<a name="Summary+of+Change"></a>
+<a name="N1032C"></a><a name="Summary+of+Change"></a>
 <h5>Summary of Change</h5>
 <p>In order to see the fix for DERBY-4230 for a view created with a previous release, users must drop and recreate the view.</p>
-<a name="Symptoms+Seen+by+Applications+Affected+by+Change"></a>
+<a name="N10332"></a><a name="Symptoms+Seen+by+Applications+Affected+by+Change"></a>
 <h5>Symptoms Seen by Applications Affected by Change</h5>
 <p>DERBY-4230 fixed an issue where an extra column might appear in DatabaseMetaData.getColumns() for a view that uses a group by and an expression in the select list. The problem occurred during create view with the old release. After updating your derby jars to a release that has the fix, if you still see the behavior, you will need to drop and recreate the view to get the fix.</p>
-<a name="Incompatibilities+with+Previous+Release"></a>
+<a name="N10338"></a><a name="Incompatibilities+with+Previous+Release"></a>
 <h5>Incompatibilities with Previous Release</h5>
 <p>none</p>
-<a name="Rationale+for+Change"></a>
+<a name="N1033E"></a><a name="Rationale+for+Change"></a>
 <h5>Rationale for Change</h5>
 <p>The change was made to fix a regression introduced in version 10.3.1.4 by DERBY-681.</p>
-<a name="Application+Changes+Required"></a>
+<a name="N10344"></a><a name="Application+Changes+Required"></a>
 <h5>Application Changes Required</h5>
 <p>Users must drop an recreate affected views to see the fix for DERBY-4230.</p>
 <hr>
-<a name="Note+for+DERBY-3991"></a>
+<a name="N1034B"></a><a name="Note+for+DERBY-3991"></a>
 <h4>Note for DERBY-3991</h4>
-<a name="Summary+of+Change-N10348"></a>
+<a name="N10351"></a><a name="Summary+of+Change-N10351"></a>
 <h5>Summary of Change</h5>
 <p>
 <tt>Clob.truncate</tt> now presents a more specific error message for a negative length.</p>
-<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10350"></a>
+<a name="N10359"></a><a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10359"></a>
 <h5>Symptoms Seen by Applications Affected by Change</h5>
 <p>Specifying a negative length will raise an <em>SQLException</em> with a different state;</p>
 <ul>
@@ -848,16 +847,16 @@ document.write("Last Published: " + docu
 </ul>
 <br>
 <br>
-<a name="Incompatibilities+with+Previous+Release-N10364"></a>
+<a name="N1036D"></a><a name="Incompatibilities+with+Previous+Release-N1036D"></a>
 <h5>Incompatibilities with Previous Release</h5>
 <p>Applications catching a specific exception based on <em>SQLState</em> may behave differently. The incompatibility can only be seen if the application calls <tt>Clob.truncate</tt> with a negative length using the embedded driver.</p>
-<a name="Rationale+for+Change-N10370"></a>
+<a name="N10379"></a><a name="Rationale+for+Change-N10379"></a>
 <h5>Rationale for Change</h5>
 <p>The embedded driver was changed to be consistent with the client driver for the error message raised when invoking <tt>Clob.truncate</tt> with a negative length.</p>
-<a name="Application+Changes+Required-N10379"></a>
+<a name="N10382"></a><a name="Application+Changes+Required-N10382"></a>
 <h5>Application Changes Required</h5>
 <p>Look for SQLState XJ071 instead of XJ070 when <tt>Clob.truncate</tt> is called to catch invocations specifying a negative length.</p>
-<a name="Build+Environment"></a>
+<a name="N1038B"></a><a name="Build+Environment"></a>
 <h3 class="boxed">Build Environment</h3>
 <p>Derby release 10.5.3.0 was built using the following environment:</p>
 <ul>
@@ -878,7 +877,7 @@ document.write("Last Published: " + docu
 <li>
 <strong>Compiler</strong> - The Apple Java 5 compiler was used to compile all classes. Platform-specific code was compiled against the corresponding platform libraries listed above.</li>
 </ul>
-<a name="Verifying+releases"></a>
+<a name="N103B4"></a><a name="Verifying+releases"></a>
 <h3 class="boxed">Verifying releases</h3>
 <p>It is essential that you verify the integrity of the downloaded files using the PGP and MD5 signatures. MD5 verification ensures the file was not corrupted during the download process. PGP verification ensures that the file came from a certain person.</p>
 <p>The PGP signatures can be verified using <a class="external" href="http://www.pgpi.org/">PGP</a> or <a class="external" href="http://www.gnupg.org/">GPG</a>. First download the Apache Derby <a class="external" href="http://www.apache.org/dist/db/derby/KEYS">KEYS</a> as well as the <span class="codefrag">asc</span> signature file for the particular distribution. It is important that you get these files from the ultimate trusted source - the main ASF distribution site, rather than from a mirror. Then verify the signatures using ...</p>

Modified: websites/production/db/content/derby/releases/release-10.6.1.0.html
==============================================================================
--- websites/production/db/content/derby/releases/release-10.6.1.0.html (original)
+++ websites/production/db/content/derby/releases/release-10.6.1.0.html Sat Sep  9 23:49:09 2017
@@ -3,8 +3,9 @@
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.9">
+<meta name="Forrest-version" content="0.8">
 <meta name="Forrest-skin-name" content="pelt">
+<meta name="generator" content="">
 <title>Apache Derby 10.6.1.0 Release</title>
 <link type="text/css" href="../skin/basic.css" rel="stylesheet">
 <link media="screen" type="text/css" href="../skin/screen.css" rel="stylesheet">
@@ -484,7 +485,6 @@ document.write("Last Published: " + docu
 	          &nbsp;<input value="+a" class="biggerfont" title="Enlarge text" onclick="ndeSetTextSize('incr'); return false;" type="button">
 </div>
 <h1>Apache Derby 10.6.1.0 Release</h1>
-<div id="front-matter">
 <div id="minitoc-area">
 <ul class="minitoc">
 <li>
@@ -544,8 +544,7 @@ document.write("Last Published: " + docu
 </li>
 </ul>
 </div>
-</div>
-<a name="Distributions"></a>
+<a name="N10010"></a><a name="Distributions"></a>
 <h2 class="boxed">Distributions</h2>
 <div class="section">
 <p>Use the links below to download a distribution of Apache Derby. You should <strong>always</strong> <a href="#Verifying+releases">verify the integrity</a> of distribution files downloaded from a mirror.</p>
@@ -578,12 +577,12 @@ document.write("Last Published: " + docu
 <a class="external" href="http://archive.apache.org/dist/db/derby/db-derby-10.6.1.0/derby_ui_doc_plugin_1.1.2.zip">derby_ui_doc_plugin_1.1.2.zip</a> [<a class="external" href="http://archive.apache.org/dist/db/derby/db-derby-10.6.1.0/derby_ui_doc_plugin_1.1.2.zip.asc">PGP</a>] [<a class="external" href="http://archive.apache.org/dist/db/derby/db-derby-10.6.1.0/derby_ui_doc_plugin_1.1.2.zip.md5">MD5</a>]</p>
 <p>Please note: both plugins must be installed for full functionality. For information on installing and using the Derby plugins for Eclipse, please see the <a href="http://db.apache.org/derby/integrate/plugin_howto.html">Using the 10 Core and 1.1 UI Derby plug-ins</a> page.</p>
 </div>
-<a name="Release Notes for Derby 10.6.1.0"></a>
+<a name="N100BC"></a><a name="Release Notes for Derby 10.6.1.0"></a>
 <h2 class="boxed">Release Notes for Derby 10.6.1.0</h2>
 <div class="section">
 <p>These notes describe the difference between Derby release 10.6.1.0 and the preceding release 10.5.3.0.</p>
 <p>In addition to many new features, 10.6.1.0 includes a fix for Security Bug CVE-2009-4269, affecting the BUILTIN authentication scheme and password hashing. For more information, see below.</p>
-<a name="Overview"></a>
+<a name="N100C6"></a><a name="Overview"></a>
 <h3 class="boxed">Overview</h3>
 <p>Derby is a pure Java relational database engine using standard SQL and JDBC as its APIs.</p>
 <p>Derby functionality includes:</p>
@@ -593,7 +592,7 @@ document.write("Last Published: " + docu
 <li>Network client JDBC drivers</li>
 <li>Command line tools: ij (SQL scripting), dblook (schema dump) and sysinfo (system info)</li>
 </ul>
-<a name="New+Features"></a>
+<a name="N100D9"></a><a name="New+Features"></a>
 <h3 class="boxed">New Features</h3>
 <p>This is a feature release. The following new features were added:</p>
 <ul>
@@ -630,7 +629,7 @@ document.write("Last Published: " + docu
 <li>
 <strong>Case-insensitive strings</strong> - Ability to ignore case in string comparisons and sorts.</li>
 </ul>
-<a name="Bug+Fixes"></a>
+<a name="N10122"></a><a name="Bug+Fixes"></a>
 <h3 class="boxed">Bug Fixes</h3>
 <p>The following issues are addressed by Derby release 10.6.1.0. These issues are not addressed in the preceding 10.5.3.0 release.</p>
 <table class="ForrestTable" cellspacing="1" cellpadding="4" border="2">
@@ -1364,7 +1363,7 @@ document.write("Last Published: " + docu
 <td><a class="external" href="https://issues.apache.org/jira/browse/DERBY-151">DERBY-151</a></td><td>Thread termination -) XSDG after operation is 'complete'</td>
 </tr>
 </table>
-<a name="Fix+for+Security+Bug+CVE-2009-4269"></a>
+<a name="N107D1"></a><a name="Fix+for+Security+Bug+CVE-2009-4269"></a>
 <h3 class="boxed">Fix for Security Bug CVE-2009-4269</h3>
 <p>Derby 10.6.1.0 also fixes a security flaw tracked by the Apache Common Vulnerabilities and Exposures id "CVE-2009-4269". This flaw made it easy to crack passwords managed by Derby's BUILTIN authentication logic. Originally, the BUILTIN logic was intended only for testing purposes. However, Derby's user documentation suggested that this scheme was production-ready and it appears that many users rely on BUILTIN authentication in production. Tracked by DERBY-4483, the flaw is addressed as follows:</p>
 <ol>
@@ -1383,7 +1382,7 @@ document.write("Last Published: " + docu
 </ul>
 </li>
 </ol>
-<a name="Issues"></a>
+<a name="N107F0"></a><a name="Issues"></a>
 <h3 class="boxed">Issues</h3>
 <p>Compared with the previous release (10.5.3.0), Derby release 10.6.1.0 introduces the following new features and incompatibilities. These merit your special attention.</p>
 <ul>
@@ -1397,12 +1396,12 @@ document.write("Last Published: " + docu
 <li>Note for DERBY-2769: Comprehensive validity checks for the parameters of <tt>Clob.setString</tt> have been introduced.</li>
 </ul>
 <hr>
-<a name="Note+for+DERBY-4602"></a>
+<a name="N10813"></a><a name="Note+for+DERBY-4602"></a>
 <h4>Note for DERBY-4602</h4>
-<a name="Summary+of+Change"></a>
+<a name="N10819"></a><a name="Summary+of+Change"></a>
 <h5>Summary of Change</h5>
 <p>Default hash algorithm for BUILTIN authentication changed to SHA-256</p>
-<a name="Symptoms+Seen+by+Applications+Affected+by+Change"></a>
+<a name="N1081F"></a><a name="Symptoms+Seen+by+Applications+Affected+by+Change"></a>
 <h5>Symptoms Seen by Applications Affected by Change</h5>
 <p>If a database that uses BUILTIN authentication is opened on a platform that does not support the new default hash algorithm (SHA-256), the following exception may be seen when connecting to the database or when setting the password for a user:</p>
 <pre>ERROR XBCXW: The message digest algorithm 'SHA-256' is not supported
@@ -1411,22 +1410,22 @@ cryptography provider that supports that
 algorithm in the derby.authentication.builtin.algorithm property.
 </pre>
 <p>The default algorithm is initialized to SHA-256 when the database is created. However, if SHA-256 is not available, it is initialized to the old default (SHA-1) instead. The error message above should therefore only be seen if the database was created on a platform that supports SHA-256 and opened on a platform that doesn't support SHA-256.</p>
-<a name="Incompatibilities+with+Previous+Release"></a>
+<a name="N10829"></a><a name="Incompatibilities+with+Previous+Release"></a>
 <h5>Incompatibilities with Previous Release</h5>
 <p>Databases created on a platform with support for the new default algorithm (SHA-256) may now require some changes before they can be used together with BUILTIN authentication on platforms that don't support the new algorithm. In previous releases, differences in the set of supported hash algorithms did not cause a need for changes when moving databases across platforms.</p>
-<a name="Rationale+for+Change"></a>
+<a name="N1082F"></a><a name="Rationale+for+Change"></a>
 <h5>Rationale for Change</h5>
 <p>The default algorithm in previous releases (SHA-1) is not considered secure enough for most uses by U.S. government agencies. SHA-256 is widely recognized as more secure than SHA-1 and is therefore used as the default if the platform on which the database is created supports the algorithm.</p>
-<a name="Application+Changes+Required"></a>
+<a name="N10835"></a><a name="Application+Changes+Required"></a>
 <h5>Application Changes Required</h5>
 <p>If a database cannot be used on a platform because of this issue, one of the following steps must be taken:</p>
-<a name="Alternative+1"></a>
+<a name="N1083B"></a><a name="Alternative+1"></a>
 <h5>Alternative 1</h5>
 <p>Recreate the database on the platform that doesn't support SHA-256. The new database will use the more widely available SHA-1 algorithm as default.</p>
-<a name="Alternative+2"></a>
+<a name="N10841"></a><a name="Alternative+2"></a>
 <h5>Alternative 2</h5>
 <p>Install a Java Cryptography Extension (JCE) Provider that supports the SHA-256 algorithm.</p>
-<a name="Alternative+3"></a>
+<a name="N10847"></a><a name="Alternative+3"></a>
 <h5>Alternative 3</h5>
 <p>On the platform on which the database was created, change the default algorithm to SHA-1 (or to some other algorithm known to be supported on the target platform) by executing the following SQL statement:</p>
 <pre>CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY(
@@ -1437,12 +1436,12 @@ algorithm in the derby.authentication.bu
         'derby.user.alice, 'secret)
 </pre>
 <hr>
-<a name="Note+for+DERBY-4483"></a>
+<a name="N10854"></a><a name="Note+for+DERBY-4483"></a>
 <h4>Note for DERBY-4483</h4>
-<a name="Summary+of+Change-N10851"></a>
+<a name="N1085A"></a><a name="Summary+of+Change-N1085A"></a>
 <h5>Summary of Change</h5>
 <p>Strong password substitution cannot be used with new defaults for BUILTIN authentication.</p>
-<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10857"></a>
+<a name="N10860"></a><a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10860"></a>
 <h5>Symptoms Seen by Applications Affected by Change</h5>
 <p>In a database created with the new version of Derby, the BUILTIN authentication provider will by default store passwords in a way that's not compatible with the strong password substitution security mechanism. Applications that attempt to connect to the database using the Derby network client driver with <tt>securityMechanism=8</tt> in the connection URL, will therefore fail to connect. The connection attempt will be refused with the following error message:</p>
 <pre>ERROR 08004: DERBY SQL error: SQLCODE: -1, SQLSTATE: 08004, SQLERRMC:
@@ -1452,20 +1451,20 @@ scheme which is not compatible with the
 security mechanism. If this error started after upgrade, refer to the
 release note for DERBY-4483 for options.
 </pre>
-<a name="Incompatibilities+with+Previous+Release-N10862"></a>
+<a name="N1086B"></a><a name="Incompatibilities+with+Previous+Release-N1086B"></a>
 <h5>Incompatibilities with Previous Release</h5>
 <p>Applications that use BUILTIN authentication and the strong password substitution security mechanism will not be able to establish connections to the database if the database uses the new defaults for BUILTIN authentication.</p>
 <p>Only databases created with the new version of Derby will automatically use the new defaults. Databases upgraded from previous versions of Derby will continue to use the old defaults, and they will not be affected unless the settings for BUILTIN authentication are changed manually to enable the new behaviour.</p>
-<a name="Rationale+for+Change-N1086A"></a>
+<a name="N10873"></a><a name="Rationale+for+Change-N10873"></a>
 <h5>Rationale for Change</h5>
 <p>The default BUILTIN authentication scheme used in previous releases has a weakness that makes it vulnerable to attacks. In the new release, an alternative BUILTIN authentication scheme without this vulnerability has been added. Despite this new scheme's incompatibility with strong password substitution, it was made the default for databases created with the new release of Derby in order to improve out-of-the-box security.</p>
-<a name="Application+Changes+Required-N10870"></a>
+<a name="N10879"></a><a name="Application+Changes+Required-N10879"></a>
 <h5>Application Changes Required</h5>
 <p>Applications that are affected by this incompatibility can be made to work by making one of the following changes:</p>
-<a name="Alternative+1%3A+Use+another+security+mechanism"></a>
+<a name="N1087F"></a><a name="Alternative+1%3A+Use+another+security+mechanism"></a>
 <h5>Alternative 1: Use another security mechanism</h5>
 <p>You can switch to another security mechanism by changing the value of the <tt>securityMechanism</tt> connection attribute. Only the strong password substitution security mechanism is incompatible with the new BUILTIN authentication. Note that if you pick one of the security mechanisms that send your credentials unencrypted over the network, you may want to enable network encryption and authentication with SSL/TLS. Details about how to change security mechanisms and how to enable SSL/TLS can be found in the Derby Server and Administration Guide.</p>
-<a name="Alternative+2%3A+Revert+to+the+old+BUILTIN+authentication+behaviour"></a>
+<a name="N10888"></a><a name="Alternative+2%3A+Revert+to+the+old+BUILTIN+authentication+behaviour"></a>
 <h5>Alternative 2: Revert to the old BUILTIN authentication behaviour</h5>
 <p>It is possible to revert to the old behaviour for BUILTIN authentication, which will make it possible to connect when using the strong password substitution security mechanism. To revert to the old behaviour, set the database property <tt>derby.authentication.builtin.algorithm</tt> to <tt>NULL</tt> (or to an empty string) by executing this SQL statement:</p>
 <pre>CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY(
@@ -1473,12 +1472,12 @@ release note for DERBY-4483 for options.
 </pre>
 <p>If you have created any users before setting the above property to <tt>NULL</tt>, you will also need to set the passwords for all those users again to ensure that they are stored using the old format, since setting this property does not change how any existing passwords are stored. Users whose passwords are stored using the old format will be able to connect to the database with strong password substitution.</p>
 <hr>
-<a name="Note+for+DERBY-4432"></a>
+<a name="N1089C"></a><a name="Note+for+DERBY-4432"></a>
 <h4>Note for DERBY-4432</h4>
-<a name="Summary+of+Change-N10899"></a>
+<a name="N108A2"></a><a name="Summary+of+Change-N108A2"></a>
 <h5>Summary of Change</h5>
 <p>The in-memory back end will no longer create a database if the virtual database directory already exists.</p>
-<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N1089F"></a>
+<a name="N108A8"></a><a name="Symptoms+Seen+by+Applications+Affected+by+Change-N108A8"></a>
 <h5>Symptoms Seen by Applications Affected by Change</h5>
 <p>If database 'memory:/tmp/a/myDB' already exists, an attempt to create 'memory:/tmp/a' results in:</p>
 <pre>ERROR XJ041: Failed to create database 'memory:/tmp/a', see the next exception for details.
@@ -1486,23 +1485,23 @@ ERROR XBM0J: Directory memory:/tmp/a alr
 </pre>
 <br>
 <br>
-<a name="Incompatibilities+with+Previous+Release-N108A9"></a>
+<a name="N108B2"></a><a name="Incompatibilities+with+Previous+Release-N108B2"></a>
 <h5>Incompatibilities with Previous Release</h5>
 <p>If two (or more) in-memory databases are created, the application may fail to create the second database if the database paths are overlapping.</p>
-<a name="Rationale+for+Change-N108AF"></a>
+<a name="N108B8"></a><a name="Rationale+for+Change-N108B8"></a>
 <h5>Rationale for Change</h5>
 <p>The fix makes the in-memory and the on-disk back ends consistent on this matter, and the change also fixes a memory leak when trying to boot a large number of non-existing in-memory databases (see <a class="external" href="https://issues.apache.org/jira/browse/DERBY-4432">DERBY-4432</a>).</p>
-<a name="Application+Changes+Required-N108B9"></a>
+<a name="N108C2"></a><a name="Application+Changes+Required-N108C2"></a>
 <h5>Application Changes Required</h5>
 <p>Adjust the paths of the in-memory databases if required. In some cases it may be sufficient to reorder the database creations, but this is not recommended as it would potentially have severe side-effects with the on-disk back end (a database nested within another database).</p>
 <p>There is no way to revert to the old behavior.</p>
 <hr>
-<a name="Note+for+DERBY-4380"></a>
+<a name="N108CB"></a><a name="Note+for+DERBY-4380"></a>
 <h4>Note for DERBY-4380</h4>
-<a name="Summary+of+Change-N108C8"></a>
+<a name="N108D1"></a><a name="Summary+of+Change-N108D1"></a>
 <h5>Summary of Change</h5>
 <p>Changed error code and message when referencing column not in scope in ON clause.</p>
-<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N108CE"></a>
+<a name="N108D7"></a><a name="Symptoms+Seen+by+Applications+Affected+by+Change-N108D7"></a>
 <h5>Symptoms Seen by Applications Affected by Change</h5>
 <p>In the previous releases, SQL statements that referenced columns that were not in scope in the ON clause of a JOIN, would under certain conditions fail with the following SQLState and message:</p>
 <pre>ERROR 42972: An ON clause associated with a JOIN operator is not valid.
@@ -1510,41 +1509,41 @@ ERROR XBM0J: Directory memory:/tmp/a alr
 <p>Now, the statements that used to fail with that message will instead fail with the following SQLState and message:</p>
 <pre>ERROR 42X04: Column 'T1.X' is either not in any table in the FROM list or appears within a join specification and is outside the scope of the join specification or appears in a HAVING clause and is not in the GROUP BY list. If this is a CREATE or ALTER TABLE  statement then 'T1.X' is not a column in the target table.
 </pre>
-<a name="Rationale+for+Change-N108DA"></a>
+<a name="N108E3"></a><a name="Rationale+for+Change-N108E3"></a>
 <h5>Rationale for Change</h5>
 <p>This change was necessary because the code that decided which of the two errors to raise, contained some logic that was not compatible with the introduction of sub-queries in ON clauses. Additionally, the new message makes it easier to see what is the problem with the statement, as it mentions both why the ON clause is invalid and the name of the column that is out of scope.</p>
-<a name="Application+Changes+Required-N108E0"></a>
+<a name="N108E9"></a><a name="Application+Changes+Required-N108E9"></a>
 <h5>Application Changes Required</h5>
 <p>Applications that check for SQLState <span class="codefrag">42972</span> when SQLExceptions are raised, should now check for SQLState <span class="codefrag">42X04</span> instead.</p>
 <hr>
-<a name="Note+for+DERBY-4355"></a>
+<a name="N108F6"></a><a name="Note+for+DERBY-4355"></a>
 <h4>Note for DERBY-4355</h4>
-<a name="Summary+of+Change-N108F3"></a>
+<a name="N108FC"></a><a name="Summary+of+Change-N108FC"></a>
 <h5>Summary of Change</h5>
 <p>CROSS is now a reserved keyword and cannot be used as an unquoted identifier.</p>
-<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N108F9"></a>
+<a name="N10902"></a><a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10902"></a>
 <h5>Symptoms Seen by Applications Affected by Change</h5>
 <p>In previous releases of Derby, CROSS was not a reserved keyword, so applications could use CROSS as an identifier without quoting it. Applications that use CROSS as an identifier (for instance to name tables, views, columns, functions or procedures) and don't quote it, will now see errors similar to this one:</p>
 <pre>ERROR 42X01: Syntax error: Encountered "cross" at line 1, column 15.
 </pre>
-<a name="Incompatibilities+with+Previous+Release-N10901"></a>
+<a name="N1090A"></a><a name="Incompatibilities+with+Previous+Release-N1090A"></a>
 <h5>Incompatibilities with Previous Release</h5>
 <p>Applications that use CROSS as an unquoted identifier will experience syntax errors.</p>
-<a name="Rationale+for+Change-N10907"></a>
+<a name="N10910"></a><a name="Rationale+for+Change-N10910"></a>
 <h5>Rationale for Change</h5>
 <p>CROSS was made a reserved keyword in order to support the CROSS JOIN operator. Also, the SQL:2003 standard defines CROSS as a reserved keyword, so applications that use it as an unquoted identifier are not portable.</p>
-<a name="Application+Changes+Required-N1090D"></a>
+<a name="N10916"></a><a name="Application+Changes+Required-N10916"></a>
 <h5>Application Changes Required</h5>
 <p>SQL statements where CROSS is used as an unquoted identifier must be rewritten so that CROSS is enclosed in double quotes.</p>
 <p>Examples:</p>
 <p>The statement <span class="codefrag">create table cross(x int)</span> must be rewritten to <span class="codefrag">create table "CROSS"(x int)</span>. Similarly, the statement <span class="codefrag">select * from cross</span> will have to be rewritten to <span class="codefrag">select * from "CROSS"</span>.</p>
 <hr>
-<a name="Note+for+DERBY-4191"></a>
+<a name="N1092D"></a><a name="Note+for+DERBY-4191"></a>
 <h4>Note for DERBY-4191</h4>
-<a name="Summary+of+Change-N1092A"></a>
+<a name="N10933"></a><a name="Summary+of+Change-N10933"></a>
 <h5>Summary of Change</h5>
 <p>Some queries require additional SELECT privileges now.</p>
-<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10930"></a>
+<a name="N10939"></a><a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10939"></a>
 <h5>Symptoms Seen by Applications Affected by Change</h5>
 <p>In previous releases, certain queries incorrectly succeeded when the user lacked sufficient SELECT privileges. For instance, the following query succeeded even if the user did not have SELECT privilege on the table:</p>
 <pre>    select 1 from anotheruser.table1
@@ -1552,22 +1551,22 @@ ERROR XBM0J: Directory memory:/tmp/a alr
 <p>And the following query succeeded if the user had UPDATE but not SELECT privilege on the column:</p>
 <pre>    update anotheruser.table1 set a = ( select max(a) + 2 from anotheruser.table1 ); 
 </pre>
-<a name="Incompatibilities+with+Previous+Release-N1093C"></a>
+<a name="N10945"></a><a name="Incompatibilities+with+Previous+Release-N10945"></a>
 <h5>Incompatibilities with Previous Release</h5>
 <p>Now Derby raises a SQLException for those situations. For the first query above, the user must now enjoy SELECT privilege on at least one column in the table. For the second query, the user must now enjoy SELECT as well as UPDATE privilege on the affected column.</p>
-<a name="Rationale+for+Change-N10942"></a>
+<a name="N1094B"></a><a name="Rationale+for+Change-N1094B"></a>
 <h5>Rationale for Change</h5>
 <p>The old behavior violated the SQL Standard. The new behavior is correct.</p>
-<a name="Application+Changes+Required-N10948"></a>
+<a name="N10951"></a><a name="Application+Changes+Required-N10951"></a>
 <h5>Application Changes Required</h5>
 <p>Database Administrators may need to grant users additional SELECT privileges.</p>
 <hr>
-<a name="Note+for+DERBY-3844"></a>
+<a name="N10958"></a><a name="Note+for+DERBY-3844"></a>
 <h4>Note for DERBY-3844</h4>
-<a name="Summary+of+Change-N10955"></a>
+<a name="N1095E"></a><a name="Summary+of+Change-N1095E"></a>
 <h5>Summary of Change</h5>
 <p>Applications may no longer obtain a LOB object, or a <tt>Reader</tt> or an <tt>InputStream</tt>, from the same column more than once per row.</p>
-<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10961"></a>
+<a name="N1096A"></a><a name="Symptoms+Seen+by+Applications+Affected+by+Change-N1096A"></a>
 <h5>Symptoms Seen by Applications Affected by Change</h5>
 <p>Derby will throw an exception with SQLState XCL18 (carrying the message "Stream or LOB value cannot be retrieved more than once") when any of the following result set methods are invoked for the second time on a given column on a row:</p>
 <ul>
@@ -1580,22 +1579,22 @@ ERROR XBM0J: Directory memory:/tmp/a alr
 </ul>
 <br>
 <br>
-<a name="Incompatibilities+with+Previous+Release-N10976"></a>
+<a name="N1097F"></a><a name="Incompatibilities+with+Previous+Release-N1097F"></a>
 <h5>Incompatibilities with Previous Release</h5>
 <p>Applications which obtain two LOB objects from the same result set column on a row now fail.</p>
-<a name="Rationale+for+Change-N1097C"></a>
+<a name="N10985"></a><a name="Rationale+for+Change-N10985"></a>
 <h5>Rationale for Change</h5>
 <p>Obtaining several LOB objects from the same column causes resource management problems and intermittent errors (see <a class="external" href="https://issues.apache.org/jira/browse/DERBY-3844">DERBY-3844</a> for a description). The change is in line with the maximum portability statement found in the JavaDoc for <tt>java.sql.ResultSet</tt>.</p>
-<a name="Application+Changes+Required-N10989"></a>
+<a name="N10992"></a><a name="Application+Changes+Required-N10992"></a>
 <h5>Application Changes Required</h5>
 <p>Users must recode applications which obtain multiple LOB objects (<tt>java.sql.Blob</tt> or <tt>java.sql.Clob</tt>) on the same column. Note that for instance <tt>getCharacterStream(1)</tt> followed by <tt>getClob(1)</tt> will also raise the exception.</p>
 <hr>
-<a name="Note+for+DERBY-2769"></a>
+<a name="N109A5"></a><a name="Note+for+DERBY-2769"></a>
 <h4>Note for DERBY-2769</h4>
-<a name="Summary+of+Change-N109A2"></a>
+<a name="N109AB"></a><a name="Summary+of+Change-N109AB"></a>
 <h5>Summary of Change</h5>
 <p>Comprehensive validity checks for the parameters of <tt>Clob.setString</tt> have been introduced.</p>
-<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N109AB"></a>
+<a name="N109B4"></a><a name="Symptoms+Seen+by+Applications+Affected+by+Change-N109B4"></a>
 <h5>Symptoms Seen by Applications Affected by Change</h5>
 <p>There are three possible symptoms, all observable when invoking <tt>Clob.setString</tt>:</p>
 <ol>
@@ -1605,7 +1604,7 @@ ERROR XBM0J: Directory memory:/tmp/a alr
 </ol>
 <br>
 <br>
-<a name="Incompatibilities+with+Previous+Release-N109C0"></a>
+<a name="N109C9"></a><a name="Incompatibilities+with+Previous+Release-N109C9"></a>
 <h5>Incompatibilities with Previous Release</h5>
 <p></p>
 <ol>
@@ -1620,10 +1619,10 @@ ERROR XBM0J: Directory memory:/tmp/a alr
 </ol>
 <br>
 <br>
-<a name="Rationale+for+Change-N109E1"></a>
+<a name="N109EA"></a><a name="Rationale+for+Change-N109EA"></a>
 <h5>Rationale for Change</h5>
 <p>Make the parameter checking comply with the <tt>JDBC</tt> specification.</p>
-<a name="Application+Changes+Required-N109EA"></a>
+<a name="N109F3"></a><a name="Application+Changes+Required-N109F3"></a>
 <h5>Application Changes Required</h5>
 <p>The following rules must be followed to avoid exceptions being raised when invoking <tt>Clob.setString</tt>:</p>
 <ol>
@@ -1638,7 +1637,7 @@ ERROR XBM0J: Directory memory:/tmp/a alr
 </ol>
 <br>
 <br>
-<a name="Build+Environment"></a>
+<a name="N10A18"></a><a name="Build+Environment"></a>
 <h3 class="boxed">Build Environment</h3>
 <p>Derby release 10.6.1.0 was built using the following environment:</p>
 <ul>
@@ -1657,7 +1656,7 @@ ERROR XBM0J: Directory memory:/tmp/a alr
 <li>
 <strong>JSR 169</strong> - J2ME support was built using libraries from phoneME Advanced Milestone Release 2.</li>
 </ul>
-<a name="Verifying+releases"></a>
+<a name="N10A3D"></a><a name="Verifying+releases"></a>
 <h3 class="boxed">Verifying releases</h3>
 <p>It is essential that you verify the integrity of the downloaded files using the PGP and MD5 signatures. MD5 verification ensures the file was not corrupted during the download process. PGP verification ensures that the file came from a certain person.</p>
 <p>The PGP signatures can be verified using <a class="external" href="http://www.pgpi.org/">PGP</a> or <a class="external" href="http://www.gnupg.org/">GPG</a>. First download the Apache Derby <a class="external" href="http://www.apache.org/dist/db/derby/KEYS">KEYS</a> as well as the <span class="codefrag">asc</span> signature file for the particular distribution. It is important that you get these files from the ultimate trusted source - the main ASF distribution site, rather than from a mirror. Then verify the signatures using ...</p>

Modified: websites/production/db/content/derby/releases/release-10.6.2.1.html
==============================================================================
--- websites/production/db/content/derby/releases/release-10.6.2.1.html (original)
+++ websites/production/db/content/derby/releases/release-10.6.2.1.html Sat Sep  9 23:49:09 2017
@@ -3,8 +3,9 @@
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.9">
+<meta name="Forrest-version" content="0.8">
 <meta name="Forrest-skin-name" content="pelt">
+<meta name="generator" content="">
 <title>Apache Derby 10.6.2.1 Release</title>
 <link type="text/css" href="../skin/basic.css" rel="stylesheet">
 <link media="screen" type="text/css" href="../skin/screen.css" rel="stylesheet">
@@ -484,7 +485,6 @@ document.write("Last Published: " + docu
 	          &nbsp;<input value="+a" class="biggerfont" title="Enlarge text" onclick="ndeSetTextSize('incr'); return false;" type="button">
 </div>
 <h1>Apache Derby 10.6.2.1 Release</h1>
-<div id="front-matter">
 <div id="minitoc-area">
 <ul class="minitoc">
 <li>
@@ -523,8 +523,7 @@ document.write("Last Published: " + docu
 </li>
 </ul>
 </div>
-</div>
-<a name="Distributions"></a>
+<a name="N10010"></a><a name="Distributions"></a>
 <h2 class="boxed">Distributions</h2>
 <div class="section">
 <p>Use the links below to download a distribution of Apache Derby. You should <strong>always</strong> <a href="#Verifying+releases">verify the integrity</a> of distribution files downloaded from a mirror.</p>
@@ -557,11 +556,11 @@ document.write("Last Published: " + docu
 <a class="external" href="http://archive.apache.org/dist/db/derby/db-derby-10.6.2.1/derby_ui_doc_plugin_1.1.2.zip">derby_ui_doc_plugin_1.1.2.zip</a> [<a class="external" href="http://archive.apache.org/dist/db/derby/db-derby-10.6.2.1/derby_ui_doc_plugin_1.1.2.zip.asc">PGP</a>] [<a class="external" href="http://archive.apache.org/dist/db/derby/db-derby-10.6.2.1/derby_ui_doc_plugin_1.1.2.zip.md5">MD5</a>]</p>
 <p>Please note: both plugins must be installed for full functionality. For information on installing and using the Derby plugins for Eclipse, please see the <a href="http://db.apache.org/derby/integrate/plugin_howto.html">Using the 10 Core and 1.1 UI Derby plug-ins</a> page.</p>
 </div>
-<a name="Release Notes for Derby 10.6.2.1"></a>
+<a name="N100BC"></a><a name="Release Notes for Derby 10.6.2.1"></a>
 <h2 class="boxed">Release Notes for Derby 10.6.2.1</h2>
 <div class="section">
 <p>These notes describe the difference between Derby release 10.6.2.1 and the preceding release 10.6.1.0.</p>
-<a name="Overview"></a>
+<a name="N100C4"></a><a name="Overview"></a>
 <h3 class="boxed">Overview</h3>
 <p>Derby is a pure Java relational database engine using standard SQL and JDBC as its APIs.</p>
 <p>Derby functionality includes:</p>
@@ -571,14 +570,14 @@ document.write("Last Published: " + docu
 <li>Network client JDBC drivers</li>
 <li>Command line tools: ij (SQL scripting), dblook (schema dump) and sysinfo (sy stem info)</li>
 </ul>
-<a name="New+Features"></a>
+<a name="N100D7"></a><a name="New+Features"></a>
 <h3 class="boxed">New Features</h3>
 <p>This is a bug fix release which also provides localizations of new 10.6 messages. No new features were added.</p>
 <ul>
 <li>
 <strong>DERBY-4677</strong> - This release addresses a data corruption issue. See Issues or <a class="external" href="http://issues.apache.org/jira/browse/DERBY-4677">DERBY-4677</a> for unique index corruption detection and repair.</li>
 </ul>
-<a name="Bug+Fixes"></a>
+<a name="N100E8"></a><a name="Bug+Fixes"></a>
 <h3 class="boxed">Bug Fixes</h3>
 <p>The following issues are addressed by Derby release 10.6.2.1. These issues are not addressed in the preceding 10.6.1.0 release.</p>
 <table class="ForrestTable" cellspacing="1" cellpadding="4" border="2">
@@ -709,7 +708,7 @@ document.write("Last Published: " + docu
 <td><a class="external" href="https://issues.apache.org/jira/browse/DERBY-1595">DERBY-1595</a></td><td>Network server fails with DRDAProtocolException if a BLOB with size 2147483647 is streamed from client</td>
 </tr>
 </table>
-<a name="Issues"></a>
+<a name="N10218"></a><a name="Issues"></a>
 <h3 class="boxed">Issues</h3>
 <p>Compared with the previous release (10.6.1.0), Derby release 10.6.2.1 introduces the following new features and incompatibilities. These merit your special attention.</p>
 <ul>
@@ -717,18 +716,18 @@ document.write("Last Published: " + docu
 <li>Note for DERBY-2925: Prevent export from overwriting existing files</li>
 </ul>
 <hr>
-<a name="Note+for+DERBY-4677"></a>
+<a name="N10226"></a><a name="Note+for+DERBY-4677"></a>
 <h4>Note for DERBY-4677</h4>
-<a name="Summary+of+Change"></a>
+<a name="N1022C"></a><a name="Summary+of+Change"></a>
 <h5>Summary of Change</h5>
 <p>Unique nullable constraint may be disabled after compress or import operations on the table.</p>
-<a name="Symptoms+Seen+by+Applications+Affected+by+Change"></a>
+<a name="N10232"></a><a name="Symptoms+Seen+by+Applications+Affected+by+Change"></a>
 <h5>Symptoms Seen by Applications Affected by Change</h5>
 <p>Prior to DERBY-4677 fix, the unique nullable constraint might have been disabled or violated after calls to SYSCS_UTIL.SYSCS_COMPRESS_TABLE, or SYSCS_UTIL.SYSCS_IMPORT_TABLE. While the DERBY-4677 fix corrects the problem for new indexes, it does not automatically repair damage to existing indexes. Applications using unique nullable indexes, (first allowed in version 10.4.2.1) may find that duplicate rows exist, despite the table being created with the unique constraint. In addition to the obvious problem of this being allowed, users may also see incorrect query results where one row is returned even though there are multiple qualifying rows.</p>
-<a name="Rationale+for+Change"></a>
+<a name="N10238"></a><a name="Rationale+for+Change"></a>
 <h5>Rationale for Change</h5>
 <p>The change fixed a serious bug that allowed duplicate rows despite a unique index. Users should upgrade and manually resolve prior damage as described below.</p>
-<a name="Application+Changes+Required"></a>
+<a name="N1023E"></a><a name="Application+Changes+Required"></a>
 <h5>Application Changes Required</h5>
 <p>Users using unique nullable indexes (Derby 10.4 and higher) should upgrade immediately to a Derby version that contains the fix for DERBY-4677 AND drop and recreate those indexes. The fix was made in the following revisions.</p>
 <pre></pre>
@@ -749,12 +748,12 @@ document.write("Last Published: " + docu
 </pre>
 <hr>
 <pre></pre>
-<a name="Note+for+DERBY-2925"></a>
+<a name="N10251"></a><a name="Note+for+DERBY-2925"></a>
 <h4>Note for DERBY-2925</h4>
 <pre>
 
 </pre>
-<a name="Summary+of+Change-N10250"></a>
+<a name="N10259"></a><a name="Summary+of+Change-N10259"></a>
 <h5>Summary of Change</h5>
 <pre>
 
@@ -763,7 +762,7 @@ document.write("Last Published: " + docu
 
 
 </pre>
-<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10258"></a>
+<a name="N10261"></a><a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10261"></a>
 <h5>Symptoms Seen by Applications Affected by Change</h5>
 <pre>
 
@@ -774,7 +773,7 @@ will not overwrite existing files. As a
 <pre>
 
 </pre>
-<a name="Incompatibilities+with+Previous+Release"></a>
+<a name="N1026B"></a><a name="Incompatibilities+with+Previous+Release"></a>
 <h5>Incompatibilities with Previous Release</h5>
 <pre></pre>
 <ul>
@@ -786,7 +785,7 @@ will not overwrite existing files. As a
 
 
 </pre>
-<a name="Rationale+for+Change-N10270"></a>
+<a name="N10279"></a><a name="Rationale+for+Change-N10279"></a>
 <h5>Rationale for Change</h5>
 <pre>
 
@@ -795,7 +794,7 @@ will not overwrite existing files. As a
 
 
 </pre>
-<a name="Application+Changes+Required-N10278"></a>
+<a name="N10281"></a><a name="Application+Changes+Required-N10281"></a>
 <h5>Application Changes Required</h5>
 <pre>
 
@@ -805,7 +804,7 @@ will not overwrite existing files. As a
 
 
 </pre>
-<a name="Build+Environment"></a>
+<a name="N10289"></a><a name="Build+Environment"></a>
 <h3 class="boxed">Build Environment</h3>
 <pre>
 <br>Derby release 10.6.2.1 was built using the following environment:
@@ -824,7 +823,7 @@ will not overwrite existing files. As a
 <li>
 <strong>Compiler</strong> - Sun 1.6.0_13_b03</li>
 </ul>
-<a name="Verifying+releases"></a>
+<a name="N102AB"></a><a name="Verifying+releases"></a>
 <h3 class="boxed">Verifying releases</h3>
 <p>It is essential that you verify the integrity of the downloaded files using the PGP and MD5 signatures. MD5 verification ensures the file was not corrupted during the download process. PGP verification ensures that the file came from a certain person.</p>
 <p>The PGP signatures can be verified using <a class="external" href="http://www.pgpi.org/">PGP</a> or <a class="external" href="http://www.gnupg.org/">GPG</a>. First download the Apache Derby <a class="external" href="http://www.apache.org/dist/db/derby/KEYS">KEYS</a> as well as the <span class="codefrag">asc</span> signature file for the particular distribution. It is important that you get these files from the ultimate trusted source - the main ASF distribution site, rather than from a mirror. Then verify the signatures using ...</p>