Apache Derby 10.1.2.1 Release
Use the links below to download a distribution of Apache Derby from the archives. It is good practice to verify the integrity of the distribution files.
There are three different distributions:
- bin distribution - contains the documentation, javadoc, and jar files for Derby.
- lib distribution - contains only the jar files for Derby.
- src distribution - contains the Derby source tree at the point which the binaries were built.
There are two separate Eclipse plugins for Derby:
- derby_core_plugin - provides the Derby jar files to other plugins in Eclipse.
- derby_ui_plugin - provides an Apache Derby Nature in Eclipse for easy database application development.
Please note: both plugins must be installed for full functionality. For information on installing and using the Derby plugins for Eclipse, please see the Using the 10.1 Core and 1.1 UI Derby plug-ins page.
Derby is a pure Java relational database engine using standard SQL and JDBC as its APIs. 10.1.2.1 is a bug fix release providing quality improvements for Derby 10.1
What's new in 10.1.2.1:
- Globalization of the 10.1 error messages.
- Eclipse 3.1 support
- Ability to run on Mac OS X with no special configuration
- Support for direct execution of derbynet.jar using the -jar option of the VM
- Fixes to allow databases to be loaded from jars in the classpath
- Fixes to improve J2ME/CDC/Foundation Profile support
- Fixes to improve security manager support
- Many important fixes to correct issues with data integrity, correct memory leaks and address other product defects
For a comprehensive list of changes, consult the Release Notes.
10.1.2.1 functionality includes:
- Embedded engine with JDBC driver
- Network Server
- Network client JDBC driver
- Command line tools: ij (SQL scripting), dblook (schema dump) and sysinfo (system info)
- Schemas, tables, temporary tables, views, triggers, indexes, savepoints
- Java procedures and functions
- Standard datatypes including BLOB and CLOB
- Sub-queries and joins
- Primary key, foreign key, unique and check constraints
- Referential actions
- Full ACID transaction support with all four isolation levels
- Row and table level locking
- Configurable authentication including LDAP support
- On-line backup and recovery support
- Optional on-disk encryption
- Platform independent database format
- Full support for Java 2 Security Manager
- JDK 1.3, 1.4, 1.5, and J2ME J2ME/CDC/Foundation Profile
- JSR-169, JDBC 2.1, and JDBC 3.0 support
Derby version 10.1.2.1 is a bug fix release based on Apache Derby 10.1.1.0. In addition to many other bug fixes, this release contains the fix for DERBY-662 which is a rare but potentially serious data loss issue on case insensitive file systems such as Windows.
The following reported JIRA issues were fixed in the 10.1.2.1 release:
- [DERBY-626] - Booting embedded engine requires read permission to derby.jar be granted for all code in the stack
- [DERBY-643] - Eclipse Derby doc plug-in: Resources page points to the incubator site instead of db.apache.org
- [DERBY-650] - Hyperlinks in demo/demo.html are broken
- [DERBY-652] - Documentation and demos have incubator references
- [DERBY-656] - SecurityException with accessDeclaredMembers on DatabaseMetaData.getTables.
- [DERBY-657] - Release archives should have executable bits set for scripts and text files should have proper line endings.
- [DERBY-662] - during crash recovery of a drop table, on case insensitive files systems derby may delete wrong file
- [DERBY-1] - Can't create a new db on OS X
- [DERBY-149] - Server hang when invalid string is bound to datetime columns.
- [DERBY-374] - Invalid URL with Derby Client when connecting to Network Server causes protocol exception.
- [DERBY-375] - Specification of incomplete server properties on command line causes NPE with NetworkServerControl when starting the server.
- [DERBY-385] - servlet Back to Main Page link points to csnet instead of derbynet
- [DERBY-388] - Intermittent failures when executing UPDATE trigger statements
- [DERBY-392] - Disable creating indexes on long varchar for bit data. Long varchar column doesn't allow creating indexes already.
- [DERBY-406] - Client DataSource should not require user property to be set
- [DERBY-409] - ClientDataSource setConnectionAttributes("create=true") fails with "An attempt was made to access a database, mydbcreate=true, which was not found."
- [DERBY-410] - ClientDataSource should not require serverName/portNumber to be set
- [DERBY-411] - dblook_test fails on aix platform fails with ibmjdk131
- [DERBY-414] - With Network Client starting an XA transaction resets the isolation level set with setTransactionIsolation
- [DERBY-424] - Queryplan for a query using SESSION schema view is incorrectly put in statement cache. This could cause incorrect plan getting executed later if a temp. table is created with that name.
- [DERBY-440] - derby.jar has directory (package) entries in it which are not required
- [DERBY-447] - getBoolean() throws data conversion exception for DECIMAL type in J2ME/CDC/Foundation
- [DERBY-452] - Import/export fails for DECIMAL type in J2ME/Foundation
- [DERBY-459] - lang/errorStream.java fails intermittently on Windows 2003 server
- [DERBY-470] - Exception when using LOCALIZEDDISPLAY with JSR169
- [DERBY-476] - Derby UI plug-in version 1.0.0 incompatible with Eclipse 3.1 M6 or higher
- [DERBY-485] - SecurityException or LinkageException thrown during loading a class from a database jar incorrectly shuts the engine down.
- [DERBY-488] - DatabaseMetaData.getColumns() fails on iSeries JDK 1.4 with verfier error on generated class.
- [DERBY-498] - Result set holdability defined inside stored procedures is ignored by server/client
- [DERBY-500] - Update/Select failure when BLOB/CLOB fields updated in several rows by PreparedStatement using setBinaryStream and setCharacterStream
- [DERBY-504] - SELECT DISTINCT returns duplicates when selecting from subselects
- [DERBY-518] - Data type mismatch error for boolean to DECIMAL conversion in J2ME
- [DERBY-522] - ERROR X0Y79 raised when adding comments using "--" before sql queries with Network Client
- [DERBY-527] - Incorrect insane build on windows platform
- [DERBY-530] - ClientDriver ignores Properties object in connect(String url, Properties connectionProperties) method
- [DERBY-535] - Driver.acceptsURL() for embedded driver incorrectly returns true for a client url like jdbc:derby://
- [DERBY-540] - Loading databases from jars in the classpath is broken, databases cannot be found.
- [DERBY-557] - Client driver gets OutOfMemoryError when re-executing statement without closing ResultSet
- [DERBY-558] - Optimizer hangs with query that uses more than 6 tables and does subquery flattening.
- [DERBY-559] - With Network Client, user and password attriubtes specified in the url should not be sent to hte server with the RDBNAM or print with getURL
- [DERBY-561] - embedded driver jdbcCompliant() method should return true
- [DERBY-562] - Derby incorrectly throws Exception when streaming to BLOB field
- [DERBY-566] - Doc bug for saving ij output to a file
- [DERBY-613] - Intended location of network server tracing files is not clear.
- [DERBY-620] - BUILDING.txt section 3.2(1): Instructions for finding user home directory are not reliable
- [DERBY-624] - Running derbynetclientmats and derbynetmats requires accessDeclaredMembers permission to be granted with sane=true
Tests were run on the following platforms. Results are listed separately for each platform.
|Type test||platform, jvm version||by.:|
|derbyall suite||Windows XP WCTME 5.7||Deepa Remesh (email@example.com)|
|derbyall suite||RHEL 4.0 (32 bit), IBM SDK 1.4.2||Ramandeep Kaur (firstname.lastname@example.org)|
|derbyall suite||RHEL 4.0 (64-bit), IBM SDK 1.4.2||Myrna Van Lunteren (email@example.com)|
|derbyall suite||RHEL 4.0 (64-bit), Sun JDK 1.5.0_04||Myrna Van Lunteren (firstname.lastname@example.org)|
|derbyall suite||SUSE Pro 9.2, IBM SDK 1.4.2||Ramandeep Kaur (email@example.com)|
|derbyall suite||SUSE Pro 9.2, Sun JDK 1.5.0_05||Ramandeep Kaur (firstname.lastname@example.org)|
|derbyall suite||Windows 2000, Sun JDK 1.4.2||Kathey Marsden (email@example.com)|
|derbyall suite||Windows 2000, IBM SDK 1.4.2||Rajesh Kartha (firstname.lastname@example.org)|
|derbyall suite||Linux 2.6.13, Sun JDK 1.5.0_05||Bernt Johnsen (Bernt.Johnsen@Sun.COM)|
|derbyall suite||Linux 2.4.21-27, Sun JDK 1.5.0_03||Ole Solberg (email@example.com)|
|derbyall suite||SunOS-5.10, Sun JDK 1.5.0_04||Ole Solberg (firstname.lastname@example.org)|
|derbyall suite||SunOS-5.10, Sun JDK 1.5.0_03||Ole Solberg (email@example.com)|
|derbyall suite||SunOS-5.9, Sun JDK 1.5.0_03||Ole Solberg (firstname.lastname@example.org)|
|derbyall suite||SunOS-5.9, Sun JDK 1.5.0_05||Andrew McIntyre (email@example.com)|
|derbyall suite||Mac OS X 10.4.3, Appple JDK 1.4.2||Andrew McIntyre (firstname.lastname@example.org)|
|derbyall suite||Mac OS X 10.4.3, Apple JDK 1.5.0||Andrew McIntyre (email@example.com)|
Several test issues were reported, but no specific code issues were noted.
Tests for a specific platform can be run using the derbyTesting.jar file that can be found in the lib directory of the -lib or -bin distributions.
Instructions on how to run the tests can be found in the testing README.
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 you verify your downloads with both PGP and MD5.