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 Wed Sep 
28 01:33:43 2016
@@ -3,9 +3,8 @@
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.8">
+<meta name="Forrest-version" content="0.9">
 <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">
@@ -485,6 +484,7 @@ 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,7 +562,8 @@ document.write("Last Published: " + docu
 </li>
 </ul>
 </div>
-<a name="N10010"></a><a name="Distributions"></a>
+</div>
+<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>
@@ -595,11 +596,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="N100BC"></a><a name="Release Notes for Derby 10.5.1.1"></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="N100C4"></a><a name="Overview"></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>
@@ -609,7 +610,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="N100D7"></a><a name="New+Features"></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>
@@ -630,7 +631,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="N10104"></a><a name="Bug+Fixes"></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">
@@ -1742,7 +1743,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="N10B25"></a><a name="Issues"></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>
@@ -1808,55 +1809,55 @@ document.write("Last Published: " + docu
 </li>
 </ul>
 <hr>
-<a name="N10B86"></a><a name="Note+for+DERBY-4073"></a>
+<a name="Note+for+DERBY-4073"></a>
 <h4>Note for DERBY-4073</h4>
-<a name="N10B8C"></a><a name="Summary+of+Change"></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="N10B95"></a><a 
name="Symptoms+Seen+by+Applications+Affected+by+Change"></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="N10B9E"></a><a name="Incompatibilities+with+Previous+Release"></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="N10BA7"></a><a name="Rationale+for+Change"></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="N10BB6"></a><a name="Application+Changes+Required"></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="N10BC3"></a><a name="Note+for+DERBY-4050"></a>
+<a name="Note+for+DERBY-4050"></a>
 <h4>Note for DERBY-4050</h4>
-<a name="N10BC9"></a><a name="Summary+of+Change-N10BC9"></a>
+<a name="Summary+of+Change-N10BC0"></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="N10BCF"></a><a 
name="Symptoms+Seen+by+Applications+Affected+by+Change-N10BCF"></a>
+<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10BC6"></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="N10BD8"></a><a 
name="Incompatibilities+with+Previous+Release-N10BD8"></a>
+<a name="Incompatibilities+with+Previous+Release-N10BCF"></a>
 <h5>Incompatibilities with Previous Release</h5>
 <p>none</p>
-<a name="N10BDE"></a><a name="Rationale+for+Change-N10BDE"></a>
+<a name="Rationale+for+Change-N10BD5"></a>
 <h5>Rationale for Change</h5>
 <p>DERBY-4050 fixes a bug in space reclamation.</p>
-<a name="N10BE4"></a><a name="Application+Changes+Required-N10BE4"></a>
+<a name="Application+Changes+Required-N10BDB"></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="N10BEB"></a><a name="Note+for+DERBY-4042"></a>
+<a name="Note+for+DERBY-4042"></a>
 <h4>Note for DERBY-4042</h4>
-<a name="N10BF1"></a><a name="Summary+of+Change-N10BF1"></a>
+<a name="Summary+of+Change-N10BE8"></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="N10BF7"></a><a 
name="Symptoms+Seen+by+Applications+Affected+by+Change-N10BF7"></a>
+<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10BEE"></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="N10C01"></a><a 
name="Incompatibilities+with+Previous+Release-N10C01"></a>
+<a name="Incompatibilities+with+Previous+Release-N10BF8"></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(
@@ -1873,19 +1874,19 @@ ps.execute();
 ps.setString(1, "C:/Chip's/TERMS.dat");
 ps.execute();
 </pre>
-<a name="N10C14"></a><a name="Rationale+for+Change-N10C14"></a>
+<a name="Rationale+for+Change-N10C0B"></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="N10C1A"></a><a name="Application+Changes+Required-N10C1A"></a>
+<a name="Application+Changes+Required-N10C11"></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="N10C21"></a><a name="Note+for+DERBY-4008"></a>
+<a name="Note+for+DERBY-4008"></a>
 <h4>Note for DERBY-4008</h4>
-<a name="N10C27"></a><a name="Summary+of+Change-N10C27"></a>
+<a name="Summary+of+Change-N10C1E"></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="N10C2D"></a><a 
name="Symptoms+Seen+by+Applications+Affected+by+Change-N10C2D"></a>
+<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10C24"></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>
@@ -1894,64 +1895,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="N10C45"></a><a 
name="Incompatibilities+with+Previous+Release-N10C45"></a>
+<a name="Incompatibilities+with+Previous+Release-N10C3C"></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="N10C4B"></a><a name="Rationale+for+Change-N10C4B"></a>
+<a name="Rationale+for+Change-N10C42"></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="N10C51"></a><a name="Application+Changes+Required-N10C51"></a>
+<a name="Application+Changes+Required-N10C48"></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="N10C58"></a><a name="Note+for+DERBY-3977"></a>
+<a name="Note+for+DERBY-3977"></a>
 <h4>Note for DERBY-3977</h4>
-<a name="N10C5E"></a><a name="Summary+of+Change-N10C5E"></a>
+<a name="Summary+of+Change-N10C55"></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="N10C64"></a><a 
name="Symptoms+Seen+by+Applications+Affected+by+Change-N10C64"></a>
+<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10C5B"></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="N10C6C"></a><a 
name="Incompatibilities+with+Previous+Release-N10C6C"></a>
+<a name="Incompatibilities+with+Previous+Release-N10C63"></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="N10C75"></a><a name="Rationale+for+Change-N10C75"></a>
+<a name="Rationale+for+Change-N10C6C"></a>
 <h5>Rationale for Change</h5>
 <p>To make the embedded and the client driver consistent.</p>
-<a name="N10C7B"></a><a name="Application+Changes+Required-N10C7B"></a>
+<a name="Application+Changes+Required-N10C72"></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="N10C85"></a><a name="Note+for+DERBY-3701"></a>
+<a name="Note+for+DERBY-3701"></a>
 <h4>Note for DERBY-3701</h4>
-<a name="N10C8B"></a><a name="Summary+of+Change-N10C8B"></a>
+<a name="Summary+of+Change-N10C82"></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="N10C91"></a><a 
name="Symptoms+Seen+by+Applications+Affected+by+Change-N10C91"></a>
+<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10C88"></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="N10C9A"></a><a 
name="Incompatibilities+with+Previous+Release-N10C9A"></a>
+<a name="Incompatibilities+with+Previous+Release-N10C91"></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="N10CA0"></a><a name="Rationale+for+Change-N10CA0"></a>
+<a name="Rationale+for+Change-N10C97"></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="N10CA6"></a><a name="Application+Changes+Required-N10CA6"></a>
+<a name="Application+Changes+Required-N10C9D"></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="N10CAD"></a><a name="Note+for+DERBY-3652"></a>
+<a name="Note+for+DERBY-3652"></a>
 <h4>Note for DERBY-3652</h4>
-<a name="N10CB3"></a><a name="Summary+of+Change-N10CB3"></a>
+<a name="Summary+of+Change-N10CAA"></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="N10CB9"></a><a 
name="Symptoms+Seen+by+Applications+Affected+by+Change-N10CB9"></a>
+<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10CB0"></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="N10CBF"></a><a 
name="Incompatibilities+with+Previous+Release-N10CBF"></a>
+<a name="Incompatibilities+with+Previous+Release-N10CB6"></a>
 <h5>Incompatibilities with Previous Release</h5>
 <p>Routines may resolve differently. Here are the differences listed in 
declining order of likelihood:</p>
 <ol>
@@ -1979,10 +1980,10 @@ Now: XJ079: The length specified '18149'
 </ul>
 </li>
 </ol>
-<a name="N10D09"></a><a name="Rationale+for+Change-N10D09"></a>
+<a name="Rationale+for+Change-N10D00"></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="N10D0F"></a><a name="Application+Changes+Required-N10D0F"></a>
+<a name="Application+Changes+Required-N10D06"></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>
@@ -2019,30 +2020,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="N10D46"></a><a name="Note+for+DERBY-3420"></a>
+<a name="Note+for+DERBY-3420"></a>
 <h4>Note for DERBY-3420</h4>
-<a name="N10D4C"></a><a name="Summary+of+Change-N10D4C"></a>
+<a name="Summary+of+Change-N10D43"></a>
 <h5>Summary of Change</h5>
 <p>The <em>-ca</em> command line option has been removed from ij.</p>
-<a name="N10D55"></a><a 
name="Symptoms+Seen+by+Applications+Affected+by+Change-N10D55"></a>
+<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10D4C"></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="N10D5B"></a><a 
name="Incompatibilities+with+Previous+Release-N10D5B"></a>
+<a name="Incompatibilities+with+Previous+Release-N10D52"></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="N10D61"></a><a name="Rationale+for+Change-N10D61"></a>
+<a name="Rationale+for+Change-N10D58"></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="N10D67"></a><a name="Application+Changes+Required-N10D67"></a>
+<a name="Application+Changes+Required-N10D5E"></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="N10D6E"></a><a name="Note+for+DERBY-3347"></a>
+<a name="Note+for+DERBY-3347"></a>
 <h4>Note for DERBY-3347</h4>
-<a name="N10D74"></a><a name="Summary+of+Change-N10D74"></a>
+<a name="Summary+of+Change-N10D6B"></a>
 <h5>Summary of Change</h5>
 <p>A bug that could cause unrecoverable database corruption has been fixed.</p>
-<a name="N10D7A"></a><a 
name="Symptoms+Seen+by+Applications+Affected+by+Change-N10D7A"></a>
+<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10D71"></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>
@@ -2056,59 +2057,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="N10D89"></a><a 
name="Incompatibilities+with+Previous+Release-N10D89"></a>
+<a name="Incompatibilities+with+Previous+Release-N10D80"></a>
 <h5>Incompatibilities with Previous Release</h5>
 <p>None.</p>
-<a name="N10D8F"></a><a name="Rationale+for+Change-N10D8F"></a>
+<a name="Rationale+for+Change-N10D86"></a>
 <h5>Rationale for Change</h5>
 <p>Database corruption is bad.</p>
-<a name="N10D95"></a><a name="Application+Changes+Required-N10D95"></a>
+<a name="Application+Changes+Required-N10D8C"></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="N10DA0"></a><a name="Note+for+DERBY-3327"></a>
+<a name="Note+for+DERBY-3327"></a>
 <h4>Note for DERBY-3327</h4>
-<a name="N10DA6"></a><a name="Summary+of+Change-N10DA6"></a>
+<a name="Summary+of+Change-N10D9D"></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="N10DB3"></a><a 
name="Symptoms+Seen+by+Applications+Affected+by+Change-N10DB3"></a>
+<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10DAA"></a>
 <h5>Symptoms Seen by Applications Affected by Change</h5>
-<a name="N10DB7"></a><a name="Rationale+for+Change-N10DB7"></a>
+<a name="Rationale+for+Change-N10DAE"></a>
 <h5>Rationale for Change</h5>
 <p>SQL standard compliance.</p>
-<a name="N10DBD"></a><a name="Application+Changes+Required-N10DBD"></a>
+<a name="Application+Changes+Required-N10DB4"></a>
 <h5>Application Changes Required</h5>
 <hr>
-<a name="N10DC2"></a><a name="Note+for+DERBY-3319"></a>
+<a name="Note+for+DERBY-3319"></a>
 <h4>Note for DERBY-3319</h4>
-<a name="N10DC8"></a><a name="Summary+of+Change-N10DC8"></a>
+<a name="Summary+of+Change-N10DBF"></a>
 <h5>Summary of Change</h5>
 <p>Exception is thrown when connection with uncommitted operations is 
closed.</p>
-<a name="N10DCE"></a><a 
name="Symptoms+Seen+by+Applications+Affected+by+Change-N10DCE"></a>
+<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10DC5"></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="N10DDF"></a><a 
name="Incompatibilities+with+Previous+Release-N10DDF"></a>
+<a name="Incompatibilities+with+Previous+Release-N10DD6"></a>
 <h5>Incompatibilities with Previous Release</h5>
 <p>Applications that close connections with active transactions now fail.</p>
-<a name="N10DE5"></a><a name="Rationale+for+Change-N10DE5"></a>
+<a name="Rationale+for+Change-N10DDC"></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="N10DEE"></a><a name="Application+Changes+Required-N10DEE"></a>
+<a name="Application+Changes+Required-N10DE5"></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="N10DFB"></a><a name="Note+for+DERBY-2351"></a>
+<a name="Note+for+DERBY-2351"></a>
 <h4>Note for DERBY-2351</h4>
-<a name="N10E01"></a><a name="Summary+of+Change-N10E01"></a>
+<a name="Summary+of+Change-N10DF8"></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="N10E07"></a><a 
name="Symptoms+Seen+by+Applications+Affected+by+Change-N10E07"></a>
+<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10DFE"></a>
 <h5>Symptoms Seen by Applications Affected by Change</h5>
-<a name="N10E0B"></a><a name="New+rules+for+DISTINCT+and+ORDER+BY"></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>
@@ -2117,7 +2118,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="N10E23"></a><a name="New+column+alias+rules"></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>
@@ -2127,7 +2128,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="N10E39"></a><a name="Rationale+for+Change-N10E39"></a>
+<a name="Rationale+for+Change-N10E30"></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>
@@ -2137,14 +2138,14 @@ ERROR XSLA1: Log Record has been sent to
 </ul>
 <br>
 <br>
-<a name="N10E48"></a><a name="Application+Changes+Required-N10E48"></a>
+<a name="Application+Changes+Required-N10E3F"></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="N10E51"></a><a name="Note+for+DERBY-2085"></a>
+<a name="Note+for+DERBY-2085"></a>
 <h4>Note for DERBY-2085</h4>
-<a name="N10E57"></a><a name="Summary+of+Change-N10E57"></a>
+<a name="Summary+of+Change-N10E4E"></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>
@@ -2154,53 +2155,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="N10E6D"></a><a 
name="Symptoms+Seen+by+Applications+Affected+by+Change-N10E6D"></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="Symptoms+Seen+by+Applications+Affected+by+Change-N10E64"></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="N10E73"></a><a name="Rationale+for+Change-N10E73"></a>
+<a name="Rationale+for+Change-N10E6A"></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="N10E7A"></a><a name="Note+for+DERBY-1062"></a>
+<a name="Note+for+DERBY-1062"></a>
 <h4>Note for DERBY-1062</h4>
-<a name="N10E80"></a><a name="Summary+of+Change-N10E80"></a>
+<a name="Summary+of+Change-N10E77"></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="N10E86"></a><a 
name="Symptoms+Seen+by+Applications+Affected+by+Change-N10E86"></a>
+<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10E7D"></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="N10E8C"></a><a 
name="Incompatibilities+with+Previous+Release-N10E8C"></a>
+<a name="Incompatibilities+with+Previous+Release-N10E83"></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="N10E92"></a><a name="Rationale+for+Change-N10E92"></a>
+<a name="Rationale+for+Change-N10E89"></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="N10E98"></a><a name="Application+Changes+Required-N10E98"></a>
+<a name="Application+Changes+Required-N10E8F"></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="N10E9F"></a><a name="Note+for+DERBY-48"></a>
+<a name="Note+for+DERBY-48"></a>
 <h4>Note for DERBY-48</h4>
-<a name="N10EA5"></a><a name="Summary+of+Change-N10EA5"></a>
+<a name="Summary+of+Change-N10E9C"></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="N10EB0"></a><a 
name="Symptoms+Seen+by+Applications+Affected+by+Change-N10EB0"></a>
+<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10EA7"></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="N10EB6"></a><a 
name="Incompatibilities+with+Previous+Release-N10EB6"></a>
+<a name="Incompatibilities+with+Previous+Release-N10EAD"></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="N10EC0"></a><a name="Rationale+for+Change-N10EC0"></a>
+<a name="Rationale+for+Change-N10EB7"></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="N10ECC"></a><a name="Application+Changes+Required-N10ECC"></a>
+<a name="Application+Changes+Required-N10EC3"></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="N10ED2"></a><a name="Build+Environment"></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>
@@ -2220,7 +2221,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="N10EF7"></a><a name="Verifying+releases"></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 Wed Sep 
28 01:33:43 2016
@@ -3,9 +3,8 @@
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.8">
+<meta name="Forrest-version" content="0.9">
 <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">
@@ -485,6 +484,7 @@ 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,7 +523,8 @@ document.write("Last Published: " + docu
 </li>
 </ul>
 </div>
-<a name="N10010"></a><a name="Distributions"></a>
+</div>
+<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>
@@ -556,11 +557,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="N100BC"></a><a name="Release Notes for Derby 10.5.3.0"></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="N100C4"></a><a name="Overview"></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>
@@ -570,10 +571,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="N100D7"></a><a name="New+Features"></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="N100DF"></a><a name="Bug+Fixes"></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>
@@ -798,7 +799,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="N1030F"></a><a name="Issues"></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>
@@ -812,31 +813,31 @@ document.write("Last Published: " + docu
 </li>
 </ul>
 <hr>
-<a name="N10326"></a><a name="Note+for+DERBY-4230"></a>
+<a name="Note+for+DERBY-4230"></a>
 <h4>Note for DERBY-4230</h4>
-<a name="N1032C"></a><a name="Summary+of+Change"></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="N10332"></a><a 
name="Symptoms+Seen+by+Applications+Affected+by+Change"></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="N10338"></a><a name="Incompatibilities+with+Previous+Release"></a>
+<a name="Incompatibilities+with+Previous+Release"></a>
 <h5>Incompatibilities with Previous Release</h5>
 <p>none</p>
-<a name="N1033E"></a><a name="Rationale+for+Change"></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="N10344"></a><a name="Application+Changes+Required"></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="N1034B"></a><a name="Note+for+DERBY-3991"></a>
+<a name="Note+for+DERBY-3991"></a>
 <h4>Note for DERBY-3991</h4>
-<a name="N10351"></a><a name="Summary+of+Change-N10351"></a>
+<a name="Summary+of+Change-N10348"></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="N10359"></a><a 
name="Symptoms+Seen+by+Applications+Affected+by+Change-N10359"></a>
+<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10350"></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>
@@ -847,16 +848,16 @@ document.write("Last Published: " + docu
 </ul>
 <br>
 <br>
-<a name="N1036D"></a><a 
name="Incompatibilities+with+Previous+Release-N1036D"></a>
+<a name="Incompatibilities+with+Previous+Release-N10364"></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="N10379"></a><a name="Rationale+for+Change-N10379"></a>
+<a name="Rationale+for+Change-N10370"></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="N10382"></a><a name="Application+Changes+Required-N10382"></a>
+<a name="Application+Changes+Required-N10379"></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="N1038B"></a><a name="Build+Environment"></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>
@@ -877,7 +878,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="N103B4"></a><a name="Verifying+releases"></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 Wed Sep 
28 01:33:43 2016
@@ -3,9 +3,8 @@
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.8">
+<meta name="Forrest-version" content="0.9">
 <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">
@@ -485,6 +484,7 @@ 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,7 +544,8 @@ document.write("Last Published: " + docu
 </li>
 </ul>
 </div>
-<a name="N10010"></a><a name="Distributions"></a>
+</div>
+<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>
@@ -577,12 +578,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="N100BC"></a><a name="Release Notes for Derby 10.6.1.0"></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="N100C6"></a><a name="Overview"></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>
@@ -592,7 +593,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="N100D9"></a><a name="New+Features"></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>
@@ -629,7 +630,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="N10122"></a><a name="Bug+Fixes"></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">
@@ -1363,7 +1364,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="N107D1"></a><a name="Fix+for+Security+Bug+CVE-2009-4269"></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>
@@ -1382,7 +1383,7 @@ document.write("Last Published: " + docu
 </ul>
 </li>
 </ol>
-<a name="N107F0"></a><a name="Issues"></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>
@@ -1396,12 +1397,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="N10813"></a><a name="Note+for+DERBY-4602"></a>
+<a name="Note+for+DERBY-4602"></a>
 <h4>Note for DERBY-4602</h4>
-<a name="N10819"></a><a name="Summary+of+Change"></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="N1081F"></a><a 
name="Symptoms+Seen+by+Applications+Affected+by+Change"></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
@@ -1410,22 +1411,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="N10829"></a><a name="Incompatibilities+with+Previous+Release"></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="N1082F"></a><a name="Rationale+for+Change"></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="N10835"></a><a name="Application+Changes+Required"></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="N1083B"></a><a name="Alternative+1"></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="N10841"></a><a name="Alternative+2"></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="N10847"></a><a name="Alternative+3"></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(
@@ -1436,12 +1437,12 @@ algorithm in the derby.authentication.bu
         'derby.user.alice, 'secret)
 </pre>
 <hr>
-<a name="N10854"></a><a name="Note+for+DERBY-4483"></a>
+<a name="Note+for+DERBY-4483"></a>
 <h4>Note for DERBY-4483</h4>
-<a name="N1085A"></a><a name="Summary+of+Change-N1085A"></a>
+<a name="Summary+of+Change-N10851"></a>
 <h5>Summary of Change</h5>
 <p>Strong password substitution cannot be used with new defaults for BUILTIN 
authentication.</p>
-<a name="N10860"></a><a 
name="Symptoms+Seen+by+Applications+Affected+by+Change-N10860"></a>
+<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10857"></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:
@@ -1451,20 +1452,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="N1086B"></a><a 
name="Incompatibilities+with+Previous+Release-N1086B"></a>
+<a name="Incompatibilities+with+Previous+Release-N10862"></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="N10873"></a><a name="Rationale+for+Change-N10873"></a>
+<a name="Rationale+for+Change-N1086A"></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="N10879"></a><a name="Application+Changes+Required-N10879"></a>
+<a name="Application+Changes+Required-N10870"></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="N1087F"></a><a 
name="Alternative+1%3A+Use+another+security+mechanism"></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="N10888"></a><a 
name="Alternative+2%3A+Revert+to+the+old+BUILTIN+authentication+behaviour"></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(
@@ -1472,12 +1473,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="N1089C"></a><a name="Note+for+DERBY-4432"></a>
+<a name="Note+for+DERBY-4432"></a>
 <h4>Note for DERBY-4432</h4>
-<a name="N108A2"></a><a name="Summary+of+Change-N108A2"></a>
+<a name="Summary+of+Change-N10899"></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="N108A8"></a><a 
name="Symptoms+Seen+by+Applications+Affected+by+Change-N108A8"></a>
+<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N1089F"></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.
@@ -1485,23 +1486,23 @@ ERROR XBM0J: Directory memory:/tmp/a alr
 </pre>
 <br>
 <br>
-<a name="N108B2"></a><a 
name="Incompatibilities+with+Previous+Release-N108B2"></a>
+<a name="Incompatibilities+with+Previous+Release-N108A9"></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="N108B8"></a><a name="Rationale+for+Change-N108B8"></a>
+<a name="Rationale+for+Change-N108AF"></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="N108C2"></a><a name="Application+Changes+Required-N108C2"></a>
+<a name="Application+Changes+Required-N108B9"></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="N108CB"></a><a name="Note+for+DERBY-4380"></a>
+<a name="Note+for+DERBY-4380"></a>
 <h4>Note for DERBY-4380</h4>
-<a name="N108D1"></a><a name="Summary+of+Change-N108D1"></a>
+<a name="Summary+of+Change-N108C8"></a>
 <h5>Summary of Change</h5>
 <p>Changed error code and message when referencing column not in scope in ON 
clause.</p>
-<a name="N108D7"></a><a 
name="Symptoms+Seen+by+Applications+Affected+by+Change-N108D7"></a>
+<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N108CE"></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.
@@ -1509,41 +1510,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="N108E3"></a><a name="Rationale+for+Change-N108E3"></a>
+<a name="Rationale+for+Change-N108DA"></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="N108E9"></a><a name="Application+Changes+Required-N108E9"></a>
+<a name="Application+Changes+Required-N108E0"></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="N108F6"></a><a name="Note+for+DERBY-4355"></a>
+<a name="Note+for+DERBY-4355"></a>
 <h4>Note for DERBY-4355</h4>
-<a name="N108FC"></a><a name="Summary+of+Change-N108FC"></a>
+<a name="Summary+of+Change-N108F3"></a>
 <h5>Summary of Change</h5>
 <p>CROSS is now a reserved keyword and cannot be used as an unquoted 
identifier.</p>
-<a name="N10902"></a><a 
name="Symptoms+Seen+by+Applications+Affected+by+Change-N10902"></a>
+<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N108F9"></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="N1090A"></a><a 
name="Incompatibilities+with+Previous+Release-N1090A"></a>
+<a name="Incompatibilities+with+Previous+Release-N10901"></a>
 <h5>Incompatibilities with Previous Release</h5>
 <p>Applications that use CROSS as an unquoted identifier will experience 
syntax errors.</p>
-<a name="N10910"></a><a name="Rationale+for+Change-N10910"></a>
+<a name="Rationale+for+Change-N10907"></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="N10916"></a><a name="Application+Changes+Required-N10916"></a>
+<a name="Application+Changes+Required-N1090D"></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="N1092D"></a><a name="Note+for+DERBY-4191"></a>
+<a name="Note+for+DERBY-4191"></a>
 <h4>Note for DERBY-4191</h4>
-<a name="N10933"></a><a name="Summary+of+Change-N10933"></a>
+<a name="Summary+of+Change-N1092A"></a>
 <h5>Summary of Change</h5>
 <p>Some queries require additional SELECT privileges now.</p>
-<a name="N10939"></a><a 
name="Symptoms+Seen+by+Applications+Affected+by+Change-N10939"></a>
+<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10930"></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
@@ -1551,22 +1552,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="N10945"></a><a 
name="Incompatibilities+with+Previous+Release-N10945"></a>
+<a name="Incompatibilities+with+Previous+Release-N1093C"></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="N1094B"></a><a name="Rationale+for+Change-N1094B"></a>
+<a name="Rationale+for+Change-N10942"></a>
 <h5>Rationale for Change</h5>
 <p>The old behavior violated the SQL Standard. The new behavior is correct.</p>
-<a name="N10951"></a><a name="Application+Changes+Required-N10951"></a>
+<a name="Application+Changes+Required-N10948"></a>
 <h5>Application Changes Required</h5>
 <p>Database Administrators may need to grant users additional SELECT 
privileges.</p>
 <hr>
-<a name="N10958"></a><a name="Note+for+DERBY-3844"></a>
+<a name="Note+for+DERBY-3844"></a>
 <h4>Note for DERBY-3844</h4>
-<a name="N1095E"></a><a name="Summary+of+Change-N1095E"></a>
+<a name="Summary+of+Change-N10955"></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="N1096A"></a><a 
name="Symptoms+Seen+by+Applications+Affected+by+Change-N1096A"></a>
+<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10961"></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>
@@ -1579,22 +1580,22 @@ ERROR XBM0J: Directory memory:/tmp/a alr
 </ul>
 <br>
 <br>
-<a name="N1097F"></a><a 
name="Incompatibilities+with+Previous+Release-N1097F"></a>
+<a name="Incompatibilities+with+Previous+Release-N10976"></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="N10985"></a><a name="Rationale+for+Change-N10985"></a>
+<a name="Rationale+for+Change-N1097C"></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="N10992"></a><a name="Application+Changes+Required-N10992"></a>
+<a name="Application+Changes+Required-N10989"></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="N109A5"></a><a name="Note+for+DERBY-2769"></a>
+<a name="Note+for+DERBY-2769"></a>
 <h4>Note for DERBY-2769</h4>
-<a name="N109AB"></a><a name="Summary+of+Change-N109AB"></a>
+<a name="Summary+of+Change-N109A2"></a>
 <h5>Summary of Change</h5>
 <p>Comprehensive validity checks for the parameters of <tt>Clob.setString</tt> 
have been introduced.</p>
-<a name="N109B4"></a><a 
name="Symptoms+Seen+by+Applications+Affected+by+Change-N109B4"></a>
+<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N109AB"></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>
@@ -1604,7 +1605,7 @@ ERROR XBM0J: Directory memory:/tmp/a alr
 </ol>
 <br>
 <br>
-<a name="N109C9"></a><a 
name="Incompatibilities+with+Previous+Release-N109C9"></a>
+<a name="Incompatibilities+with+Previous+Release-N109C0"></a>
 <h5>Incompatibilities with Previous Release</h5>
 <p></p>
 <ol>
@@ -1619,10 +1620,10 @@ ERROR XBM0J: Directory memory:/tmp/a alr
 </ol>
 <br>
 <br>
-<a name="N109EA"></a><a name="Rationale+for+Change-N109EA"></a>
+<a name="Rationale+for+Change-N109E1"></a>
 <h5>Rationale for Change</h5>
 <p>Make the parameter checking comply with the <tt>JDBC</tt> specification.</p>
-<a name="N109F3"></a><a name="Application+Changes+Required-N109F3"></a>
+<a name="Application+Changes+Required-N109EA"></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>
@@ -1637,7 +1638,7 @@ ERROR XBM0J: Directory memory:/tmp/a alr
 </ol>
 <br>
 <br>
-<a name="N10A18"></a><a name="Build+Environment"></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>
@@ -1656,7 +1657,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="N10A3D"></a><a name="Verifying+releases"></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 Wed Sep 
28 01:33:43 2016
@@ -3,9 +3,8 @@
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.8">
+<meta name="Forrest-version" content="0.9">
 <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">
@@ -485,6 +484,7 @@ 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,7 +523,8 @@ document.write("Last Published: " + docu
 </li>
 </ul>
 </div>
-<a name="N10010"></a><a name="Distributions"></a>
+</div>
+<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>
@@ -556,11 +557,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="N100BC"></a><a name="Release Notes for Derby 10.6.2.1"></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="N100C4"></a><a name="Overview"></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>
@@ -570,14 +571,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="N100D7"></a><a name="New+Features"></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="N100E8"></a><a name="Bug+Fixes"></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">
@@ -708,7 +709,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="N10218"></a><a name="Issues"></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>
@@ -716,18 +717,18 @@ document.write("Last Published: " + docu
 <li>Note for DERBY-2925: Prevent export from overwriting existing files</li>
 </ul>
 <hr>
-<a name="N10226"></a><a name="Note+for+DERBY-4677"></a>
+<a name="Note+for+DERBY-4677"></a>
 <h4>Note for DERBY-4677</h4>
-<a name="N1022C"></a><a name="Summary+of+Change"></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="N10232"></a><a 
name="Symptoms+Seen+by+Applications+Affected+by+Change"></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="N10238"></a><a name="Rationale+for+Change"></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="N1023E"></a><a name="Application+Changes+Required"></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>
@@ -748,12 +749,12 @@ document.write("Last Published: " + docu
 </pre>
 <hr>
 <pre></pre>
-<a name="N10251"></a><a name="Note+for+DERBY-2925"></a>
+<a name="Note+for+DERBY-2925"></a>
 <h4>Note for DERBY-2925</h4>
 <pre>
 
 </pre>
-<a name="N10259"></a><a name="Summary+of+Change-N10259"></a>
+<a name="Summary+of+Change-N10250"></a>
 <h5>Summary of Change</h5>
 <pre>
 
@@ -762,7 +763,7 @@ document.write("Last Published: " + docu
 
 
 </pre>
-<a name="N10261"></a><a 
name="Symptoms+Seen+by+Applications+Affected+by+Change-N10261"></a>
+<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10258"></a>
 <h5>Symptoms Seen by Applications Affected by Change</h5>
 <pre>
 
@@ -773,7 +774,7 @@ will not overwrite existing files. As a
 <pre>
 
 </pre>
-<a name="N1026B"></a><a name="Incompatibilities+with+Previous+Release"></a>
+<a name="Incompatibilities+with+Previous+Release"></a>
 <h5>Incompatibilities with Previous Release</h5>
 <pre></pre>
 <ul>
@@ -785,7 +786,7 @@ will not overwrite existing files. As a
 
 
 </pre>
-<a name="N10279"></a><a name="Rationale+for+Change-N10279"></a>
+<a name="Rationale+for+Change-N10270"></a>
 <h5>Rationale for Change</h5>
 <pre>
 
@@ -794,7 +795,7 @@ will not overwrite existing files. As a
 
 
 </pre>
-<a name="N10281"></a><a name="Application+Changes+Required-N10281"></a>
+<a name="Application+Changes+Required-N10278"></a>
 <h5>Application Changes Required</h5>
 <pre>
 
@@ -804,7 +805,7 @@ will not overwrite existing files. As a
 
 
 </pre>
-<a name="N10289"></a><a name="Build+Environment"></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:
@@ -823,7 +824,7 @@ will not overwrite existing files. As a
 <li>
 <strong>Compiler</strong> - Sun 1.6.0_13_b03</li>
 </ul>
-<a name="N102AB"></a><a name="Verifying+releases"></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>


Reply via email to