Table of Contents

10.2.1.6 Release Summary

The Derby 10.2 release exposes many new features. Please download this release from http://db.apache.org/derby/derby_downloads.html.

New Feature

Link to JIRA entries

Code Status

Documentation

Command line help for ij

DERBY-1216

Complete

-

'show tables' and 'describe' commands in ij

DERBY-1164

Complete

-

Database re-encryption

DERBY-1156

Complete

-

Scripts adhering to Apache's conventions

DERBY-1032

Complete

DERBY-1223 handles the documentation for this issue.

Simplify tool invocation

DERBY-1019

Complete

-

Encrypt userid/password where possible

DERBY-962

Complete

-

Restrict client connections,derby.drda.securityMechanism

DERBY-928

Complete

-

Enhance GROUP BY clause to support expressions

DERBY-883

Complete

-

Identity value restart

DERBY-783

Complete

-

Internationalizing Client Messages

-

Complete

-

Scrollable Updatable ResultSets

DERBY-690See below.

Complete

-

Xml support for XPath

DERBY-688

XPath changes implemented.

-

JDBC4

See below.

See below.

-

New JDBC escape functions: ACOS, ASIN, ATAN, COS, SIN, TAN, PI, DEGREES, RADIANS, EXP, LOG, LOG10, CEILING, FLOOR

DERBY-592

Complete

-

Unary plus/minus for parameters

DERBY-582

Complete

-

Optimizer directives

DERBY-573

Complete

-

New syntax for invoking diagnostic VTIs

DERBY-571

Complete

-

DRDA USRSSBPWD Security Mechanism

DERBY-528

Complete

-

Invoke Java procedures from triggers

DERBY-551

Complete

-

Client timeout mechanism

DERBY-506

Complete

-

New functions: ACOS, ASIN, ATAN, COS, SIN, TAN, PI, DEGREES, RADIANS, EXP, LN, LOG, LOG10, CEIL, CEILING, FLOOR

DERBY-475

Complete

-

Grant Revoke

DERBY-464

Complete

-

Improve Network Server large object streaming

DERBY-326

Complete

-

FOR UPDATE clause

DERBY-231

Complete

-

Online backup

DERBY-239

Complete

-

ALTER TABLE change nullability

DERBY-119

Complete

-

For more information on the contents of the 10.2 release, see:

DerbyDevActivities

Status of some current activities for the Derby project

10.2 Release Notes

Issues that have been fixed and open issues that are marked Fix For 10.2

10.2 alpha manuals

Latest Manuals under development for 10.2. Note not all implemented features have been documented yet. Others might be documented but not implemented.

10.2 API javadoc

Public API javadoc including new JDBC 4.0 DataSource implementations

JDBC4 Status

The optional JDBC4 support was compiled and tested using Mustang build 99. To exercise this code, please download the Derby 10.2 source distribution and build it according to the instructions in BUILDING.txt, using version 99 or higher of the Mustang JDK.

If you build this optional support, then when you run on the jdk1.6 platform, Derby 10.2 will expose the JDBC4 api. The following JDBC4 features have been coded and are ready for the community to test:

Feature

Description

Compliance

Driver autoloading

This lets applications open Connections to Derby databases without having to know the names of the Derby JDBC drivers.

Fully implemented.

Ease-of-development

This uses Annotations to simplify and parameterize the creation of tabular DataSets. Derby does not implement its own QueryObjectGenerator. Instead, as the spec allows, Derby forwards ease-of-development calls to Mustang's default QueryObjectFactory.

Mandatory methods implemented.

Wrapper pattern

This lets applications exploit vendor-specific behavior wrapped inside JDBC objects.

Fully implemented, though Derby does not expose any vendor specific behaviour.

Statement events

This lets applications listen for events which invalidate or close Statements.

Fully implemented.

SQLException subclasses

JDBC4 refines SQLException into new subclasses, each bound to some range of error conditions. JDBC4 requires that implementations raise these refined exceptions when the corresponding conditions occur. 10.2 does this. However, 10.2 omits the late-breaking SQL!RecoverableException, whose vendor-specific semantics are not clear. Although Derby does not raise this exception, we believe that Derby complies with the spec.

Mandatory methods implemented.

Miscellaneous methods

JDBC4 adds new methods and changes old methods on the following JDBC objects: Connection, CallableStatement, DatabaseMetaData, PreparedStatement, ResultSet, Statement, DataSource, and PooledConnection. 10.2 implements all of these methods that are mandatory. Some optional methods will throw SQL!FeatureNotSupportedException.

Mandatory methods implemented.

RowId

JDBC4 introduces this optional datatype. Derby does not support the corresponding SQL ROWID datatype. Therefore the corresponding JDBC4 methods will throw SQL!FeatureNotSupportedException.

Mandatory methods implemented.

National string types

JDBC4 introduces these optional datatypes: NCHAR, NVARCHAR, LONGNVARCHAR, NCLOB. Derby does not support the corresponding SQL datatypes. Therefore the corresponding JDBC4 methods will throw SQL!FeatureNotSupportedException.

Mandatory methods implemented.

XML

JDBC4 introduces this optional datatype. Derby does not support expose the SQL XML datatype through JDBC. Therefore the corresponding JDBC4 methods will throw SQL!FeatureNotSupportedException.

Mandatory methods implemented.

SQLInput/SQLOutput

JDBC4 introduces these optional interfaces. Derby does not support the corresponding SQL structured and distinct datatypes. Therefore the corresponding JDBC4 methods will throw SQL!FeatureNotSupportedException.

Mandatory methods implemented.

Lengthless streaming overloads

JDBC4 introduces new streaming overloads where the length of the stream does not have to be specified. The methods are named set- and updateXXXStream, where XXX can be Ascii, Binary or Character.

Fully implemented.

10.2 will NOT comply with the following features added by JDBC4:

Feature

Description

Compliance

Large objects

JDBC4 adds new methods for creating, inserting, and releasing Blobs and Clobs. These methods appear on the following old JDBC objects: Connection, PreparedStatement, Blob, and Clob. 10.2 will implement the new methods on Connection and PreparedStatement. The JDBC4 spec also requires that the old, JDBC3 Blob and Clob interfaces be fully implemented and that Blob/Clob be updateable through JDBC3 ResultSets method. 10.2 will NOT fully implement the Blob/Clob methods, nor will it let you update large objects through ResultSets.

NOT compliant.

Scrollable, Updatable ResultSets (Insensitive) Status

This feature has been fully implemented for both embedded (compliant) and network client (compliant, but see note below) drivers. Documentation is still pending. Highlights of this feature:

As part of this effort, we also:

Grant/Revoke Status

The following behaviors could use some testing:

Behavior

Description

Statement caching

What happens if you prepare and execute a statement, then drop privileges it needs, then re-execute the statement? The second execution should fail because the user no longer has the requisite privileges.

Upgrade

What happens to your permission to run your application after upgrading from 10.1? What happens if someone other than you upgrades the database?

Internationalization Status

All network client messages have been internationalized, and now all SQLExceptions have a non-null SQL State. As much as possible the SQL State and message for a given error in the network client driver match the SQL State and message in the embedded driver. If an inconsistency between network client driver and embedded driver SQL States is discovered, it should be considered a bug and we would appreciate it being reported in JIRA.

TenTwoSnapshot (last edited 2009-09-20 22:11:11 by localhost)