You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@db.apache.org by rh...@apache.org on 2012/12/19 19:20:28 UTC
svn commit: r843115 [27/44] - in /websites/production/db/content/derby: ./
binaries/ blogs/ blogs/images/ dev/ docs/ images/ integrate/
integrate/plugin_help/ integrate/plugin_help/images/ logo/ manuals/ papers/
papers/DerbyTut/ releases/ skin/ skin/cs...
Added: websites/production/db/content/derby/papers/versionupgrade.html
==============================================================================
--- websites/production/db/content/derby/papers/versionupgrade.html (added)
+++ websites/production/db/content/derby/papers/versionupgrade.html Wed Dec 19 18:20:21 2012
@@ -0,0 +1,638 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<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-skin-name" content="pelt">
+<title>Derby Versioning Scheme</title>
+<link type="text/css" href="../skin/basic.css" rel="stylesheet">
+<link media="screen" type="text/css" href="../skin/screen.css" rel="stylesheet">
+<link media="print" type="text/css" href="../skin/print.css" rel="stylesheet">
+<link type="text/css" href="../skin/profile.css" rel="stylesheet">
+<script src="../skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="../skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="../skin/fontsize.js" language="javascript" type="text/javascript"></script>
+<link rel="shortcut icon" href="../">
+</head>
+<body onload="init()">
+<script type="text/javascript">ndeSetTextSize();</script>
+<div id="top">
+<!--+
+ |breadtrail
+ +-->
+<div class="breadtrail">
+<a href="http://www.apache.org/">apache</a> > <a href="http://db.apache.org/">db</a><script src="../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
+</div>
+<!--+
+ |header
+ +-->
+<div class="header">
+<!--+
+ |start group logo
+ +-->
+<div class="grouplogo">
+<a href="http://db.apache.org/derby"><img class="logoImage" alt="Apache Derby" src="../images/derby-logo-web.png" title="Derby is a zero-admin Java RDBMS"></a>
+</div>
+<!--+
+ |end group logo
+ +-->
+<!--+
+ |start Project Logo
+ +-->
+<div class="projectlogoA1">
+<a href="http://db.apache.org"><img class="logoImage" alt="Apache DB Project" src="../images/db-logo-white.png" title="Apache DB creates and maintains database solutions."></a>
+</div>
+<!--+
+ |end Project Logo
+ +-->
+<!--+
+ |start Tabs
+ +-->
+<ul id="tabs">
+<li>
+<a class="unselected" href="../index.html">Home</a>
+</li>
+<li>
+<a class="unselected" href="../quick_start.html">Quick Start</a>
+</li>
+<li>
+<a class="unselected" href="../derby_downloads.html">Download</a>
+</li>
+<li>
+<a class="unselected" href="../derby_comm.html">Community</a>
+</li>
+<li>
+<a class="unselected" href="../manuals/index.html">Documentation</a>
+</li>
+<li class="current">
+<a class="selected" href="../blogs/index.html">Resources</a>
+</li>
+</ul>
+<!--+
+ |end Tabs
+ +-->
+</div>
+</div>
+<div id="main">
+<div id="publishedStrip">
+<!--+
+ |start Subtabs
+ +-->
+<div id="level2tabs"></div>
+<!--+
+ |end Endtabs
+ +-->
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+// --></script>
+</div>
+<!--+
+ |breadtrail
+ +-->
+<div class="breadtrail">
+
+
+ </div>
+<!--+
+ |start Menu, mainarea
+ +-->
+<!--+
+ |start Menu
+ +-->
+<div id="menu">
+<div onclick="SwitchMenu('menu_1.1', '../skin/')" id="menu_1.1Title" class="menutitle">Blogs and Articles About Derby</div>
+<div id="menu_1.1" class="menuitemgroup">
+<div class="menuitem">
+<a href="../blogs/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../blogs/index.html#blogs">Blogs</a>
+</div>
+<div onclick="SwitchMenu('menu_1.1.3', '../skin/')" id="menu_1.1.3Title" class="menutitle">Articles</div>
+<div id="menu_1.1.3" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.1.3.1', '../skin/')" id="menu_1.1.3.1Title" class="menutitle">Tutorials, Tips and Tuning</div>
+<div id="menu_1.1.3.1" class="menuitemgroup">
+<div class="menuitem">
+<a href="../blogs/index.html#getstarted">Getting Started</a>
+</div>
+<div class="menuitem">
+<a href="../blogs/index.html#features">Features, Hints and Tips</a>
+</div>
+<div class="menuitem">
+<a href="../blogs/index.html#security">Security</a>
+</div>
+<div class="menuitem">
+<a href="../blogs/index.html#performance">Performance and Tuning</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.3.2', '../skin/')" id="menu_1.1.3.2Title" class="menutitle">Tools and Migration</div>
+<div id="menu_1.1.3.2" class="menuitemgroup">
+<div class="menuitem">
+<a href="../blogs/index.html#tools">Tools</a>
+</div>
+<div class="menuitem">
+<a href="../blogs/index.html#migration">Migration</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.3.3', '../skin/')" id="menu_1.1.3.3Title" class="menutitle">Applications</div>
+<div id="menu_1.1.3.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="../blogs/index.html#client">Client</a>
+</div>
+<div class="menuitem">
+<a href="../blogs/index.html#middletier">Middle Tier</a>
+</div>
+<div class="menuitem">
+<a href="../blogs/index.html#persistence">Persistence</a>
+</div>
+<div class="menuitem">
+<a href="../blogs/index.html#scalability">Scalability and Failover</a>
+</div>
+</div>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.2', '../skin/')" id="menu_1.2Title" class="menutitle">Integration With Other Products</div>
+<div id="menu_1.2" class="menuitemgroup">
+<div class="menuitem">
+<a href="../integrate/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../integrate/index.html#uses">What works with Derby?</a>
+</div>
+<div class="menuitem">
+<a href="../integrate/index.html#products">Product Writeups</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.3', '../skin/')" id="menu_1.3Title" class="menutitle">Eclipse Plug-ins</div>
+<div id="menu_1.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="../integrate/derby_plugin_info.html">Info</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_selected_1.4', '../skin/')" id="menu_selected_1.4Title" class="menutitle" style="background-image: url('../skin/images/chapter_open.gif');">Papers and Presentations</div>
+<div id="menu_selected_1.4" class="selectedmenuitemgroup" style="display: block;">
+<div class="menuitem">
+<a href="../papers/index.html">Overview</a>
+</div>
+<div onclick="SwitchMenu('menu_selected_1.4.2', '../skin/')" id="menu_selected_1.4.2Title" class="menutitle" style="background-image: url('../skin/images/chapter_open.gif');">Derby Engine</div>
+<div id="menu_selected_1.4.2" class="selectedmenuitemgroup" style="display: block;">
+<div onclick="SwitchMenu('menu_1.4.2.1', '../skin/')" id="menu_1.4.2.1Title" class="menutitle">Javadoc</div>
+<div id="menu_1.4.2.1" class="menuitemgroup">
+<div class="menuitem">
+<a href="http://db.apache.org/derby/javadoc/engine">Engine</a>
+</div>
+<div class="menuitem">
+<a href="http://db.apache.org/derby/javadoc/language">Language</a>
+</div>
+<div class="menuitem">
+<a href="http://db.apache.org/derby/javadoc/tools">Tools</a>
+</div>
+<div class="menuitem">
+<a href="http://db.apache.org/derby/javadoc/publishedapi">API</a>
+</div>
+</div>
+<div class="menuitem">
+<a href="../papers/derby_arch.html">Architecture</a>
+</div>
+<div class="menuitem">
+<a href="../papers/btree_package.html">BTree</a>
+</div>
+<div class="menuitem">
+<a href="../papers/pageformats.html">Disk Page Format</a>
+</div>
+<div class="menuitem">
+<a href="../papers/derby_htw.html">How Things Work</a>
+</div>
+<div class="menuitem">
+<a href="../papers/Intersect-design.html">Intersect & Except</a>
+</div>
+<div class="menuitem">
+<a href="../papers/JDBCImplementation.html">JDBC</a>
+</div>
+<div class="menuitem">
+<a href="../papers/logformats.html">Log Format</a>
+</div>
+<div class="menuitem">
+<a href="../papers/recovery.html">Logging & Recovery</a>
+</div>
+<div class="menuitem">
+<a href="../papers/optimizer.html">Optimizer</a>
+</div>
+<div class="menuitem">
+<a href="http://db.apache.org/derby/javadoc/engine/org/apache/derby/iapi/types/package-summary.html#package_description">Type System</a>
+</div>
+<div class="menupage">
+<div class="menupagetitle">Versioning</div>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.4.3', '../skin/')" id="menu_1.4.3Title" class="menutitle">Derby Network Client</div>
+<div id="menu_1.4.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="../papers/DerbyClientSpec.html">Functional Spec</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.4.4', '../skin/')" id="menu_1.4.4Title" class="menutitle">Derby Tutorial</div>
+<div id="menu_1.4.4" class="menuitemgroup">
+<div class="menuitem">
+<a href="../papers/DerbyTut/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../papers/DerbyTut/install_software.html">Step 1: Install Software</a>
+</div>
+<div class="menuitem">
+<a href="../papers/DerbyTut/ij_intro.html">Step 2: ij Basics</a>
+</div>
+<div class="menuitem">
+<a href="../papers/DerbyTut/embedded_intro.html">Step 3: Embedded Derby</a>
+</div>
+<div class="menuitem">
+<a href="../papers/DerbyTut/ns_intro.html">Step 4: Derby Network Server</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.4.5', '../skin/')" id="menu_1.4.5Title" class="menutitle">Presentations</div>
+<div id="menu_1.4.5" class="menuitemgroup">
+<div class="menuitem">
+<a href="../papers/ApacheCon.html">ApacheCon</a>
+</div>
+<div class="menuitem">
+<a href="../papers/MiscPresentations.html#Victorian+Java+User+Group">Victorian JUG 2008</a>
+</div>
+<div class="menuitem">
+<a href="../papers/MiscPresentations.html#OSCON+2005">OSCON 2005</a>
+</div>
+<div class="menuitem">
+<a href="../papers/MiscPresentations.html#Colorado+Software+Summit+2004">Colorado 2004</a>
+</div>
+</div>
+</div>
+<!--+
+ |start Search
+ +-->
+<div class="searchbox">
+<hr>
+<form action="http://www.google.com/search" method="get">
+<input value="db.apache.org" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with google');" size="18" name="q" id="query" type="text" value="Search the site with google">
+ <input name="Search" value="Search" type="submit">
+</form>
+</div>
+<!--+
+ |end search
+ +-->
+<div id="credit"></div>
+<div id="roundbottom">
+<img style="display: none" class="corner" height="15" width="15" alt="" src="../skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
+<!--+
+ |alternative credits
+ +-->
+<div id="credit2"></div>
+</div>
+<!--+
+ |end Menu
+ +-->
+<!--+
+ |start content
+ +-->
+<div id="content">
+<div class="trail">Font size:
+ <input value="Reset" class="resetfont" title="Reset text" onclick="ndeSetTextSize('reset'); return false;" type="button">
+ <input value="-a" class="smallerfont" title="Shrink text" onclick="ndeSetTextSize('decr'); return false;" type="button">
+ <input value="+a" class="biggerfont" title="Enlarge text" onclick="ndeSetTextSize('incr'); return false;" type="button">
+</div>
+<h1>Derby Versioning Scheme</h1>
+<div class="abstract">This document describes the Derby Versioning Scheme. This is a
+ work-in-progress derived from Javadoc comments and from explanations Dan
+ Debrunner and others posted to the Derby lists. Please post questions,
+ comments, and corrections to derby-dev@db.apache.org. </div>
+<div id="minitoc-area">
+<ul class="minitoc">
+<li>
+<a href="#Basic+Numbering+Scheme">Basic Numbering Scheme</a>
+</li>
+<li>
+<a href="#Sysinfo+and+how+it+reports+versions">Sysinfo and how it reports versions</a>
+</li>
+<li>
+<a href="#Version+Upgrade+Mechanism">Version Upgrade Mechanism</a>
+</li>
+<li>
+<a href="#Upgrading+System+Catalogs">Upgrading System Catalogs</a>
+</li>
+</ul>
+</div>
+
+<a name="N10010"></a><a name="Basic+Numbering+Scheme"></a>
+<h2 class="boxed">Basic Numbering Scheme</h2>
+<div class="section">
+<div class="note">
+<div class="label">Note</div>
+<div class="content">This is an overview of how the version scheme is set up in the Derby
+ code and was intended to work for Cloudscape. It was described by Dan
+ Debrunner on 26 Aug 2004.</div>
+</div>
+<p> Externally the Derby code uses a four part version number </p>
+<p> Major.minor.fixpack.point or M.m.f.p </p>
+<p> The initial version (as in the code drop from IBM) is set to 10.0.2.0
+ </p>
+<p> Major.minor is a typical major and minor release numbering scheme
+ and maps to the version scheme expected by JDBC (major and minor version
+ numbers for Driver and Database). A change in these numbers indicated
+ new functionality in Cloudscape, typically that which modified the on-disk
+ format in some way that would not be understood by an older release,
+ e.g. support of a new SQL catalog item such as triggers. For Cloudscape
+ each M.m version had its own (and only one) branch in the Perforce SCM
+ system. </p>
+<p> The point (p) value was increased every time a "point release" of
+ Cloudscape was made, which were releases with a bug fix or fixes for
+ customers. The point releases were always cumulative, that is 10.0.2.7
+ would include the fixes of 10.0.2.6 as well as the new bug fix(es).
+ Point releases did not contain changes that changed the on-disk format
+ of databases. Testing on point releases was restricted to nightly functional
+ testing as a point release was usually in response to a customer issue,
+ sothe fix had to be released within a few days of the report. As a "closed-source"
+ project IBM could control releases so that the point number was only
+ bumped when the software was actually released to a customer, regardless
+ of the number fixes between releases. </p>
+<p> Fixpack was intended to indicate a release of a given Major.minor
+ that had undergone more testing than a point release, e.g. a multi-week
+ quality assurance (QA) testing cycle. A fix pack release would include
+ all the fixes of the previous point release, e.g. 10.0.5.0 would include
+ all the fixes from 10.0.4.12 if that was the most recent point release
+ for 10.0. </p>
+<p> Fixpack (f) of 0 (zero) is a special value that indicates alpha quality
+ software and causes version string to be appended with the word "alpha".
+ </p>
+<p> Additionally a boolean beta flag exists, which when true causes the
+ version string to be appended with the word "beta" to indicate beta
+ quality software. The initial code drop has the beta flag as false.
+ </p>
+<p> A build number can also be set which corresponded to the Perforce
+ (SCM) global change number for Cloudscape. </p>
+<p> The single branch model for a M.m used by Cloudscape meant that customers
+ never received special one-off releases. A customer that needed a new
+ release for a newly discovered bug always received a point release with
+ all the bugs fixed for that branch and the new bug fix. E.g. a customer
+ that was using 10.0.2.3 and found a new bug, might receive a point release
+ that was 10.0.5.2, thus included all the fixes in the 10.0 branch and
+ had undergone 3 additional QA testing cycles. </p>
+</div>
+
+<a name="N10038"></a><a name="Sysinfo+and+how+it+reports+versions"></a>
+<h2 class="boxed">Sysinfo and how it reports versions</h2>
+<div class="section">
+<p> This version value is reported by the sysinfo utility, in some messages
+ and in the java.sql.DatabaseMetaData methods as follows </p>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+
+<tr>
+
+<th colspan="1" rowspan="1">Method</th>
+ <th colspan="1" rowspan="1">Return value</th>
+
+</tr>
+
+<tr>
+
+<td colspan="1" rowspan="1"> String getDatabaseProductVersion()<br> String getDriverVersion()
+ </td>
+ <td colspan="1" rowspan="1"> both return M.m.f.p [ {alpha|beta} ] </td>
+
+</tr>
+
+<tr>
+
+<td colspan="1" rowspan="1"> int getDatabaseMajorVersion()<br> int getDriverMajorVersion()
+ </td>
+ <td colspan="1" rowspan="1"> both return M </td>
+
+</tr>
+
+<tr>
+
+<td colspan="1" rowspan="1"> int getDatabaseMajorVersion()<br> int getDriverMajorVersion()
+ </td>
+ <td colspan="1" rowspan="1"> both return M </td>
+
+</tr>
+
+<tr>
+
+<td colspan="1" rowspan="1"> int getDatabaseMinorVersion()<br> int getDriverMinorVersion()
+ </td>
+ <td colspan="1" rowspan="1"> both return m </td>
+
+</tr>
+
+</table>
+</div>
+
+<a name="N1008E"></a><a name="Version+Upgrade+Mechanism"></a>
+<h2 class="boxed">Version Upgrade Mechanism</h2>
+<div class="section">
+<div class="note">
+<div class="label">Note</div>
+<div class="content"> This is a description of how the mechanics of the code is set up
+ to handle upgrade and how it was intended to work for Cloudscape. </div>
+</div>
+<p> The database engine has a version EM.Em.Ef.Ep. </p>
+<p> An on disk database has a persistent current version that corresponds
+ to the engine that created it, or last upgraded it, DM.Dm.Df.Dp. </p>
+<p> The general rules for Cloudscape were (and are in the Derby code)
+ </p>
+<p> For a on-disk database at version DM.Dm.Df.Dp </p>
+<ol>
+
+<li> Any engine with EM == DM and Em == Dm can be used. </li>
+
+<li> Any engine with EM.Em < DM.Dm will not boot the database. </li>
+
+<li> Any engine with EM.Em > DM.Dm will boot the database in soft
+ upgrade mode. </li>
+
+<li> Any engine with EM.Em > DM.DM can boot and upgrade the database
+ to its own version (EM.Em.Ef.Ep). </li>
+
+<li> Exception that any database created by an alpha or beta engine
+ can not be upgraded or run in soft upgrade mode. </li>
+
+<li> Exception that any alpha or beta engine may not run in soft upgrade
+ mode or perform an upgrade. </li>
+
+<li> Requirement that EM <= 10 and DM >= 10. </li>
+
+</ol>
+<p> Soft upgrade is a mode where a newer engine can run against an older
+ database successfully, but does not support any of the engine's new
+ features that would not be understood by an engine at the database's
+ version of DM.Dm. An exception is thrown if such a feature is used.
+ The idea here is to allow a single version of the engine in a JVM be
+ upgraded without requiring all databases be upgraded. Soft upgrade may
+ make changes to the on-disk database that can be safely consumed by
+ older releases, e.g. fix incorrect system catalog entries. </p>
+<p> Upgrade is enabled by the boot connection to the database using the
+ upgrade=true attribute. This modifies the on-disk form of the database
+ by making any required changes, such as adding a new system catalog
+ to support some new SQL feature. Once a database is upgraded, it cannot
+ be downgraded. </p>
+<p> Example (all version numbers are made up, only the inital code at
+ 10.0.2.0 exists at the moment) </p>
+<p> Database SALESDB created by 10.0.2.4 engine. </p>
+<p> Any 10.0.x.y engine can now run successfully against SALESDB, e.g.
+ application can use 10.0.2.8, 10.0.4.23, revert to 10.0.2.0 with no
+ issues. </p>
+<p> A future 10.2.0.0 (alpha) release would not boot SALESDB as it is
+ an alpha release. </p>
+<p> A future 10.2.1.3 (beta) release would not boot SALESDB as it is an
+ beta release. </p>
+<p> A future 10.2.2.3 release would boot SALESDB in soft upgrade mode.
+ If say 10.2.2.3 had added GRANT/REVOKE, then any attempt to use those
+ SQL statements would result in an exception indicating the database
+ must be upgraded to 10.2. Also any new features added in 10.1 would
+ throw an exception indicating the database must be upgraded to 10.1.
+ </p>
+<p> Connecting to SALESDB with 10.2.2.3 with the attribute upgrade=true
+ would upgrade the database to 10.2.2.3. Subsquently any attempt to boot
+ SALESDB with 10.0.x.y or 10.1.x.y would fail. </p>
+</div>
+
+<a name="N100D7"></a><a name="Upgrading+System+Catalogs"></a>
+<h2 class="boxed">Upgrading System Catalogs</h2>
+<div class="section">
+<div class="note">
+<div class="label">Note</div>
+<div class="content">This was described by Dan Debrunner on 16 March 2005</div>
+</div>
+<p> Here is some more on the mechanics of the upgrade for the system catalogs.
+ I will add this into code comments in the relevant classes. I working
+ on a submission that adds more comments into this area and sets the
+ system catalog version number correctly for 10.1. This will then allow
+ people to code the upgrade mechanics for new features. </p>
+<p> System catalog upgrade issues - there are various kinds of changes
+ that affect the system catalogs with a new release. A release may not
+ contain all of these types, but will typically include at least one.
+ </p>
+<ol>
+
+<li> Change structure of system tables, examples are:
+ <ul>
+
+<li> add new system table</li>
+
+<li> add new column to existing system table</li>
+
+<li> add index to existing system table</li>
+
+</ul>
+
+</li>
+
+<li> Modify contents of system table(s), examples are
+ <ul>
+
+<li> fix incorect information, e.g. inccorrect nullability of column
+ </li>
+
+<li> Change a value for a set of rows to support new functionality
+ (rare, usually the code uses the old values) </li>
+
+</ul>
+
+</li>
+
+<li> New version of engine will write information that will not be understood
+ by a previous release, e.g.
+ <ul>
+
+<li> new table type value in systables </li>
+
+<li> new alias descriptor in sysaliases </li>
+
+</ul>
+
+</li>
+
+</ol>
+<p> When running in soft upgrade mode the upgrade code (in DD_Version)
+ needs to: </p>
+<ol>
+
+<li> Check the current soft upgrade level (property derby.softDataDictionaryVersion)
+ and determine which "safe changes" can be made. </li>
+
+<li> Apply "safe changes" from category 2) in a single transaction.
+ An example would be fixing incorrect information. </li>
+
+<li> Set derby.softDataDictionaryVersion to represent the current engine
+ version to indicate the changes in 2. have been applied. Otherwise
+ in soft upgrade no other changes are made to the system catalogs </li>
+
+</ol>
+<p> In full upgrade mode, initial database connection with upgrade=true
+ these steps are made: </p>
+<ol>
+
+<li> Check the current hard upgrade level (property DataDictionaryVersion)
+ and determine which changes are required. </li>
+
+<li> Make any changes from categories 1) and 2) in a single transaction.
+ </li>
+
+<li> Set DataDictionaryVersion to represent the current engine version
+ thus indicating the upgrade on the system catalogs has been completed.
+ Thus new features can execute code that would result in changes in
+ category 3 </li>
+
+</ol>
+<p> Code that will make changes in category 3) or requires other changes
+ made by hard upgrade is required to check the version of the system
+ catalogs using the DataDictionary.checkVersion method, or the corresponding
+ utility method in the parser. This check will throw an exception if
+ the system catalog has not been hard upgraded to the current level.
+ </p>
+<p> As examples, with the current development going on for Derby I know
+ of these items that require upgrade thought: </p>
+<ul>
+
+<li> Java signatures in method definitions, writes information into
+ the system catalog in its current structure, but the signature would
+ not be understood by 10.0. Would need to perform a checkVersion(10.1)
+ if a signature is present. (10.1 is not the actual constant, just
+ to give an idea). </li>
+
+<li> Log record checksum to detect out of order writes. If in soft upgrade
+ mode, need to ensure checksum records are not written. Though this
+ is a store upgrade issue, not a system catalog one. </li>
+
+<li> Synonym support, like java signatures, most likely would be implemented
+ by new information in system catalogs that would not be understood
+ by 10.0, thus a checkVersion(10.1) would be required. </li>
+
+</ul>
+</div>
+
+</div>
+<!--+
+ |end content
+ +-->
+<div class="clearboth"> </div>
+</div>
+<div id="footer">
+<!--+
+ |start bottomstrip
+ +-->
+<div class="lastmodified">
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+// --></script>
+</div>
+<div class="copyright">
+ Copyright ©
+ 2004-2012 Apache Software Foundation</div>
+<div id="feedback">
+ Send feedback about the website to:
+ <a id="feedbackto" href="mailto:derby-user@db.apache.org?subject=Feedback%C2%A0papers/versionupgrade.html">derby-user@db.apache.org</a>
+</div>
+<!--+
+ |end bottomstrip
+ +-->
+</div>
+</body>
+</html>
Added: websites/production/db/content/derby/quick_start.html
==============================================================================
--- websites/production/db/content/derby/quick_start.html (added)
+++ websites/production/db/content/derby/quick_start.html Wed Dec 19 18:20:21 2012
@@ -0,0 +1,381 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<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-skin-name" content="pelt">
+<title>Apache Derby: Quick Start</title>
+<link type="text/css" href="skin/basic.css" rel="stylesheet">
+<link media="screen" type="text/css" href="skin/screen.css" rel="stylesheet">
+<link media="print" type="text/css" href="skin/print.css" rel="stylesheet">
+<link type="text/css" href="skin/profile.css" rel="stylesheet">
+<script src="skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="skin/fontsize.js" language="javascript" type="text/javascript"></script>
+<link rel="shortcut icon" href="">
+</head>
+<body onload="init()">
+<script type="text/javascript">ndeSetTextSize();</script>
+<div id="top">
+<!--+
+ |breadtrail
+ +-->
+<div class="breadtrail">
+<a href="http://www.apache.org/">apache</a> > <a href="http://db.apache.org/">db</a><script src="skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
+</div>
+<!--+
+ |header
+ +-->
+<div class="header">
+<!--+
+ |start group logo
+ +-->
+<div class="grouplogo">
+<a href="http://db.apache.org/derby"><img class="logoImage" alt="Apache Derby" src="images/derby-logo-web.png" title="Derby is a zero-admin Java RDBMS"></a>
+</div>
+<!--+
+ |end group logo
+ +-->
+<!--+
+ |start Project Logo
+ +-->
+<div class="projectlogoA1">
+<a href="http://db.apache.org"><img class="logoImage" alt="Apache DB Project" src="images/db-logo-white.png" title="Apache DB creates and maintains database solutions."></a>
+</div>
+<!--+
+ |end Project Logo
+ +-->
+<!--+
+ |start Tabs
+ +-->
+<ul id="tabs">
+<li>
+<a class="unselected" href="index.html">Home</a>
+</li>
+<li class="current">
+<a class="selected" href="quick_start.html">Quick Start</a>
+</li>
+<li>
+<a class="unselected" href="derby_downloads.html">Download</a>
+</li>
+<li>
+<a class="unselected" href="derby_comm.html">Community</a>
+</li>
+<li>
+<a class="unselected" href="manuals/index.html">Documentation</a>
+</li>
+<li>
+<a class="unselected" href="blogs/index.html">Resources</a>
+</li>
+</ul>
+<!--+
+ |end Tabs
+ +-->
+</div>
+</div>
+<div id="main">
+<div id="publishedStrip">
+<!--+
+ |start Subtabs
+ +-->
+<div id="level2tabs"></div>
+<!--+
+ |end Endtabs
+ +-->
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+// --></script>
+</div>
+<!--+
+ |breadtrail
+ +-->
+<div class="breadtrail">
+
+
+ </div>
+<!--+
+ |start Menu, mainarea
+ +-->
+<!--+
+ |start Menu
+ +-->
+<div id="menu">
+<div onclick="SwitchMenu('menu_selected_1.1', 'skin/')" id="menu_selected_1.1Title" class="menutitle" style="background-image: url('skin/images/chapter_open.gif');">Quick Start</div>
+<div id="menu_selected_1.1" class="selectedmenuitemgroup" style="display: block;">
+<div class="menupage">
+<div class="menupagetitle">Quick Start</div>
+</div>
+</div>
+<!--+
+ |start Search
+ +-->
+<div class="searchbox">
+<hr>
+<form action="http://www.google.com/search" method="get">
+<input value="db.apache.org" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with google');" size="18" name="q" id="query" type="text" value="Search the site with google">
+ <input name="Search" value="Search" type="submit">
+</form>
+</div>
+<!--+
+ |end search
+ +-->
+<div id="credit"></div>
+<div id="roundbottom">
+<img style="display: none" class="corner" height="15" width="15" alt="" src="skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
+<!--+
+ |alternative credits
+ +-->
+<div id="credit2"></div>
+</div>
+<!--+
+ |end Menu
+ +-->
+<!--+
+ |start content
+ +-->
+<div id="content">
+<div class="trail">Font size:
+ <input value="Reset" class="resetfont" title="Reset text" onclick="ndeSetTextSize('reset'); return false;" type="button">
+ <input value="-a" class="smallerfont" title="Shrink text" onclick="ndeSetTextSize('decr'); return false;" type="button">
+ <input value="+a" class="biggerfont" title="Enlarge text" onclick="ndeSetTextSize('incr'); return false;" type="button">
+</div>
+<h1>Apache Derby: Quick Start</h1>
+<div id="minitoc-area">
+<ul class="minitoc">
+<li>
+<a href="#The+Basics">The Basics</a>
+</li>
+<li>
+<a href="#Next+Steps+for+Users">Next Steps for Users</a>
+</li>
+<li>
+<a href="#Next+Steps+for+Developers">Next Steps for Developers</a>
+</li>
+</ul>
+</div>
+
+
+<a name="N1000D"></a><a name="The+Basics"></a>
+<h2 class="boxed">The Basics</h2>
+<div class="section">
+<p>
+Welcome to Apache Derby!
+The resources listed below are intended for anyone new to Derby:
+</p>
+<ul>
+
+<li>
+<a href="derby_downloads.html">Download Derby!</a>
+</li>
+
+<li> The <a href="http://db.apache.org/derby/docs/dev/getstart/">Getting
+ Started</a> guide introduces Derby.
+ </li>
+
+<li> The online <a href="papers/DerbyTut/index.html">Apache Derby
+ Tutorial</a> provides a quick hands-on overview,
+ and the
+ <a class="external" href="http://wiki.apache.org/db-derby/WorkingWithDerby#Tutorials">WorkingWithDerby
+ Wiki page</a> links to even more tutorials.
+ </li>
+
+<li> The <a href="faq.html">FAQs</a> page provides answers to common
+ questions.
+ </li>
+
+<li> The <a href="derby_mail.html">Derby Users mailing list</a>
+ responds to questions on how to use Derby.
+ </li>
+
+</ul>
+</div>
+
+
+<a name="N10040"></a><a name="Next+Steps+for+Users"></a>
+<h2 class="boxed">Next Steps for Users</h2>
+<div class="section">
+<p>
+Once you understand Derby basics, you'll be ready for more.
+Below is a list of resources that explain in greater detail how to use Derby:
+</p>
+<ul>
+
+<li>
+<a class="external" href="http://wiki.apache.org/db-derby/WorkingWithDerby#Examples">Examples</a>
+</li>
+
+<li>
+<a class="external" href="http://wiki.apache.org/db-derby/WorkingWithDerby#Demos">Demos</a>
+</li>
+
+
+<li>
+<a href="integrate/index.html">How to use Derby with other products</a>
+
+
+<ul>
+
+<li>
+<strong>Database Tools</strong>
+
+<ul>
+
+<li>
+<a href="integrate/db_ddlutils.html">DdlUtils</a>
+</li>
+
+</ul>
+
+</li>
+
+
+<li>
+<strong>IDEs</strong>
+
+<ul>
+
+<li>
+<a href="integrate/derby_plugin_info.html">Eclipse</a>
+</li>
+
+<li>
+<a class="external" href="http://www.thecoadletter.com/article/0,1410,33327,00.html">JBuilder</a>
+</li>
+
+<li>
+<a class="external" href="http://www.netbeans.org/kb/55/derby-demo.html">NetBeans</a>
+</li>
+
+</ul>
+
+</li>
+
+
+<li>
+<strong>Data and Object/Relational Mappers</strong>
+
+<ul>
+
+<li>
+<a href="integrate/JPetStoreGeronimo.html">iBATIS</a>
+</li>
+
+<li>
+<a href="integrate/JPOX_Derby.html">JPOX JDO</a>
+</li>
+
+<li>
+<a href="integrate/db_torque.html">Torque</a>
+</li>
+
+</ul>
+
+</li>
+
+
+<li>
+<strong>Web Applications</strong>
+
+<ul>
+
+<li>
+<a href="integrate/JPetStoreGeronimo.html">Geronimo</a>
+</li>
+
+<li>
+<a href="papers/fortune_tut.html">Tomcat 5.0</a>
+</li>
+
+<li>
+<a href="integrate/DerbyTomcat5512JPetStor.html">Tomcat 5.5</a>
+</li>
+
+<li>
+<a href="integrate/JPetStoreWebSphere.html">WebSphere</a>
+</li>
+
+</ul>
+
+</li>
+
+</ul>
+
+</li>
+
+</ul>
+<p>
+The <a class="external" href="http://wiki.apache.org/db-derby/UsesOfDerby">Derby Wiki</a>
+lists more products that work with Derby.
+As you learn more about Derby, feel free to contribute your own tips to the
+<a class="external" href="http://wiki.apache.org/db-derby/UsesOfDerby">Wiki</a>.
+</p>
+</div>
+
+
+<a name="N100CB"></a><a name="Next+Steps+for+Developers"></a>
+<h2 class="boxed">Next Steps for Developers</h2>
+<div class="section">
+<p>
+The resources listed below are intended for developers who would like
+to contribute to the Derby project:
+</p>
+<ul>
+
+<li> The <a href="papers/index.html#Derby+Engine">Derby Engine</a>
+ papers provide internal details about Derby.
+ </li>
+
+<li>The <a href="derby_comm.html">Apache Derby: Get Involved!</a>
+ page includes tips for
+ <a href="derby_comm.html#Contribute+Code+or+Documentation">contributing
+ code and documentation</a>.
+ </li>
+
+<li> The
+ <a class="external" href="http://wiki.apache.org/db-derby/ForNewDevelopers">ForNewDevelopers</a>
+ Derby Wiki page provides guidance for new developers and suggests
+ starting points.
+ </li>
+
+<li> The <a href="derby_mail.html">Derby Developers mailing list</a>
+ hosts development discussions and responds to development questions.
+ </li>
+
+</ul>
+</div>
+
+
+<p>
+
+<em>Last updated: 4-May-2006</em>
+
+</p>
+
+
+</div>
+<!--+
+ |end content
+ +-->
+<div class="clearboth"> </div>
+</div>
+<div id="footer">
+<!--+
+ |start bottomstrip
+ +-->
+<div class="lastmodified">
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+// --></script>
+</div>
+<div class="copyright">
+ Copyright ©
+ 2004-2012 Apache Software Foundation</div>
+<div id="feedback">
+ Send feedback about the website to:
+ <a id="feedbackto" href="mailto:derby-user@db.apache.org?subject=Feedback%C2%A0quick_start.html">derby-user@db.apache.org</a>
+</div>
+<!--+
+ |end bottomstrip
+ +-->
+</div>
+</body>
+</html>
Added: websites/production/db/content/derby/releases/release-10.0.2.1.html
==============================================================================
--- websites/production/db/content/derby/releases/release-10.0.2.1.html (added)
+++ websites/production/db/content/derby/releases/release-10.0.2.1.html Wed Dec 19 18:20:21 2012
@@ -0,0 +1,668 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<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-skin-name" content="pelt">
+<title>Apache Derby 10.0.2.1 Incubator Release</title>
+<link type="text/css" href="../skin/basic.css" rel="stylesheet">
+<link media="screen" type="text/css" href="../skin/screen.css" rel="stylesheet">
+<link media="print" type="text/css" href="../skin/print.css" rel="stylesheet">
+<link type="text/css" href="../skin/profile.css" rel="stylesheet">
+<script src="../skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="../skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="../skin/fontsize.js" language="javascript" type="text/javascript"></script>
+<link rel="shortcut icon" href="../">
+</head>
+<body onload="init()">
+<script type="text/javascript">ndeSetTextSize();</script>
+<div id="top">
+<!--+
+ |breadtrail
+ +-->
+<div class="breadtrail">
+<a href="http://www.apache.org/">apache</a> > <a href="http://db.apache.org/">db</a><script src="../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
+</div>
+<!--+
+ |header
+ +-->
+<div class="header">
+<!--+
+ |start group logo
+ +-->
+<div class="grouplogo">
+<a href="http://db.apache.org/derby"><img class="logoImage" alt="Apache Derby" src="../images/derby-logo-web.png" title="Derby is a zero-admin Java RDBMS"></a>
+</div>
+<!--+
+ |end group logo
+ +-->
+<!--+
+ |start Project Logo
+ +-->
+<div class="projectlogoA1">
+<a href="http://db.apache.org"><img class="logoImage" alt="Apache DB Project" src="../images/db-logo-white.png" title="Apache DB creates and maintains database solutions."></a>
+</div>
+<!--+
+ |end Project Logo
+ +-->
+<!--+
+ |start Tabs
+ +-->
+<ul id="tabs">
+<li>
+<a class="unselected" href="../index.html">Home</a>
+</li>
+<li>
+<a class="unselected" href="../quick_start.html">Quick Start</a>
+</li>
+<li class="current">
+<a class="selected" href="../derby_downloads.html">Download</a>
+</li>
+<li>
+<a class="unselected" href="../derby_comm.html">Community</a>
+</li>
+<li>
+<a class="unselected" href="../manuals/index.html">Documentation</a>
+</li>
+<li>
+<a class="unselected" href="../blogs/index.html">Resources</a>
+</li>
+</ul>
+<!--+
+ |end Tabs
+ +-->
+</div>
+</div>
+<div id="main">
+<div id="publishedStrip">
+<!--+
+ |start Subtabs
+ +-->
+<div id="level2tabs"></div>
+<!--+
+ |end Endtabs
+ +-->
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+// --></script>
+</div>
+<!--+
+ |breadtrail
+ +-->
+<div class="breadtrail">
+
+
+ </div>
+<!--+
+ |start Menu, mainarea
+ +-->
+<!--+
+ |start Menu
+ +-->
+<div id="menu">
+<div onclick="SwitchMenu('menu_1.1', '../skin/')" id="menu_1.1Title" class="menutitle">Download</div>
+<div id="menu_1.1" class="menuitemgroup">
+<div class="menuitem">
+<a href="../derby_downloads.html">Overview</a>
+</div>
+</div>
+<!--+
+ |start Search
+ +-->
+<div class="searchbox">
+<hr>
+<form action="http://www.google.com/search" method="get">
+<input value="db.apache.org" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with google');" size="18" name="q" id="query" type="text" value="Search the site with google">
+ <input name="Search" value="Search" type="submit">
+</form>
+</div>
+<!--+
+ |end search
+ +-->
+<div id="credit"></div>
+<div id="roundbottom">
+<img style="display: none" class="corner" height="15" width="15" alt="" src="../skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
+<!--+
+ |alternative credits
+ +-->
+<div id="credit2"></div>
+</div>
+<!--+
+ |end Menu
+ +-->
+<!--+
+ |start content
+ +-->
+<div id="content">
+<div class="trail">Font size:
+ <input value="Reset" class="resetfont" title="Reset text" onclick="ndeSetTextSize('reset'); return false;" type="button">
+ <input value="-a" class="smallerfont" title="Shrink text" onclick="ndeSetTextSize('decr'); return false;" type="button">
+ <input value="+a" class="biggerfont" title="Enlarge text" onclick="ndeSetTextSize('incr'); return false;" type="button">
+</div>
+<h1>Apache Derby 10.0.2.1 Incubator Release</h1>
+<div id="minitoc-area">
+<ul class="minitoc">
+<li>
+<a href="#Distributions">Distributions</a>
+</li>
+<li>
+<a href="#Release+Overview">Release Overview</a>
+</li>
+<li>
+<a href="#Release+Notes">Release Notes</a>
+</li>
+<li>
+<a href="#Testing">Testing</a>
+</li>
+</ul>
+</div>
+
+<a name="N1000D"></a><a name="Distributions"></a>
+<h2 class="boxed">Distributions</h2>
+<div class="section">
+<p>There are three different distributions:</p>
+<ul>
+
+<li>bin distribution - contains the documentation, javadoc, and jar files for Derby.</li>
+
+<li>lib distribution - contains only the jar files for Derby.</li>
+
+<li>src distribution - contains the Derby source tree at the point which the binaries were built.</li>
+
+</ul>
+<p>
+<a class="external" href="http://cvs.apache.org/dist/incubator/derby/10.0.2.1/incubating-derby-10.0.2.1-bin.zip">incubating-derby-10.0.2.1-bin.zip</a> [<a class="external" href="http://cvs.apache.org/dist/incubator/derby/10.0.2.1/incubating-derby-10.0.2.1-bin.zip.asc">PGP</a>] [<a class="external" href="http://cvs.apache.org/dist/incubator/derby/10.0.2.1/incubating-derby-10.0.2.1-bin.zip.md5">MD5</a>]<br>
+
+<a class="external" href="http://cvs.apache.org/dist/incubator/derby/10.0.2.1/incubating-derby-10.0.2.1-bin.tar.gz">incubating-derby-10.0.2.1-bin.tar.gz</a> [<a class="external" href="http://cvs.apache.org/dist/incubator/derby/10.0.2.1/incubating-derby-10.0.2.1-bin.tar.gz.asc">PGP</a>] [<a class="external" href="http://cvs.apache.org/dist/incubator/derby/10.0.2.1/incubating-derby-10.0.2.1-bin.tar.gz.md5">MD5</a>]</p>
+<p></p>
+<p>
+<a class="external" href="http://cvs.apache.org/dist/incubator/derby/10.0.2.1/incubating-derby-10.0.2.1-lib.zip">incubating-derby-10.0.2.1-lib.zip</a> [<a class="external" href="http://cvs.apache.org/dist/incubator/derby/10.0.2.1/incubating-derby-10.0.2.1-lib.zip.asc">PGP</a>] [<a class="external" href="http://cvs.apache.org/dist/incubator/derby/10.0.2.1/incubating-derby-10.0.2.1-lib.zip.md5">MD5</a>]<br>
+
+<a class="external" href="http://cvs.apache.org/dist/incubator/derby/10.0.2.1/incubating-derby-10.0.2.1-lib.tar.gz">incubating-derby-10.0.2.1-lib.tar.gz</a> [<a class="external" href="http://cvs.apache.org/dist/incubator/derby/10.0.2.1/incubating-derby-10.0.2.1-lib.tar.gz.asc">PGP</a>] [<a class="external" href="http://cvs.apache.org/dist/incubator/derby/10.0.2.1/incubating-derby-10.0.2.1-lib.tar.gz.md5">MD5</a>]</p>
+<p></p>
+<p>
+<a class="external" href="http://cvs.apache.org/dist/incubator/derby/10.0.2.1/incubating-derby-10.0.2.1-src.zip">incubating-derby-10.0.2.1-src.zip</a> [<a class="external" href="http://cvs.apache.org/dist/incubator/derby/10.0.2.1/incubating-derby-10.0.2.1-src.zip.asc">PGP</a>] [<a class="external" href="http://cvs.apache.org/dist/incubator/derby/10.0.2.1/incubating-derby-10.0.2.1-src.zip.md5">MD5</a>]<br>
+
+<a class="external" href="http://cvs.apache.org/dist/incubator/derby/10.0.2.1/incubating-derby-10.0.2.1-src.tar.gz">incubating-derby-10.0.2.1-src.tar.gz</a> [<a class="external" href="http://cvs.apache.org/dist/incubator/derby/10.0.2.1/incubating-derby-10.0.2.1-src.tar.gz.asc">PGP</a>] [<a class="external" href="http://cvs.apache.org/dist/incubator/derby/10.0.2.1/incubating-derby-10.0.2.1-src.tar.gz.md5">MD5</a>]</p>
+</div>
+
+
+<a name="N1007C"></a><a name="Release+Overview"></a>
+<h2 class="boxed">Release Overview</h2>
+<div class="section">
+<p>Derby is a pure Java relational database engine using standard SQL and
+ JDBC as its APIs.</p>
+<p>10.0.2.1 functionality includes:</p>
+<ul>
+
+<li>Embedded engine with JDBC driver</li>
+
+<li>Network Server</li>
+
+<li>Command line tools ij (SQL scripting), dblook (schema dump) and sysinfo (system info)</li>
+
+</ul>
+<p>SQL support:</p>
+<ul>
+
+<li>Schemas, tables, tempoaray tables, views, triggers, indexes, savepoints</li>
+
+<li>Java procedures and functions</li>
+
+<li>Standard datatypes including BLOB and CLOB</li>
+
+<li>Sub-queries and joins</li>
+
+<li>Primary key, foreign key, unique and check constraints</li>
+
+<li>Referential actions</li>
+
+</ul>
+<p>Other features:</p>
+<ul>
+
+<li>Full ACID transaction support with all four isolation levels</li>
+
+<li>Row and table level locking</li>
+
+<li>Configurable authentication including LDAP support</li>
+
+<li>Import/Export</li>
+
+<li>On-line backup and recovery support</li>
+
+<li>Optional on-disk encryption</li>
+
+<li>Platform independent database format</li>
+
+<li>Full support for Java 2 Security Manager</li>
+
+</ul>
+<p>JDK/JDBC support:</p>
+<ul>
+
+<li>JDK 1.3, 1.4 and 1.5 support</li>
+
+<li>JDBC 2.1 and JDBC 3.0 support</li>
+
+</ul>
+</div>
+
+
+<a name="N100D7"></a><a name="Release+Notes"></a>
+<h2 class="boxed">Release Notes</h2>
+<div class="section">
+<p>Derby version 10.0.2.1</p>
+<p>This is the first incubator release for Derby. The build number of this release is 106978.
+ For getting started, refer to the <a class="external" href="http://incubator.apache.org/derby/docs/10.0/manuals/getstart/gspr02.html">Getting Started manual</a>.</p>
+<p>The version of the IBM Universal JDBC Driver required with the Derby Network Server is 2.4.</p>
+<p>A detailed list of changes can be found in the CHANGES file in each of the distributions listed below.</p>
+<p>This release fixes the following reported JIRA issues since the start of
+ the Derby project as an Apache incubator project:</p>
+<p>Code issues:</p>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+
+<tr>
+<td colspan="1" rowspan="1">Key</td><td colspan="1" rowspan="1">Summary</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-6">DERBY-6</a></td><td colspan="1" rowspan="1">Trigger of the form: create trigger ... values myFunction(); has no effect.</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-14">DERBY-14</a></td><td colspan="1" rowspan="1">Triggers do not evaluate functions in VALUES trigger actions.</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-21">DERBY-21</a></td><td colspan="1" rowspan="1">ResultsetMetaData.getColumnClassName() for CLOB and BLOB datatypes is incorrect.</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-30">DERBY-30</a></td><td colspan="1" rowspan="1">Connection.close() method inconsistently throws exception on closed connection</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-33">DERBY-33</a></td><td colspan="1" rowspan="1">Connection.setTypeMap throws unimplemented exception with empty map</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-34">DERBY-34</a></td><td colspan="1" rowspan="1">Setting default value for a char(1) for bit data column does not work</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-35">DERBY-35</a></td><td colspan="1" rowspan="1">DRDA Chaining in Network Server is incorrect</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-42">DERBY-42</a></td><td colspan="1" rowspan="1">When using encryption, do not store the length information about the external key in service.properties</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-44">DERBY-44</a></td><td colspan="1" rowspan="1">Support for like ? Escape ?</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-45">DERBY-45</a></td><td colspan="1" rowspan="1">Request support for CAST() in Like clause</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-50">DERBY-50</a></td><td colspan="1" rowspan="1">getMaxColumnNameLength() database metadata function returns incorrect value.</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-59">DERBY-59</a></td><td colspan="1" rowspan="1">dblook currently has driver classes hard coded</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-62">DERBY-62</a></td><td colspan="1" rowspan="1">TableName not serializable</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-67">DERBY-67</a></td><td colspan="1" rowspan="1">Network Server on a 64 bit JVM fails with: Execution failed because of a Distributed Protocol Error: DRDA_Proto_SYNTAXRM; CODPNT arg = 2116; Error Code Value = 14</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-72">DERBY-72</a></td><td colspan="1" rowspan="1">IBM (c) message in properties files</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-74">DERBY-74</a></td><td colspan="1" rowspan="1">SQLDecimal.getWholeDigits returns invalid result on JDK1.5.0</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-83">DERBY-83</a></td><td colspan="1" rowspan="1">Incorrect string conversion for DECIMAL on JDK1.5</td>
+</tr>
+
+</table>
+<p>
+ Documentation issues:</p>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+
+<tr>
+<td colspan="1" rowspan="1">Key</td><td colspan="1" rowspan="1">Summary</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-9">DERBY-9</a></td><td colspan="1" rowspan="1">Documentation Bug re BETWEEN</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-41">DERBY-41</a></td><td colspan="1" rowspan="1">Documentation Error - Developer's Guide - 'C' index</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-58">DERBY-58</a></td><td colspan="1" rowspan="1">dblook options doco incorrect</td>
+</tr>
+
+</table>
+<p>Below is a list of open code documented in the JIRA bug tracking system
+ for the project at the time of the release:</p>
+<p>Code issues:</p>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+
+<tr>
+<td colspan="1" rowspan="1">Key</td><td colspan="1" rowspan="1">Summary</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-1">DERBY-1</a></td><td colspan="1" rowspan="1">Can't create a new db on OS X</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-3">DERBY-3</a></td><td colspan="1" rowspan="1">Identity column not filled consecutively with "insert ... select distinct"</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-5">DERBY-5</a></td><td colspan="1" rowspan="1">Network Server Protocol error when select fails and "order by" is specified</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-7">DERBY-7</a></td><td colspan="1" rowspan="1">Bug in NULLIF Function</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-8">DERBY-8</a></td><td colspan="1" rowspan="1">Connection object gets created with un-supported holdability on getting Connection object from XAConnection "inside" the global transaction</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-12">DERBY-12</a></td><td colspan="1" rowspan="1">Quoted table names mishandled in select list expansion</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-13">DERBY-13</a></td><td colspan="1" rowspan="1">Quoted names with embedded period mishandled in from list</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-15">DERBY-15</a></td><td colspan="1" rowspan="1">May get a non-uniue conglomerate id in a very unlikely XA edge case</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-17">DERBY-17</a></td><td colspan="1" rowspan="1">Network Server Needs to generate CRRTKN on ACCRDB if client does not send it</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-18">DERBY-18</a></td><td colspan="1" rowspan="1">Exposed name matching has bugs when the column name is qualified with a schema name.</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-19">DERBY-19</a></td><td colspan="1" rowspan="1">NPE when trying to create a database at a directory that is not allowed</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-20">DERBY-20</a></td><td colspan="1" rowspan="1">LIKE handles strings with control characters incorrectly.</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-22">DERBY-22</a></td><td colspan="1" rowspan="1">Exception XCL16 incorrectly raised for ResultSet of method return after nested commit.</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-23">DERBY-23</a></td><td colspan="1" rowspan="1">just booting jdbc driver and shutting down seem to leak memory</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-25">DERBY-25</a></td><td colspan="1" rowspan="1">INSERT INTO SELECT DISTINCT ... skips some values for autoincrement column</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-26">DERBY-26</a></td><td colspan="1" rowspan="1">Dropping a nested trigger and rerunning the querry causes NullPointerException</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-27">DERBY-27</a></td><td colspan="1" rowspan="1">UCASE/LCASE function should change case according to database locale, but uppercases according to the JVM locale.</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-28">DERBY-28</a></td><td colspan="1" rowspan="1">Execute Statement of a SYSIBM sps gives java linkage error and class not found exception.</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-36">DERBY-36</a></td><td colspan="1" rowspan="1">Following the provided documentation and running ij results in a java.lang.InternalException</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-37">DERBY-37</a></td><td colspan="1" rowspan="1">detection of incorrect types comparison is done at ? parameters</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-39">DERBY-39</a></td><td colspan="1" rowspan="1">Strange error in JOIN ON clause</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-46">DERBY-46</a></td><td colspan="1" rowspan="1">Do not store encryption block size for encrypted database when using external key</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-47">DERBY-47</a></td><td colspan="1" rowspan="1">Some possible improvements to IN optimization</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-48">DERBY-48</a></td><td colspan="1" rowspan="1">A connection request that has a default schema that is being created by another transaction will fail to connect</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-51">DERBY-51</a></td><td colspan="1" rowspan="1">Need NetworkServerControl shutdown API method that does not shutdown derby embedded</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-56">DERBY-56</a></td><td colspan="1" rowspan="1">NsSample sample program refered to in documentation is missing</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-57">DERBY-57</a></td><td colspan="1" rowspan="1">derby snapshot zip does not contain network server war file</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-61">DERBY-61</a></td><td colspan="1" rowspan="1">Some derby javadoc issues should be cleaned up</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-62">DERBY-62</a></td><td colspan="1" rowspan="1">TableName not serializable</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-63">DERBY-63</a></td><td colspan="1" rowspan="1">updateNull doesnot work with Embedded Driver</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-65">DERBY-65</a></td><td colspan="1" rowspan="1">Network Server user ID and password encryption requires IBMJCE</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-66">DERBY-66</a></td><td colspan="1" rowspan="1">Derby supports open cursor across commits and hence DatabaseMetaData.supportsOpenCursorsAcrossCommit return true.</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-71">DERBY-71</a></td><td colspan="1" rowspan="1">Merge TransactionResourceImpl into EmbeddedConnection</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-73">DERBY-73</a></td><td colspan="1" rowspan="1">Ability to compile under JDK1.5</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-75">DERBY-75</a></td><td colspan="1" rowspan="1">Clean up import and JavaDoc for MethodNode hierarchy</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-85">DERBY-85</a></td><td colspan="1" rowspan="1">NPE when creating a trigger on a table and default schema doesn't exist.</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-86">DERBY-86</a></td><td colspan="1" rowspan="1">sweep of name changes to Derby</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-90">DERBY-90</a></td><td colspan="1" rowspan="1">dblook displays message keys instead of their associated text</td>
+</tr>
+
+</table>
+<p>
+
+ Documentation issues:</p>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+
+<tr>
+<td colspan="1" rowspan="1">Key</td><td colspan="1" rowspan="1">Summary</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-43">DERBY-43</a></td><td colspan="1" rowspan="1">Add documentation for database encryption using external key</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-49">DERBY-49</a></td><td colspan="1" rowspan="1">Need to document new property derby.drda.keepAlive</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-52">DERBY-52</a></td><td colspan="1" rowspan="1">Cannot create CHAR column with size greater than 254</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-60">DERBY-60</a></td><td colspan="1" rowspan="1">Documentation refers to SYSIBM system schema</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-68">DERBY-68</a></td><td colspan="1" rowspan="1">Mistypos</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-70">DERBY-70</a></td><td colspan="1" rowspan="1">Incorrect documentation about class loading from installed jar files.</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-76">DERBY-76</a></td><td colspan="1" rowspan="1">Stored procedure cannot be invoked with VALUES statement</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-79">DERBY-79</a></td><td colspan="1" rowspan="1">Provide Derby Documentation in PDF format and improve navigation</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-82">DERBY-82</a></td><td colspan="1" rowspan="1">Add documentation for property - derby.language.logQueryPlan</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-87">DERBY-87</a></td><td colspan="1" rowspan="1">org.apache.derby.database.UserUtility.add does not exist but is documented</td>
+</tr>
+
+</table>
+</div>
+
+
+<a name="N10464"></a><a name="Testing"></a>
+<h2 class="boxed">Testing</h2>
+<div class="section">
+<p>Tests were run on the following platforms. Results are listed separately for each platform.</p>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+
+<tr>
+
+<td colspan="1" rowspan="1">Type test</td>
+ <td colspan="1" rowspan="1">platform, jvm version</td>
+ <td colspan="1" rowspan="1">by.:</td>
+
+</tr>
+
+<tr>
+
+<td colspan="1" rowspan="1">SUN J2EE complience test jdbc suite (version 141); xa suite (version 141 plus patch)</td>
+ <td colspan="1" rowspan="1">OS: WIN 2000. jvm: Sun jdk 142.</td>
+ <td colspan="1" rowspan="1">myrna@golux.com</td>
+
+</tr>
+
+<tr>
+
+<td colspan="1" rowspan="1">org.apache.derbyTesting.functionTests.suites.derbyall</td>
+ <td colspan="1" rowspan="1">WIN 2000/ibm142, WIN 2000/jdk142</td>
+ <td colspan="1" rowspan="1">fuzzylogic@nonintuitive.com </td>
+
+</tr>
+
+<tr>
+
+<td colspan="1" rowspan="1">Cloudscape functional Tests yet to be contributed to apache</td>
+ <td colspan="1" rowspan="1">WIN 2000/ibm142, WIN 2000/jdk142</td>
+ <td colspan="1" rowspan="1">fuzzylogic@nonintuitive.com </td>
+
+</tr>
+
+</table>
+<p>Tests for a specific platform can be run using the corresponding derbyTesting.jar file that can be found here: <a class="external" href="http://cvs.apache.org/dist/incubator/derby/10.0.2.1/derbyTesting.jar">derbyTesting.jar</a>
+</p>
+<p>Instructions on how to run the tests can be found in the <a class="external" href="http://svn.apache.org/repos/asf/db/derby/code/branches/10.0/java/testing/README.htm">testing README</a>.</p>
+<p>The following known issues were documented in the JIRA bug tracking system for tests on the day
+ of the release:</p>
+<table class="ForrestTable" cellspacing="1" cellpadding="4">
+
+<tr>
+<td colspan="1" rowspan="1">Key</td><td colspan="1" rowspan="1">Summary</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-77">DERBY-77</a></td><td colspan="1" rowspan="1">Test instructions incomplete for setting classpath.</td>
+</tr>
+
+<tr>
+<td colspan="1" rowspan="1"><a class="external" href="http://issues.apache.org/jira/browse/DERBY-88">DERBY-88</a></td><td colspan="1" rowspan="1">RunSuite summary rounds incorrectly</td>
+</tr>
+
+</table>
+<p>Note: the issue of derby-77 indicates that one needs to have
+ derbyLocale_*.jar in the classpath or 1 test (derbynet/sysinfo) will
+ fail.
+ </p>
+<p>The derbyall suite of this build has one failure; the test
+ lang/UnitTests.java cannot be found. This will show up in the summary
+ file derbyall.sum, and as 1 failed test in derbyall_report.txt.</p>
+</div>
+
+</div>
+<!--+
+ |end content
+ +-->
+<div class="clearboth"> </div>
+</div>
+<div id="footer">
+<!--+
+ |start bottomstrip
+ +-->
+<div class="lastmodified">
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+// --></script>
+</div>
+<div class="copyright">
+ Copyright ©
+ 2004-2012 Apache Software Foundation</div>
+<div id="feedback">
+ Send feedback about the website to:
+ <a id="feedbackto" href="mailto:derby-user@db.apache.org?subject=Feedback%C2%A0releases/release-10.0.2.1.html">derby-user@db.apache.org</a>
+</div>
+<!--+
+ |end bottomstrip
+ +-->
+</div>
+</body>
+</html>