apache > db
Apache DB Project
Font size:      

Apache Derby Incubator Release


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.

incubating-derby- [PGP] [MD5]
incubating-derby- [PGP] [MD5]

incubating-derby- [PGP] [MD5]
incubating-derby- [PGP] [MD5]

incubating-derby- [PGP] [MD5]
incubating-derby- [PGP] [MD5]

Release Overview

Derby is a pure Java relational database engine using standard SQL and JDBC as its APIs. functionality includes:

  • Embedded engine with JDBC driver
  • Network Server
  • Command line tools ij (SQL scripting), dblook (schema dump) and sysinfo (system info)

SQL support:

  • Schemas, tables, tempoaray 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

Other features:

  • Full ACID transaction support with all four isolation levels
  • Row and table level locking
  • Configurable authentication including LDAP support
  • Import/Export
  • On-line backup and recovery support
  • Optional on-disk encryption
  • Platform independent database format
  • Full support for Java 2 Security Manager

JDK/JDBC support:

  • JDK 1.3, 1.4 and 1.5 support
  • JDBC 2.1 and JDBC 3.0 support

Release Notes

Derby version

This is the first incubator release for Derby. The build number of this release is 106978. For getting started, refer to the Getting Started manual.

The version of the IBM Universal JDBC Driver required with the Derby Network Server is 2.4.

A detailed list of changes can be found in the CHANGES file in each of the distributions listed below.

This release fixes the following reported JIRA issues since the start of the Derby project as an Apache incubator project:

Code issues:

DERBY-6Trigger of the form: create trigger ... values myFunction(); has no effect.
DERBY-14Triggers do not evaluate functions in VALUES trigger actions.
DERBY-21ResultsetMetaData.getColumnClassName() for CLOB and BLOB datatypes is incorrect.
DERBY-30Connection.close() method inconsistently throws exception on closed connection
DERBY-33Connection.setTypeMap throws unimplemented exception with empty map
DERBY-34Setting default value for a char(1) for bit data column does not work
DERBY-35DRDA Chaining in Network Server is incorrect
DERBY-42When using encryption, do not store the length information about the external key in service.properties
DERBY-44Support for like ? Escape ?
DERBY-45Request support for CAST() in Like clause
DERBY-50getMaxColumnNameLength() database metadata function returns incorrect value.
DERBY-59dblook currently has driver classes hard coded
DERBY-62TableName not serializable
DERBY-67Network 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
DERBY-72IBM (c) message in properties files
DERBY-74SQLDecimal.getWholeDigits returns invalid result on JDK1.5.0
DERBY-83Incorrect string conversion for DECIMAL on JDK1.5

Documentation issues:

DERBY-9Documentation Bug re BETWEEN
DERBY-41Documentation Error - Developer's Guide - 'C' index
DERBY-58dblook options doco incorrect

Below is a list of open code documented in the JIRA bug tracking system for the project at the time of the release:

Code issues:

DERBY-1Can't create a new db on OS X
DERBY-3Identity column not filled consecutively with "insert ... select distinct"
DERBY-5Network Server Protocol error when select fails and "order by" is specified
DERBY-7Bug in NULLIF Function
DERBY-8Connection object gets created with un-supported holdability on getting Connection object from XAConnection "inside" the global transaction
DERBY-12Quoted table names mishandled in select list expansion
DERBY-13Quoted names with embedded period mishandled in from list
DERBY-15May get a non-uniue conglomerate id in a very unlikely XA edge case
DERBY-17Network Server Needs to generate CRRTKN on ACCRDB if client does not send it
DERBY-18Exposed name matching has bugs when the column name is qualified with a schema name.
DERBY-19NPE when trying to create a database at a directory that is not allowed
DERBY-20LIKE handles strings with control characters incorrectly.
DERBY-22Exception XCL16 incorrectly raised for ResultSet of method return after nested commit.
DERBY-23just booting jdbc driver and shutting down seem to leak memory
DERBY-25INSERT INTO SELECT DISTINCT ... skips some values for autoincrement column
DERBY-26Dropping a nested trigger and rerunning the querry causes NullPointerException
DERBY-27UCASE/LCASE function should change case according to database locale, but uppercases according to the JVM locale.
DERBY-28Execute Statement of a SYSIBM sps gives java linkage error and class not found exception.
DERBY-36Following the provided documentation and running ij results in a java.lang.InternalException
DERBY-37detection of incorrect types comparison is done at ? parameters
DERBY-39Strange error in JOIN ON clause
DERBY-46Do not store encryption block size for encrypted database when using external key
DERBY-47Some possible improvements to IN optimization
DERBY-48A connection request that has a default schema that is being created by another transaction will fail to connect
DERBY-51Need NetworkServerControl shutdown API method that does not shutdown derby embedded
DERBY-56NsSample sample program refered to in documentation is missing
DERBY-57derby snapshot zip does not contain network server war file
DERBY-61Some derby javadoc issues should be cleaned up
DERBY-62TableName not serializable
DERBY-63updateNull doesnot work with Embedded Driver
DERBY-65Network Server user ID and password encryption requires IBMJCE
DERBY-66Derby supports open cursor across commits and hence DatabaseMetaData.supportsOpenCursorsAcrossCommit return true.
DERBY-71Merge TransactionResourceImpl into EmbeddedConnection
DERBY-73Ability to compile under JDK1.5
DERBY-75Clean up import and JavaDoc for MethodNode hierarchy
DERBY-85NPE when creating a trigger on a table and default schema doesn't exist.
DERBY-86sweep of name changes to Derby
DERBY-90dblook displays message keys instead of their associated text

Documentation issues:

DERBY-43Add documentation for database encryption using external key
DERBY-49Need to document new property derby.drda.keepAlive
DERBY-52Cannot create CHAR column with size greater than 254
DERBY-60Documentation refers to SYSIBM system schema
DERBY-70Incorrect documentation about class loading from installed jar files.
DERBY-76Stored procedure cannot be invoked with VALUES statement
DERBY-79Provide Derby Documentation in PDF format and improve navigation
DERBY-82Add documentation for property - derby.language.logQueryPlan
DERBY-87org.apache.derby.database.UserUtility.add does not exist but is documented


Tests were run on the following platforms. Results are listed separately for each platform.

Type test platform, jvm version by.:
SUN J2EE complience test jdbc suite (version 141); xa suite (version 141 plus patch) OS: WIN 2000. jvm: Sun jdk 142. myrna@golux.com
org.apache.derbyTesting.functionTests.suites.derbyall WIN 2000/ibm142, WIN 2000/jdk142 fuzzylogic@nonintuitive.com
Cloudscape functional Tests yet to be contributed to apache WIN 2000/ibm142, WIN 2000/jdk142 fuzzylogic@nonintuitive.com

Tests for a specific platform can be run using the corresponding derbyTesting.jar file that can be found here: derbyTesting.jar

Instructions on how to run the tests can be found in the testing README.

The following known issues were documented in the JIRA bug tracking system for tests on the day of the release:

DERBY-77Test instructions incomplete for setting classpath.
DERBY-88RunSuite summary rounds incorrectly

Note: the issue of derby-77 indicates that one needs to have derbyLocale_*.jar in the classpath or 1 test (derbynet/sysinfo) will fail.

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.