These notes describe the difference between Derby release 10.5.2.0 and the preceding release 10.5.1.1.
Derby is a pure Java relational database engine using standard SQL and JDBC as its APIs.
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)
This is a bug fix release and also provides localization of new 10.5 messages. No new features were added.
The following issues are addressed by Derby release 10.5.2.0. These issues are not addressed in the preceding 10.5.1.1 release.
Issue Id Description DERBY-4287 call to System.getProperty in BCClass.java is not wrapped in a priv block so may fail when running under SecurityManager DERBY-4278 Batch inserts with Clobs fails with the embedded driver DERBY-4276 Update demo's to remove references to com.ibm.db2.jcc.DB2Driver DERBY-4274 SYSCS_UPDATE_STATISTICS takes unnecessary table lock DERBY-4273 A lock could not be obtained within the time requested error in testBTreeForwardScan_fetchRows_resumeAfterWait_nonUnique_split DERBY-4271 testBootSameDbDifferentSubSubProtocol(org.apache.derbyTesting.functionTests.tests.memorydb.BasicInMemoryDbTest)java.sql.SQLException: Database 'BSDDSSP' not found. DERBY-4268 "SECURITY" is reserved as SQL keyword. DERBY-4245 Sorting a table containing a CLOB fails after upgrade to 10.5 DERBY-4239 corruption with storerecovery oc_rec? tests. ERROR XSLA7: Cannot redo operation null in the log when compress occurs during checkpoint, then jvm exits DERBY-4232 XAResource.setTransactionTimeout() makes XAResource.start() fail with the client driver DERBY-4230 DatabaseMetaData.getColumns() returns extra column from view with group by and expression in SELECT list DERBY-4229 encryptionKeyLength connection attribute should be documented DERBY-4221 Provide message localizations for 10.5 DERBY-4218 "Table/View 'MAX_SCAN' does not exist" in org.apache.derbyTesting.functionTests.tests.store.IndexSplitDeadlockTest DERBY-4212 Prepared statement with OFFSET/FETCH gives different results on subsequent execute DERBY-4206 Documentation: Release versions in output need updating DERBY-4205 Developer's Guide: Permissions topic contains wrong info after 10.3 DERBY-4204 Runtime statistics not collected on re-execution of statement DERBY-4198 When using the FOR UPDATE OF clause with SUR (Scroll-insensive updatable result sets), the updateRow() method crashes DERBY-4196 Document initiation of replication from cleanly shut down database DERBY-4193 ASSERT FAILED Scan position already saved with multi-threaded insert/update/delete DERBY-4182 SYSCS_UTIL.SYSCS_INPLACE_COMPRESS_TABLE does not reclaim space lost from an aborted insert DERBY-4171 Connections to on-disk db go to in-memory db if in-memory db with same name is booted DERBY-4165 Document the effect of shutdown on in progress transactions and open connections. DERBY-4164 Make REVOKE statement description mention what happens for open result sets/cursors DERBY-4161 SQL Roles - Clarify documentation regarding the SET ROLE DERBY-4154 DboPowersTest should not hard upgrade the system/wombat database DERBY-4142 java.lang.VerifyError causing java.sql.SQLException: Cannot create an instance of generated class ... in lang.GeneratedColumnsTest and GeneratedColumnsPermsTest on IBM iseries DERBY-4133 'testTableFunctionInJar' fails w/ 'The class 'DummyVTI' does not exist or is inaccessible...' on jvm1.4 DERBY-4118 ComparisonFailure in 'testSysinfo(org.apache.derbyTesting.functionTests.tests.derbynet.SysinfoTest)' on Derby 10.5 / Linux DERBY-4097 'testMixedInsertDelete(org.apache.derbyTesting.functionTests.tests.lang.NullableUniqueConstraintTest)org.apache.derby.client.am.BatchUpdateException' DERBY-4053 Network Server's failure to rollback local transactions on shutdown can cause hang on startup with message java.net.BindException: Address already in use: NET_Bind in derby.log DERBY-4034 Document database name and attribute length and character set limitations for network client DERBY-4018 ArrayIndexOutOfBoundsException in TopService.inService under heavy multithreaded use of EmbeddedDriver DERBY-4001 Sequence comparison with "ALL" does not yield correct results DERBY-3991 Clob.truncate(0) throws exception DERBY-3887 Embedded Derby fails under JBoss because of JMX-related conflicts DERBY-3846 The list of supported message libraries looks wrong DERBY-3737 Document the new SignatureChecker lint tool in the Tools Guide DERBY-3719 '...replication.buffer.LogBufferFullException' causes failover to fail w/ 'XRE07, SQLERRMC: Could not perform operation because the database is not in replication master mode.' DERBY-3669 ClientXADataSource fetched from JNDI not identical as originally bound; some properties have String "null" instead of null DERBY-3598 Modify ReleaseNoteGenerator and ChangesGenerator to exclude issues that are fixed in earlier releases DERBY-3468 Example in documentation of ij.exceptionTrace is wrong DERBY-3417 slave side stop in a client server mode results in SQLState printed without proper error message DERBY-3296 Importing to table in default schema fails when another table with the same name exists in a different schema DERBY-2821 emphasize that derby encryption only supports NoPadding option DERBY-2447 ejbql and floattypes in org.apache.derbyTesting.functionTests.tests.lang.LangScripts intermittently fails with 'expected:<[0.0 ] > but was:<[-0.0] ' DERBY-2074 NullPointerException when two threads load sort factory concurrently DERBY-1923 XML operators - Xalan requirement DERBY-1209 It would be good to add an example to the SYSCS_UTIL.SYSCS_CHECK_TABLE documentation for how to check all tables
Compared with the previous release (10.5.1.1), Derby release 10.5.2.0 introduces the following new features and incompatibilities. These merit your special attention.
Note for DERBY-4230: In order to see the fix for DERBY-4230 for a view created with a previous release, users must drop and recreate the view.
Note for DERBY-3991: Clob.truncate now presents a more specific error message for a negative length.
Note for DERBY-4230
Summary of Change
In order to see the fix for DERBY-4230 for a view created with a previous release, users must drop and recreate the view.
Symptoms Seen by Applications Affected by Change
DERBY-4230 fixed an issue where an extra column might appear in DatabaseMetaData.getColumns() for a view that uses a group by and an expression in the select list. The problem occurred during create view with the old release. After updating your derby jars to a release that has the fix, if you still see the behavior, you will need to drop and recreate the view to get the fix.
Incompatibilities with Previous Release
none
Rationale for Change
The change was made to fix a regression introduced in version 10.3.1.4 by DERBY-681.
Application Changes Required
Users must drop an recreate affected views to see the fix for DERBY-4230.
Note for DERBY-3991
Summary of Change
Clob.truncate now presents a more specific error message for a negative length.
Symptoms Seen by Applications Affected by Change
Specifying a negative length will raise an SQLException with a different state;
- Now: XJ071: Negative length argument '-2' passed in a BLOB or CLOB method.
- Before: XJ070: Negative or zero position argument '-2' passed in a Blob or Clob method.
Incompatibilities with Previous Release
Applications catching a specific exception based on SQLState may behave differently. The incompatibility can only be seen if the application calls Clob.truncate with a negative length using the embedded driver.
Rationale for Change
The embedded driver was changed to be consistent with the client driver for the error message raised when invoking Clob.truncate with a negative length.
Application Changes Required
Look for SQLState XJ071 instead of XJ070 when Clob.truncate is called to catch invocations specifying a negative length.
Derby release 10.5.2.0 was built using the following environment:
- Branch - Source code came from the 10.5 branch.
- Machine - Microsoft Windows XP Professional Version 2002 Service Pack 2.
- Ant - Apache Ant version 1.7.0 compiled on December 13 2006.
- JDK 1.4 - Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2) Classic VM (build 1.4.2, J2RE 1.4.2 IBM Windows 32 build cn142-20061124 (SR7)
- Java 6 - Java(TM) SE Runtime Environment (build pwi3260sr3-20081106_07(SR3)) IBM J9 VM (build 2.4, J2RE 1.6.0 IBM J9 2.4 Windows XP x86-32 jvmwi3260-20081105_25433
- Compiler - The 1.6 compiler was used to compile all classes, but java 1.4.2 classes were used to compile appropriate 1.4.2 support
- JSR 169 - J2ME support was built using IBM's j9 jvm from WEME6.1