Apache Derby 10.13.1.1 Release
Use the links below to download a distribution of Apache Derby. You should always verify the integrity of distribution files downloaded from a mirror.
There are four different distributions:
- bin distribution - contains the documentation, javadoc, and jar files for Derby.
- lib distribution - contains only the jar files for Derby.
- lib-debug distribution - contains jar files for Derby with source line numbers.
- src distribution - contains the Derby source tree at the point which the binaries were built.
Release Notes for Apache Derby 10.13.1.1
These notes describe the difference between Apache Derby release 10.13.1.1 and the preceding release 10.12.1.1.
The most up to date information about Derby releases can be found on the Derby download page.
Apache Derby is a pure Java relational database engine using standard SQL and JDBC as its APIs. More information about Derby can be found on the Apache web site. Derby functionality includes:
- Embedded engine with JDBC drivers
- Network Server
- Network client JDBC drivers
- Command line tools: ij (SQL scripting), dblook (schema dump) and sysinfo (system info)
The 10.13 release family supports the following Java and JDBC versions:
- Java SE 8 with JDBC 4.2
This is a feature release. The following new features were added:
- DERBY-6136: tool for siphoning data out of corrupted databases
- DERBY-6725: system function which prints out the name of the current database
- DERBY-4555: system procedures to import CSV file with headers
- DERBY-6852: allow identity columns to cycle.
The following issues are addressed by Derby release 10.13.1.1. These issues are not addressed in the preceding 10.12.1.1 release.
|DERBY-6914||Incorrect example for new SYSCS_UTIL.SYSCS_IMPORT_TABLE_BULK procedure|
|DERBY-6913||Document the new ability of identity columns to cycle|
|DERBY-6900||docs build for ref.html gives errors about rrefjavstateautogen.dita -- possible typo?|
|DERBY-6895||Add documentation for new SYSCS_IMPORT_TABLE_BULK, SYSCS_IMPORT_DATA_BULK procedures|
|DERBY-6894||Enhance COLUMNINDEXES parsing for SYSCS_IMPORT_DATA_BULK to recognize columns by name|
|DERBY-6893||Create new SYSCS_IMPORT_DATA_BULK procedure|
|DERBY-6892||Create new SYSCS_IMPORT_TABLE_BULK procedure|
|DERBY-6890||ALTER TABLE DROP COLUMN corrupts secondary index collation information|
|DERBY-6886||Fix links to CI test results|
|DERBY-6884||SYSCS_IMPORT_TABLE_LOBS_FROM_EXTFILE can't import more than Integer.MAX_VALUE bytes of blob data|
|DERBY-6883||Document the new SET GENERATED clause of ALTER TABLE introduced by DERBY-6882|
|DERBY-6882||Add functionality to ALTER TABLE: switch from GENERATED ALWAYS to GENERATED BY DEFAULT|
|DERBY-6881||Test failures with JDK 9-ea b111|
|DERBY-6880||Update failing with java.sql.SQLDataException|
|DERBY-6879||Engine deadlock between XA timeout handling and cleanupOnError|
|DERBY-6875||Partially broken download pages|
|DERBY-6870||Google Summer of Code 2016: Derby bug fixing|
|DERBY-6869||XMLXXETest fails in non-English locales|
|DERBY-6868||Remove the dependency on Jakarta ORO|
|DERBY-6866||Add URLs to Maven pom files|
|DERBY-6864||RawDBReaderTest fails on Windows|
|DERBY-6860||Automatic download of junit.jar broken|
|DERBY-6852||Allow identity columns to cycle (as defined in SQL:2003)|
|DERBY-6845||Document the rawDBReader optional tool|
|DERBY-6828||Network Server don't start in czech localized enviroment due missing key DRDA_MissingNetworkJar.S|
|DERBY-6752||AutoloadedDriver tries to load a non-existent class, AutoloadedDriver40|
|DERBY-6726||NPE from trigger|
|DERBY-6725||Add a system function which returns the name of the database.|
|DERBY-6391||remove unneeded object creation in newException() calls in releases > 10.10|
|DERBY-6334||Test harness security policy prevents running DatabaseClassLoadingTest twice|
|DERBY-6136||Create a custom/optional tool for dumping the data in a corrupted database.|
|DERBY-5950||PlanExporter and SignatureChecker don't appear in the list of tools supported by derbyrun.|
|DERBY-5944||The hard-coded PlanExporter help message should be internationalized so that it can be translated|
|DERBY-5605||Calling Blob/Clob free() explicitly after implicit free throws exception in client driver|
|DERBY-5585||Improve error messages used when Derby can't find the class or method backing up a SQL routine or type|
|DERBY-4555||Expand SYSCS_IMPORT_TABLE to accept CSV file with header lines|
|DERBY-4091||Investigate "size_problem" column in MailJdbc terst|
|DERBY-3181||isNullable on ResultSetMetaData from DatabaseMetaData.getBestRowIdentifier values are opposite when there is no rows in ResultSet vs. when there is a row.|
|DERBY-1773||insertRow() and updateRow() fail with syntax error when column has an alias|
|DERBY-853||ResultSetMetaData.getScale returns inconsistent values for DOUBLE type.|
Compared with the previous release (10.12.1.1), Derby release 10.13.1.1 introduces the following new features and incompatibilities. These merit your special attention.
Summary of Change
When a Derby SEQUENCE cycles, it now cycles to its minimum/maximum value rather than to its start value.
Symptoms Seen by Applications Affected by Change
In previous releases, when a Derby SEQUENCE cycled, it cycled to its start value. But now it cycles to its maximum or minimum value:
- If the SEQUENCE has a positive increment, it cycles to its minimum value.
- If the SEQUENCE has a negative increment, it cycles to its maximum value.
Rationale for Change
The new behaviour remains compliant with the SQL standard, but we believe it is more useful.
Note that the new behavior is also used for the new CYCLE behavior of IDENTITY columns.
Derby release 10.13.1.1 was built using the following environment:
- Branch - Source code came from the 10.13 branch.
- Machine - Linux Fedora22 4.4.14.fc22.x86_64
- Ant - Apache Ant(TM) version 1.9.5 compiled on May 31 2015
- Compiler - All classes were compiled by OpenJDK Runtime Environment (build 1.8.0_91-b14)
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.
The PGP signatures can be verified using PGP or GPG. First download the Apache Derby KEYS as well as the asc signature file for the particular distribution. It is important that you get these files from the ultimate trusted source - the main ASF distribution site, rather than from a mirror. Then verify the signatures using ...
% pgpk -a KEYS % pgpv db-derby-X.Y.tar.gz.asc or % pgp -ka KEYS % pgp db-derby-X.Y.tar.gz.asc or % gpg --import KEYS % gpg --verify db-derby-X.Y.tar.gz.asc
To verify the MD5 signature on the files, you need to use a program called md5 or md5sum, which is included in many unix distributions. It is also available as part of GNU Textutils. Windows users can get binary md5 programs from here, here, or here.
We strongly recommend that you verify your downloads with both PGP and MD5.