Modified: websites/production/db/content/derby/releases/release-10.3.3.0.html
==============================================================================
--- websites/production/db/content/derby/releases/release-10.3.3.0.html
(original)
+++ websites/production/db/content/derby/releases/release-10.3.3.0.html Sat Oct
14 18:58:50 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.3.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
<input value="+a" class="biggerfont" title="Enlarge
text" onclick="ndeSetTextSize('incr'); return false;" type="button">
</div>
<h1>Apache Derby 10.3.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="IMPORTANT+NOTICE"></a>
+<a name="N10010"></a><a name="IMPORTANT+NOTICE"></a>
<h2 class="boxed">IMPORTANT NOTICE</h2>
<div class="section">
<p>If you are currently using Derby 10.3.1.4 or Derby 10.3.2.1, it is
strongly<br> recommended that you upgrade to Derby 10.4.1.3 or 10.3.3.0 to
avoid<br> any chance of database corruption due to an issue with multiple
threads<br> accessing a database that is documented in <a class="external"
href="http://issues.apache.org/jira/browse/DERBY-3347">DERBY-3347</a>.<br>
@@ -548,7 +547,7 @@ document.write("Last Published: " + docu
<br> http://db.apache.org/derby/derby_mail.html<br>
</p>
</div>
-<a name="Distributions"></a>
+<a name="N10076"></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 from one of
our mirrors. You should <strong>always</strong> <a
href="#Verifying+releases">verify the integrity</a> of distribution files
downloaded from a mirror.</p>
@@ -581,7 +580,7 @@ document.write("Last Published: " + docu
<a class="external"
href="http://archive.apache.org/dist/db/derby/db-derby-10.3.3.0/derby_ui_plugin_1.1.1.zip">derby_ui_plugin_1.1.1.zip</a>
[<a class="external"
href="http://archive.apache.org/dist/db/derby/db-derby-10.3.3.0/derby_ui_plugin_1.1.1.zip.asc">PGP</a>]
[<a class="external"
href="http://archive.apache.org/dist/db/derby/db-derby-10.3.3.0/derby_ui_plugin_1.1.1.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.3.3.0"></a>
+<a name="N10122"></a><a name="Release Notes for Derby 10.3.3.0"></a>
<h2 class="boxed">Release Notes for Derby 10.3.3.0</h2>
<div class="section">
<p>These notes describe the difference between Derby release 10.3.3.0 and the
preceding release 10.3.2.1.</p>
@@ -599,7 +598,7 @@ document.write("Last Published: " + docu
<a href="#Build Environment">Build Environment</a>
</li>
</ul>
-<a name="Overview"></a>
+<a name="N1013B"></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 +608,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="Issues"></a>
+<a name="N1014E"></a><a name="Issues"></a>
<h3 class="boxed">Issues</h3>
<p>The following issues are addressed by Derby release 10.3.3.0. These issues
are not addressed in the preceding 10.3.2.1 release.</p>
<table class="ForrestTable" cellspacing="1" cellpadding="4" border="2">
@@ -807,12 +806,12 @@ document.write("Last Published: " + docu
</li>
</ul>
<hr>
-<a name="Note+for+DERBY-3347"></a>
+<a name="N10308"></a><a name="Note+for+DERBY-3347"></a>
<h4>Note for DERBY-3347</h4>
-<a name="Summary+of+Change"></a>
+<a name="N1030E"></a><a name="Summary+of+Change"></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"></a>
+<a name="N10314"></a><a
name="Symptoms+Seen+by+Applications+Affected+by+Change"></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>
@@ -826,42 +825,42 @@ 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"></a>
+<a name="N10323"></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="N10329"></a><a name="Rationale+for+Change"></a>
<h5>Rationale for Change</h5>
<p>Database corruption is bad.</p>
-<a name="Application+Changes+Required"></a>
+<a name="N1032F"></a><a name="Application+Changes+Required"></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-3301"></a>
+<a name="N1033A"></a><a name="Note+for+DERBY-3301"></a>
<h4>Note for DERBY-3301</h4>
-<a name="Summary+of+Change-N10337"></a>
+<a name="N10340"></a><a name="Summary+of+Change-N10340"></a>
<h5>Summary of Change</h5>
<p>Queries with nested EXIST, ANY or IN clauses now return correct results.</p>
-<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N1033D"></a>
+<a name="N10346"></a><a
name="Symptoms+Seen+by+Applications+Affected+by+Change-N10346"></a>
<h5>Symptoms Seen by Applications Affected by Change</h5>
<p>In the previous release, applications that executed SQL statements
containing nested EXISTS, ANY or IN clauses could see fewer rows than those
satisfying the query. In particular, rows that had the same value for one of
the selected columns as another row might not have been returned.</p>
-<a name="Incompatibilities+with+Previous+Release-N10343"></a>
+<a name="N1034C"></a><a
name="Incompatibilities+with+Previous+Release-N1034C"></a>
<h5>Incompatibilities with Previous Release</h5>
<p>None.</p>
-<a name="Rationale+for+Change-N10349"></a>
+<a name="N10352"></a><a name="Rationale+for+Change-N10352"></a>
<h5>Rationale for Change</h5>
<p>The previous behavior violated the ANSI SQL standard. The new behavior is
correct.</p>
-<a name="Application+Changes+Required-N1034F"></a>
+<a name="N10358"></a><a name="Application+Changes+Required-N10358"></a>
<h5>Application Changes Required</h5>
<p>Typically none, but applications must handle that the correct results are
now returned.</p>
<hr>
-<a name="Note+for+DERBY-2351"></a>
+<a name="N1035F"></a><a name="Note+for+DERBY-2351"></a>
<h4>Note for DERBY-2351</h4>
-<a name="Summary+of+Change-N1035C"></a>
+<a name="N10365"></a><a name="Summary+of+Change-N10365"></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-N10362"></a>
+<a name="N1036B"></a><a
name="Symptoms+Seen+by+Applications+Affected+by+Change-N1036B"></a>
<h5>Symptoms Seen by Applications Affected by Change</h5>
-<a name="New+rules+for+DISTINCT+and+ORDER+BY"></a>
+<a name="N1036F"></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>
@@ -870,7 +869,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="N10387"></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>
@@ -880,7 +879,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-N10394"></a>
+<a name="N1039D"></a><a name="Rationale+for+Change-N1039D"></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>
@@ -890,11 +889,11 @@ ERROR XSLA1: Log Record has been sent to
</ul>
<br>
<br>
-<a name="Application+Changes+Required-N103A3"></a>
+<a name="N103AC"></a><a name="Application+Changes+Required-N103AC"></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>
-<a name="Build+Environment"></a>
+<a name="N103B4"></a><a name="Build+Environment"></a>
<h3 class="boxed">Build Environment</h3>
<p>Derby release 10.3.3.0 was built using the following environment:</p>
<ul>
@@ -916,7 +915,7 @@ ERROR XSLA1: Log Record has been sent to
<strong>JSR 169</strong> - Java ME support was built using Java ME
CDC/Foundation Specification 1.1 libraries from IBM WebSphere Everyplace Micro
Environment 6.1</li>
</ul>
</div>
-<a name="Verifying+releases"></a>
+<a name="N103DD"></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>
@@ -955,7 +954,7 @@ document.write("Last Published: " + docu
</div>
<div class="copyright">
Copyright ©
- 2004-2015 Apache, Apache DB, Apache Derby, Apache Torque, Apache JDO,
Apache DDLUtils, the Derby hat logo, the Apache JDO logo, and the Apache
feather logo are trademarks of The Apache Software Foundation. All other marks
mentioned may be trademarks or registered trademarks of their respective
owners.</div>
+ 2004-2017 Apache, Apache DB, Apache Derby, Apache Torque, Apache JDO,
Apache DDLUtils, the Derby hat logo, the Apache JDO logo, and the Apache
feather logo are trademarks of The Apache Software Foundation. All other marks
mentioned may be trademarks or registered trademarks of their respective
owners.</div>
<div id="feedback">
Send feedback about the website to:
<a id="feedbackto"
href="mailto:[email protected]?subject=Feedback%C2%A0releases/release-10.3.3.0.html">[email protected]</a>
Modified: websites/production/db/content/derby/releases/release-10.4.1.3.html
==============================================================================
--- websites/production/db/content/derby/releases/release-10.4.1.3.html
(original)
+++ websites/production/db/content/derby/releases/release-10.4.1.3.html Sat Oct
14 18:58:50 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.4.1.3 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
<input value="+a" class="biggerfont" title="Enlarge
text" onclick="ndeSetTextSize('incr'); return false;" type="button">
</div>
<h1>Apache Derby 10.4.1.3 Release</h1>
-<div id="front-matter">
<div id="minitoc-area">
<ul class="minitoc">
<li>
@@ -538,8 +538,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 from one of
our mirrors. You should <strong>always</strong> <a
href="#Verifying+releases">verify the integrity</a> of distribution files
downloaded from a mirror.</p>
@@ -572,11 +571,11 @@ document.write("Last Published: " + docu
<a class="external"
href="http://archive.apache.org/dist/db/derby/db-derby-10.4.1.3/derby_ui_plugin_1.1.2.zip">derby_ui_plugin_1.1.2.zip</a>
[<a class="external"
href="http://archive.apache.org/dist/db/derby/db-derby-10.4.1.3/derby_ui_plugin_1.1.2.zip.asc">PGP</a>]
[<a class="external"
href="http://archive.apache.org/dist/db/derby/db-derby-10.4.1.3/derby_ui_plugin_1.1.2.zip.md5">MD5</a>]</p>
<p>Please note: both plugins must be installed for full functionality. For
information on installing and using the Derby plugins for Eclipse, please see
the <a href="http://db.apache.org/derby/integrate/plugin_howto.html">Using the
10 Core and 1.1 UI Derby plug-ins</a> page.</p>
</div>
-<a name="Release Notes for Derby 10.4.1.3"></a>
+<a name="N100BC"></a><a name="Release Notes for Derby 10.4.1.3"></a>
<h2 class="boxed">Release Notes for Derby 10.4.1.3</h2>
<div class="section">
<p>These notes describe the difference between Derby release 10.4.1.3 and the
preceding release 10.3.2.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>
@@ -586,7 +585,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 new features were added:</p>
<ul>
@@ -601,7 +600,7 @@ document.write("Last Published: " + docu
<li>Caching of the isolation level and the current schema in the client
driver.</li>
<li>Implement a new multi-threaded buffer manager to get better scalability on
machines with multiple CPUs or multiple cores.</li>
</ul>
-<a name="Bug+Fixes"></a>
+<a name="N100F7"></a><a name="Bug+Fixes"></a>
<h3 class="boxed">Bug Fixes</h3>
<p>The following issues are addressed by Derby release 10.4.1.3. These issues
are not addressed in the preceding 10.3.2.1 release.</p>
<table class="ForrestTable" cellspacing="1" cellpadding="4" border="2">
@@ -822,7 +821,7 @@ document.write("Last Published: " + docu
<td><a class="external"
href="http://issues.apache.org/jira/browse/DERBY-1573">DERBY-1573</a></td><td>Unsafe
synchronization in NetworkServerControlImpl</td>
</tr>
</table>
-<a name="Issues"></a>
+<a name="N102F9"></a><a name="Issues"></a>
<h3 class="boxed">Issues</h3>
<p>Compared with the previous release (10.3.2.1), Derby release 10.4.1.3
introduces the following new features and incompatibilities. These merit your
special attention.</p>
<ul>
@@ -856,12 +855,12 @@ document.write("Last Published: " + docu
</li>
</ul>
<hr>
-<a name="Note+for+DERBY-3585"></a>
+<a name="N1032F"></a><a name="Note+for+DERBY-3585"></a>
<h4>Note for DERBY-3585</h4>
-<a name="Summary+of+Change"></a>
+<a name="N10335"></a><a name="Summary+of+Change"></a>
<h5>Summary of Change</h5>
<p>Shutting down the Network Server now supports user authentication, and in
fact requires credentials when authentication is enabled.</p>
-<a name="Symptoms+Seen+by+Applications+Affected+by+Change"></a>
+<a name="N1033B"></a><a
name="Symptoms+Seen+by+Applications+Affected+by+Change"></a>
<h5>Symptoms Seen by Applications Affected by Change</h5>
<p>Previously, a network server running with user authentication didn't check
for user credentials for server shutdown. Any client could shut down the server
by calling NetworkServerControl with a shutdown command-line argument or by
invoking the shutdown() method (provided the shutdown was initiated on the host
running the server). While this generated a console warning (Connection refused
: Invalid authentication.), the server shutdown proceeded and could also result
in open databases not being properly closed.</p>
<p>Now, class NetworkServerControl supports user and password information as
command-line and constructor arguments. When running a network server with user
authentication, a server shutdown now requires user credentials; if the user
authentication check fails, the client sees an authentication error and the
running server remains intact. Note that Derby does not yet restrict the
shutdown privilege to specific users: the server can be shut down by any user
on the server machine who presents valid credentials.</p>
@@ -876,7 +875,7 @@ document.write("Last Published: " + docu
</ul>
<br>
<br>
-<a name="Incompatibilities+with+Previous+Release"></a>
+<a name="N10351"></a><a name="Incompatibilities+with+Previous+Release"></a>
<h5>Incompatibilities with Previous Release</h5>
<p>If running a network server without user authentication (the default) no
command-line or API incompatibilities will be experienced.</p>
<p>However, some incompatibilities were introduced if running a network server
with user authentication:</p>
@@ -893,90 +892,90 @@ document.write("Last Published: " + docu
</ol>
<br>
<br>
-<a name="Rationale+for+Change"></a>
+<a name="N10394"></a><a name="Rationale+for+Change"></a>
<h5>Rationale for Change</h5>
<p>The previous behavior represented a security issue, because any client
could shut down a network server running with user authentication from the same
host without needing to provide user credentials.</p>
-<a name="Application+Changes+Required"></a>
+<a name="N1039A"></a><a name="Application+Changes+Required"></a>
<h5>Application Changes Required</h5>
<p>Application code and scripts will need to be adjusted to provide user
credentials for shutting down a network server that runs with user
authentication.</p>
<hr>
-<a name="Note+for+DERBY-3460"></a>
+<a name="N103A1"></a><a name="Note+for+DERBY-3460"></a>
<h4>Note for DERBY-3460</h4>
-<a name="Summary+of+Change-N1039E"></a>
+<a name="N103A7"></a><a name="Summary+of+Change-N103A7"></a>
<h5>Summary of Change</h5>
<p>The two following reserved keywords are introduced: <span
class="codefrag">NONE</span> and <span class="codefrag">CURRENT_ROLE</span>.</p>
-<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N103AA"></a>
+<a name="N103B3"></a><a
name="Symptoms+Seen+by+Applications+Affected+by+Change-N103B3"></a>
<h5>Symptoms Seen by Applications Affected by Change</h5>
-<a name="Incompatibilities+with+Previous+Release-N103AE"></a>
+<a name="N103B7"></a><a
name="Incompatibilities+with+Previous+Release-N103B7"></a>
<h5>Incompatibilities with Previous Release</h5>
-<a name="Rationale+for+Change-N103B2"></a>
+<a name="N103BB"></a><a name="Rationale+for+Change-N103BB"></a>
<h5>Rationale for Change</h5>
-<a name="Application+Changes+Required-N103B6"></a>
+<a name="N103BF"></a><a name="Application+Changes+Required-N103BF"></a>
<h5>Application Changes Required</h5>
<hr>
-<a name="Note+for+DERBY-3301"></a>
+<a name="N103C4"></a><a name="Note+for+DERBY-3301"></a>
<h4>Note for DERBY-3301</h4>
-<a name="Summary+of+Change-N103C1"></a>
+<a name="N103CA"></a><a name="Summary+of+Change-N103CA"></a>
<h5>Summary of Change</h5>
<p>Queries with nested EXIST, ANY or IN clauses now return correct results.</p>
-<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N103C7"></a>
+<a name="N103D0"></a><a
name="Symptoms+Seen+by+Applications+Affected+by+Change-N103D0"></a>
<h5>Symptoms Seen by Applications Affected by Change</h5>
<p>In the previous release, applications that executed SQL statements
containing nested EXISTS, ANY or IN clauses could see fewer rows than those
satisfying the query. In particular, rows that had the same value for one of
the selected columns as another row might not have been returned.</p>
-<a name="Incompatibilities+with+Previous+Release-N103CD"></a>
+<a name="N103D6"></a><a
name="Incompatibilities+with+Previous+Release-N103D6"></a>
<h5>Incompatibilities with Previous Release</h5>
<p>None.</p>
-<a name="Rationale+for+Change-N103D3"></a>
+<a name="N103DC"></a><a name="Rationale+for+Change-N103DC"></a>
<h5>Rationale for Change</h5>
<p>The previous behavior violated the ANSI SQL standard. The new behavior is
correct.</p>
-<a name="Application+Changes+Required-N103D9"></a>
+<a name="N103E2"></a><a name="Application+Changes+Required-N103E2"></a>
<h5>Application Changes Required</h5>
<p>Typically none, but applications must handle that the correct results are
now returned.</p>
<hr>
-<a name="Note+for+DERBY-3026"></a>
+<a name="N103E9"></a><a name="Note+for+DERBY-3026"></a>
<h4>Note for DERBY-3026</h4>
-<a name="Summary+of+Change-N103E6"></a>
+<a name="N103EF"></a><a name="Summary+of+Change-N103EF"></a>
<h5>Summary of Change</h5>
<p>The <span class="codefrag">frameworks</span> directory (and its contents)
has been removed.</p>
-<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N103EF"></a>
+<a name="N103F8"></a><a
name="Symptoms+Seen+by+Applications+Affected+by+Change-N103F8"></a>
<h5>Symptoms Seen by Applications Affected by Change</h5>
<p></p>
-<span class="codefrag">frameworks</span><a
name="Incompatibilities+with+Previous+Release-N103F6"></a>
+<span class="codefrag">frameworks</span><a name="N103FF"></a><a
name="Incompatibilities+with+Previous+Release-N103FF"></a>
<h5>Incompatibilities with Previous Release</h5>
<p>Applications or commands referencing files in the <span
class="codefrag">frameworks</span> directory will fail.</p>
-<a name="Rationale+for+Change-N103FF"></a>
+<a name="N10408"></a><a name="Rationale+for+Change-N10408"></a>
<h5>Rationale for Change</h5>
<p>In the 10.2.1.6 release, new and improved scripts were added in a new <span
class="codefrag">bin</span> directory, intended to replace the scripts in the
<span class="codefrag">frameworks</span> directory. The new scripts follow
Apache conventions, and all scripts are located in a single directory, making
them easier to find. Removing the old and deprecated scripts and the <span
class="codefrag">frameworks</span> directory itself will eliminate a potential
source of confusion and annoyance among users.</p>
<p>The <span class="codefrag">frameworks</span> directory has been deprecated
since the 10.2.1.6 release, and has not been maintained since then. The
10.2.1.6 release notes announced the deprecation of the scripts in the <span
class="codefrag">frameworks</span> directory, and an additional file (<span
class="codefrag">frameworks.DEPRECATED.txt</span>) was added in the top-level
directory of the 10.3.1.4 release, with the purpose of alerting users about
this change. A warning message was also added to the scripts in the <span
class="codefrag">frameworks</span> directory at the same time.</p>
-<a name="Application+Changes+Required-N1041C"></a>
+<a name="N10425"></a><a name="Application+Changes+Required-N10425"></a>
<h5>Application Changes Required</h5>
<p>All references to the <span class="codefrag">frameworks</span> directory or
its contents must be updated. The scripts in the <span
class="codefrag">bin</span> directory may be used instead of the old
scripts.</p>
<hr>
-<a name="Note+for+DERBY-3013"></a>
+<a name="N10432"></a><a name="Note+for+DERBY-3013"></a>
<h4>Note for DERBY-3013</h4>
-<a name="Summary+of+Change-N1042F"></a>
+<a name="N10438"></a><a name="Summary+of+Change-N10438"></a>
<h5>Summary of Change</h5>
<p>The column default value can now also be specified as CURRENT_USER or
SESSION_USER.</p>
-<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N10435"></a>
+<a name="N1043E"></a><a
name="Symptoms+Seen+by+Applications+Affected+by+Change-N1043E"></a>
<h5>Symptoms Seen by Applications Affected by Change</h5>
<p>None</p>
-<a name="Incompatibilities+with+Previous+Release-N1043B"></a>
+<a name="N10444"></a><a
name="Incompatibilities+with+Previous+Release-N10444"></a>
<h5>Incompatibilities with Previous Release</h5>
<p>None</p>
-<a name="Rationale+for+Change-N10441"></a>
+<a name="N1044A"></a><a name="Rationale+for+Change-N1044A"></a>
<h5>Rationale for Change</h5>
<p>Extend Derby's support for standard SQL constructions.</p>
-<a name="Application+Changes+Required-N10447"></a>
+<a name="N10450"></a><a name="Application+Changes+Required-N10450"></a>
<h5>Application Changes Required</h5>
<p>None.</p>
<hr>
-<a name="Note+for+DERBY-2351"></a>
+<a name="N10457"></a><a name="Note+for+DERBY-2351"></a>
<h4>Note for DERBY-2351</h4>
-<a name="Summary+of+Change-N10454"></a>
+<a name="N1045D"></a><a name="Summary+of+Change-N1045D"></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-N1045A"></a>
+<a name="N10463"></a><a
name="Symptoms+Seen+by+Applications+Affected+by+Change-N10463"></a>
<h5>Symptoms Seen by Applications Affected by Change</h5>
-<a name="New+rules+for+DISTINCT+and+ORDER+BY"></a>
+<a name="N10467"></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>
@@ -985,7 +984,7 @@ document.write("Last Published: " + docu
</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="N1047F"></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>
@@ -995,7 +994,7 @@ document.write("Last Published: " + docu
<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-N1048C"></a>
+<a name="N10495"></a><a name="Rationale+for+Change-N10495"></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>
@@ -1005,29 +1004,29 @@ document.write("Last Published: " + docu
</ul>
<br>
<br>
-<a name="Application+Changes+Required-N1049B"></a>
+<a name="N104A4"></a><a name="Application+Changes+Required-N104A4"></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-2065"></a>
+<a name="N104AD"></a><a name="Note+for+DERBY-2065"></a>
<h4>Note for DERBY-2065</h4>
-<a name="Summary+of+Change-N104AA"></a>
+<a name="N104B3"></a><a name="Summary+of+Change-N104B3"></a>
<h5>Summary of Change</h5>
<p>Error code changed for embedded connection when a connection with an open
transaction is attempted closed.</p>
-<a name="Symptoms+Seen+by+Applications+Affected+by+Change-N104B0"></a>
+<a name="N104B9"></a><a
name="Symptoms+Seen+by+Applications+Affected+by+Change-N104B9"></a>
<h5>Symptoms Seen by Applications Affected by Change</h5>
<p>In the previous release, calling Connection.close() on a connection with an
open transaction raised an error with error code 25001 with the client driver,
whereas the embedded driver raised error code 25000. The embedded driver has
now been changed to raise the same error code as the client driver, i.e. 25001,
as specified by the SQL standard.</p>
-<a name="Incompatibilities+with+Previous+Release-N104B6"></a>
+<a name="N104BF"></a><a
name="Incompatibilities+with+Previous+Release-N104BF"></a>
<h5>Incompatibilities with Previous Release</h5>
<p>Embedded applications that are dependent on the error code <em>ever</em>
being "25000" could start failing. Embedded applications that are dependent on
the error code <em>never</em> being "25001" could start failing.</p>
-<a name="Rationale+for+Change-N104C2"></a>
+<a name="N104CB"></a><a name="Rationale+for+Change-N104CB"></a>
<h5>Rationale for Change</h5>
<p>Harmonize error codes raised by the client and embedded drivers, thereby
also making the embedded driver compatible with the SQL standard.</p>
-<a name="Application+Changes+Required-N104C8"></a>
+<a name="N104D1"></a><a name="Application+Changes+Required-N104D1"></a>
<h5>Application Changes Required</h5>
<p>Applications that are dependent on the error code must be changed to expect
the new code.</p>
-<a name="Build+Environment"></a>
+<a name="N104D7"></a><a name="Build+Environment"></a>
<h3 class="boxed">Build Environment</h3>
<p>Derby release 10.4.1.3 was built using the following environment:</p>
<ul>
@@ -1049,7 +1048,7 @@ document.write("Last Published: " + docu
<strong>JSR 169</strong> - J2ME support was built using java.sun.com/j2me
(cdc-1_1-fr-ri, jdbc_cdc1.0).</li>
</ul>
</div>
-<a name="Verifying+releases"></a>
+<a name="N10500"></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>
@@ -1088,7 +1087,7 @@ document.write("Last Published: " + docu
</div>
<div class="copyright">
Copyright ©
- 2004-2015 Apache, Apache DB, Apache Derby, Apache Torque, Apache JDO,
Apache DDLUtils, the Derby hat logo, the Apache JDO logo, and the Apache
feather logo are trademarks of The Apache Software Foundation. All other marks
mentioned may be trademarks or registered trademarks of their respective
owners.</div>
+ 2004-2017 Apache, Apache DB, Apache Derby, Apache Torque, Apache JDO,
Apache DDLUtils, the Derby hat logo, the Apache JDO logo, and the Apache
feather logo are trademarks of The Apache Software Foundation. All other marks
mentioned may be trademarks or registered trademarks of their respective
owners.</div>
<div id="feedback">
Send feedback about the website to:
<a id="feedbackto"
href="mailto:[email protected]?subject=Feedback%C2%A0releases/release-10.4.1.3.html">[email protected]</a>
Modified: websites/production/db/content/derby/releases/release-10.4.2.0.html
==============================================================================
--- websites/production/db/content/derby/releases/release-10.4.2.0.html
(original)
+++ websites/production/db/content/derby/releases/release-10.4.2.0.html Sat Oct
14 18:58:50 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.4.2.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
<input value="+a" class="biggerfont" title="Enlarge
text" onclick="ndeSetTextSize('incr'); return false;" type="button">
</div>
<h1>Apache Derby 10.4.2.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 from one of
our mirrors. 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.4.2.0/derby_ui_plugin_1.1.2.zip">derby_ui_plugin_1.1.2.zip</a>
[<a class="external"
href="http://archive.apache.org/dist/db/derby/db-derby-10.4.2.0/derby_ui_plugin_1.1.2.zip.asc">PGP</a>]
[<a class="external"
href="http://archive.apache.org/dist/db/derby/db-derby-10.4.2.0/derby_ui_plugin_1.1.2.zip.md5">MD5</a>]</p>
<p>Please note: both plugins must be installed for full functionality. For
information on installing and using the Derby plugins for Eclipse, please see
the <a href="http://db.apache.org/derby/integrate/plugin_howto.html">Using the
10 Core and 1.1 UI Derby plug-ins</a> page.</p>
</div>
-<a name="Release Notes for Derby 10.4.2.0"></a>
+<a name="N100BC"></a><a name="Release Notes for Derby 10.4.2.0"></a>
<h2 class="boxed">Release Notes for Derby 10.4.2.0</h2>
<div class="section">
<p>These notes describe the difference between Derby release 10.4.2.0 and the
preceding release 10.4.1.3.</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 maintenance release. 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.4.2.0. These issues
are not addressed in the preceding 10.4.1.3 release.</p>
<table class="ForrestTable" cellspacing="1" cellpadding="4" border="2">
@@ -792,7 +791,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="N102DA"></a><a name="Issues"></a>
<h3 class="boxed">Issues</h3>
<p>Compared with the previous release (10.4.1.3), Derby release 10.4.2.0
introduces the following new features and incompatibilities. These merit your
special attention.</p>
<ul>
@@ -806,46 +805,46 @@ document.write("Last Published: " + docu
</li>
</ul>
<hr>
-<a name="Note+for+DERBY-3701"></a>
+<a name="N102F1"></a><a name="Note+for+DERBY-3701"></a>
<h4>Note for DERBY-3701</h4>
-<a name="Summary+of+Change"></a>
+<a name="N102F7"></a><a name="Summary+of+Change"></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"></a>
+<a name="N102FD"></a><a
name="Symptoms+Seen+by+Applications+Affected+by+Change"></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"></a>
+<a name="N10306"></a><a name="Incompatibilities+with+Previous+Release"></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"></a>
+<a name="N1030C"></a><a name="Rationale+for+Change"></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"></a>
+<a name="N10312"></a><a name="Application+Changes+Required"></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-48"></a>
+<a name="N10319"></a><a name="Note+for+DERBY-48"></a>
<h4>Note for DERBY-48</h4>
-<a name="Summary+of+Change-N10316"></a>
+<a name="N1031F"></a><a name="Summary+of+Change-N1031F"></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-N10321"></a>
+<a name="N1032A"></a><a
name="Symptoms+Seen+by+Applications+Affected+by+Change-N1032A"></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-N10327"></a>
+<a name="N10330"></a><a
name="Incompatibilities+with+Previous+Release-N10330"></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 <default schema name> 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-N10331"></a>
+<a name="N1033A"></a><a name="Rationale+for+Change-N1033A"></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-N1033D"></a>
+<a name="N10346"></a><a name="Application+Changes+Required-N10346"></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="N1034C"></a><a name="Build+Environment"></a>
<h3 class="boxed">Build Environment</h3>
<p>Derby release 10.4.2.0 was built using the following environment:</p>
<ul>
@@ -867,7 +866,7 @@ document.write("Last Published: " + docu
<strong>JSR 169</strong> - J2ME libraries were supplied by
phoneme.dev.java.net (CDC, Foundation Profile, and Personal Basis Profile
meeting the 1.1.2 specifications). JSR169 libraries were supplied by
java.sun.com.</li>
</ul>
</div>
-<a name="Verifying+releases"></a>
+<a name="N10375"></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>
@@ -906,7 +905,7 @@ document.write("Last Published: " + docu
</div>
<div class="copyright">
Copyright ©
- 2004-2015 Apache, Apache DB, Apache Derby, Apache Torque, Apache JDO,
Apache DDLUtils, the Derby hat logo, the Apache JDO logo, and the Apache
feather logo are trademarks of The Apache Software Foundation. All other marks
mentioned may be trademarks or registered trademarks of their respective
owners.</div>
+ 2004-2017 Apache, Apache DB, Apache Derby, Apache Torque, Apache JDO,
Apache DDLUtils, the Derby hat logo, the Apache JDO logo, and the Apache
feather logo are trademarks of The Apache Software Foundation. All other marks
mentioned may be trademarks or registered trademarks of their respective
owners.</div>
<div id="feedback">
Send feedback about the website to:
<a id="feedbackto"
href="mailto:[email protected]?subject=Feedback%C2%A0releases/release-10.4.2.0.html">[email protected]</a>
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 Oct
14 18:58:50 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
<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 <default schema name> 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>
@@ -2260,7 +2259,7 @@ document.write("Last Published: " + docu
</div>
<div class="copyright">
Copyright ©
- 2004-2015 Apache, Apache DB, Apache Derby, Apache Torque, Apache JDO,
Apache DDLUtils, the Derby hat logo, the Apache JDO logo, and the Apache
feather logo are trademarks of The Apache Software Foundation. All other marks
mentioned may be trademarks or registered trademarks of their respective
owners.</div>
+ 2004-2017 Apache, Apache DB, Apache Derby, Apache Torque, Apache JDO,
Apache DDLUtils, the Derby hat logo, the Apache JDO logo, and the Apache
feather logo are trademarks of The Apache Software Foundation. All other marks
mentioned may be trademarks or registered trademarks of their respective
owners.</div>
<div id="feedback">
Send feedback about the website to:
<a id="feedbackto"
href="mailto:[email protected]?subject=Feedback%C2%A0releases/release-10.5.1.1.html">[email protected]</a>