Return-Path: Delivered-To: apmail-db-derby-commits-archive@www.apache.org Received: (qmail 13509 invoked from network); 3 May 2008 00:58:48 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 3 May 2008 00:58:48 -0000 Received: (qmail 55516 invoked by uid 500); 3 May 2008 00:58:50 -0000 Delivered-To: apmail-db-derby-commits-archive@db.apache.org Received: (qmail 55486 invoked by uid 500); 3 May 2008 00:58:50 -0000 Mailing-List: contact derby-commits-help@db.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: "Derby Development" List-Id: Delivered-To: mailing list derby-commits@db.apache.org Received: (qmail 55475 invoked by uid 99); 3 May 2008 00:58:50 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 02 May 2008 17:58:49 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 03 May 2008 00:58:12 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 600D123889C3; Fri, 2 May 2008 17:58:26 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r652961 - in /db/derby/code/branches/10.3: CHANGES.html RELEASE-NOTES.html releaseSummary.xml tools/ant/properties/release.properties tools/release/build.xml Date: Sat, 03 May 2008 00:58:26 -0000 To: derby-commits@db.apache.org From: fuzzylogic@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20080503005826.600D123889C3@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: fuzzylogic Date: Fri May 2 17:58:25 2008 New Revision: 652961 URL: http://svn.apache.org/viewvc?rev=652961&view=rev Log: Updates for Derby 10.3.3.0 release. Modified: db/derby/code/branches/10.3/CHANGES.html db/derby/code/branches/10.3/RELEASE-NOTES.html db/derby/code/branches/10.3/releaseSummary.xml db/derby/code/branches/10.3/tools/ant/properties/release.properties db/derby/code/branches/10.3/tools/release/build.xml Modified: db/derby/code/branches/10.3/CHANGES.html URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.3/CHANGES.html?rev=652961&r1=652960&r2=652961&view=diff ============================================================================== --- db/derby/code/branches/10.3/CHANGES.html (original) +++ db/derby/code/branches/10.3/CHANGES.html Fri May 2 17:58:25 2008 @@ -1,8 +1,8 @@ -Changes for Derby 10.3.2.1 +Changes for Derby 10.3.3.0

-Changes for Derby 10.3.2.1

+Changes for Derby 10.3.3.0
  • @@ -12,223 +12,184 @@

    CHANGES

    -

    The following table lists issues in JIRA which were fixed between Derby release 10.3.2.1 and the preceding release 10.3.1.4. This includes issues for the product source, documentation and tests

    +

    The following table lists issues in JIRA which were fixed between Derby release 10.3.3.0 and the preceding release 10.3.2.1. This includes issues for the product source, documentation and tests

    - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - + - + - +
    Issue IdDescription
    DERBY-3232Top-level index.html in releases incorrectly indicates support for JDBC 2.1 in 10.3 releasesDERBY-3658LOBStateTracker should not use SYSIBM.CLOBRELEASELOCATOR when the database is soft-upgraded from 10.2
    DERBY-3216do row level lock space reclamation in btree of indiv rows.DERBY-3649can't call a stored function with an aggregate argument without getting the following error: ERROR 42Y29
    DERBY-3190New simple demo suitable for supported Java ME platformsDERBY-3611ERROR XSDG2: Invalid checksum on Page occurs during mass inserts into two-column bigint PK table
    DERBY-3187SimpleApp (demo) does not work in a client settingDERBY-3603'IN' clause ignores valid results, incorrect qualifier handling suspected
    DERBY-3183'Error starting tracing' in testTraceCommands(org.apache.derbyTesting.functionTests.tests.derbynet.NetworkServerControlApiTest) on Windows...DERBY-3576Merge EngineBlob and EngineClob into a single interface
    DERBY-3178DataSourceTest uses ConnectionEventListener but never verifies that events are getting firedDERBY-3571LOB locators are not released if the LOB columns are not accessed by the client
    DERBY-3176J2ME support for phoneME platform disabled in 10.3DERBY-3560build failure: Error running ${jdk16}/bin/javac compiler if jdk16 is not set on 10.3
    DERBY-3175NullPointerException on INSERT after ALTER TABLE ... DROP COLUMNDERBY-3538NullPointerException during execution for query with LEFT OUTER JOIN whose inner table selects all constants.
    DERBY-3174NetworkServerControlApiTest fails with java.security.AccessControlException if not run as first testDERBY-3525Remove unneeded code to get JDBC level in BrokeredConnection and BrokeredStatement classes
    DERBY-3172ConnectionEventListener.connectionErrorOccurred not being executed when SQLState 08006 Error is thrownDERBY-3496CallableStatement with output parameter leaves cursor open after execution
    DERBY-3159SYSCS_SET_USER_ACCESS fails if the user name contains characters not allowed in regular identifiers. DERBY-3458dblook fails on TERRITORY_BASED databases
    DERBY-3158Repeat calls to SYSCS_UTIL.SYSCS_SET_USER_ACCESS() for the same user and permission fail with repeated user in list exception.DERBY-3426Remove unused code for autogenerated keys columnNames
    DERBY-3147Remove unused code that allow identifiers to be lower-cased.DERBY-3422Embedded returns wrong value for DatabaseMetaData.autoCommitFailureClosesAllResultSets()
    DERBY-3145ComparisonFailure in synonym(org.apache.derbyTesting.functionTests.tests.lang.LangScripts)DERBY-3421Remove unused code for caching of connect bytes
    DERBY-3142sysinfo ignores derby.ui.localeDERBY-3397Derby 10.3.1.4 and 10.3.2.1 break scrollable result sets? Hibernate Query.setFirstResult and/or setMaxResults
    DERBY-3140InListMultiProbeTest creates 30000 DataRow objects that do not get released during suites.All runDERBY-3379"No Current connection" on PooledConnection.getConnection() if pooled connection is reused during connectionClosed processing
    DERBY-3136Cut down on object creations in LIKE clause implementation of territory based characters.DERBY-3373SQL "distinct" and "order by" needed together
    DERBY-3133Syntax for GRANT table permission does not mention that several privileges may be specified in a listDERBY-3365Network Server stores a duplicate entry in the lob hash map for every lob
    DERBY-3126Inserting BigDecimal value in PreparedStatement with setBigDecimal into double column loses fractional digitsDERBY-3354Select from large lob table with embedded gives OutOfMemoryError
    DERBY-3123Style sheet (CSS) references in demo HTML files are incorrectDERBY-3347ERROR XSDB3: Container information cannot change once written
    DERBY-3119Derby does not resolve functions to methods with Integer return type.DERBY-3343Subsequent calls to PreparedStatement cause SQLIntegrityConstraintViolationException on column that is "Generated always"
    DERBY-3118Simple demo is out of dateDERBY-3321NullPointerException for 'NOT EXISTS' with nested subquery
    DERBY-3110server hangs after trace on command failsDERBY-3316Leak in client if ResultSet not closed
    DERBY-3109Nonexistent property derby.database.defaultAccessMode shown in Developers Guide: User Authentication examplesDERBY-3315Should UCS_BASIC character types have to look at collation elements when dealing with escape character in the LIKE clause?
    DERBY-3107On client, Clob.free() does not release locators.DERBY-3309Minor cleanups in ClientPooledConnection40 and ClientPooledConnection
    DERBY-3099Possible bug in interaction with buffer manager causing pages not to be freed on rollback to savepointDERBY-3308Broken synchronization for event handling in ClientPooledConnection40
    DERBY-3098LOB locks are not released after free().DERBY-3304Explicit commit inside a java procedure makes a dynamic result sets passed out unavailable
    DERBY-3096SSL handshake throws "bad_certificate" when server tries to authenticate clientDERBY-3303ArrayIndexOutOfBoundsException at MergeSort.compare
    DERBY-3093Intermittent transaction failure caused by internal duplicate savepoint name for triggersDERBY-3302NullPointerException during recovery of database with territory-based collation
    DERBY-3086The server policy needs to grant derbynet.jar more permissions so that sysinfo and drda tracing will workDERBY-3301Incorrect result from query with nested EXIST
    DERBY-3085Fails to handle BLOB fields with a PreparedStatement with size >32750 bytesDERBY-3288wrong query result in presence of a unique index
    DERBY-3082DataSourceTest fixture testAllDataSources fails with AssertionFailedError through assertStringFormat on IBM iseriesDERBY-3279Derby 10.3.X ignores ORDER BY DESC when target column has an index and is used in an OR clause or an IN list.
    DERBY-3081cannot create instance of generated class because of java.lang.VerifyError in 4 tests on IBM iseriesDERBY-3260NullPointerException caused by race condition in GenericActivationHolder
    DERBY-3080With TERRITORY_BASED collation, when multiple characters map to a single collation element '_' matches a single collation element rather than a single characterDERBY-3257SELECT with HAVING clause containing OR conditional incorrectly return 1 row - should return 2 rows - works correctly with 10.2 DB
    DERBY-3077Trying to reconnect with derby client after bringing server down throws SQL Exception 58009 rather than 08XXX exceptionDERBY-3253NullPointer Exception (NPE) from query with IN predicate containing two values and joining a view with a large table. ERROR 38000: The exception 'java.lang.NullPointerException' was thrown while evaluating an expression.
    DERBY-3075Client error: 08001 Error connecting to server.. throws SQLTransientConnectionException instead of SQLNonTransientConnectionExceptionDERBY-3247Activation for a dynamic ResultSet created from an Prepared/CallableStatement will not be closed until garbage collection indicates it is unused to the LCC and the LCC closes it
    DERBY-3074Database shutdown exception 08006 throws SQLTransientConnectionException instead of SQLNonTransientConnectionExceptionDERBY-3244NullPointerException in ....B2IRowLocking3.searchLeftAndLockPreviousKey
    DERBY-3061Wrong results from query with two conjunctsDERBY-3243(jdbc net client) exception during normal iteration through "ResultSet" of "select * from t"
    DERBY-3054lang/synonym.sql fails with weme 6.1 with junit.framework.ComparisonFailure: Output at line 383 expected:<...1...> but was:<...2...>DERBY-3238When table contains large LOB values (> ~32K) trigger execution fails for that row with ERROR XCL30: An IOException was thrown when reading a 'BLOB'
    DERBY-3046setObj(int,Object,int) causes NPE if no parameter markers are present; should generate SQLException as for setObject(int,Object)DERBY-3231Sorting on COUNT with OR and GROUP BY delivers wrong results.
    DERBY-3038SYSCS_IMPORT_TABLE FAILS with No current connection after shutdown/reconnect to encrypted database : 10.3.1.4 regression DERBY-3230Selecting data from a Table raises Error XN008: Query processing has been terminated due to an error on the server
    DERBY-3033select query results in nullpointer exception in skipScan()DERBY-3229testSysinfoLocale fails if derbyTools.jar is first in the classpath
    DERBY-3032java.lang.ClassCastException returning null from a case statement in subqueryDERBY-3221"java.sql.SQLException: The conglomerate (-5) requested does not exist." from Derby 10.3.1.4 embedded within Eclipse 3.3 and RAD 7.0
    DERBY-3027CollationTest fails with "Unexpected row count: expected:<0> but was:<1>" when Xalan 2.7 jars are in classpathDERBY-3214Optimizer can see negative cost estimates when pulling Optimizables from the join order.
    DERBY-3025NPE when connecting to database with securityMechanism=8DERBY-3194LOCALIZEDDISPLAY of CURRENT_TIMESTAMP returns only the TIME
    DERBY-3007Documentation - SYSCS EXPORT TABLE system procedures cannot export data to an existing fileDERBY-3094Grouping of expressions causes NullPointerException
    DERBY-3000getTables() call with 10.3 causes java.sql.SQLException: The parameter position '8' is out of range. The number of parameters for this prepared statement is '7'.DERBY-3044Typos in documentation
    DERBY-2989Insert into table with constraints fails if the table name is "indicator" (or any other SQL keyword)DERBY-3037Language ResultSet.finish() is called even when the ResultSet is going to be re-used.
    DERBY-2986Query involving CASE statement significantly slower in 10.3.1.4 than in 10.2.2.0DERBY-3023Different result rows depending on the sequence of INNER JOIN and OUTER JOIN
    DERBY-2979Illegal Argument exception while running the svt, mailjdbcDERBY-2935DDMReader.readLengthAndCodePoint() decodes long integer incorrectly
    DERBY-2972Update or select with function in the where clause causes with TERRITORY_BASED collation fails with ERROR 42818: Comparisons between 'VARCHAR' and 'VARCHAR' are not supported.DERBY-2892Closing a resultset after retrieving a large > 32665 bytes value with Network Server does not release locks
    DERBY-2967Single character does not match high value unicode character with collation TERRITORY_BASEDDERBY-2720remove dead code associated with unsupported National Char implementation
    DERBY-2961TriggerTest.testTypesINActionStatement fails with 'ASSERT FAILED col1.getClass() (class org.apache.derby.iapi.types.SQLClob) expected to be the same as col2.getClass() (class org.apache.derby.iapi.types.CollatorSQLClob)DERBY-2653Expose existing auto-generated key functionality through more JDBC APIs in Derby Client.
    DERBY-2957ASSERT FAILED col1.getClass() (class org.apache.derby.iapi.types.SQLChar) expected to be the same as col2.getClass() (class org.apache.derby.iapi.types.CollatorSQLChar) in NistScripts dml002 test with collated database
    DERBY-2938DataSourceReference Test fails with I/O Error on ZOS with ibm15
    DERBY-2910SimpleStringOperatorNode in it's bindExpression method generates a character string CAST if required but does not set the correct collation.
    DERBY-2906derbynet.jar & derbytools.jar incorrectly have a META-INF/services/java.sql.Driver entry
    DERBY-2903RunClassPathTester regression test gets diff because of error message difference
    DERBY-2902AS IDENTITY (START WITH -9223372036854775808) fails
    DERBY-2564ContextService.notifyAllActiveThreads() and network server code need a privileged block around the calls to Thread.interrupt()
    DERBY-2352Assertion Failure with order by and group by expressionDERBY-2559recreating a datasource using javax.naming.Reference from a ClientDataSource40 fails
    DERBY-2351ORDER BY with expression with distinct in the select list returns incorrect result
    DERBY-2297In the Dev Guide example derby.database.readOnlyAccessUsers is incorrectly mentioned as derby.database.readAccessUsers
    DERBY-2188Developer's Guide talks about a jdbc url property "locale" which is not supported by Derby.
    DERBY-2073Inserting BigDecimal value in PreparedStatement into double column loses fractional digits
    DERBY-2016ArrayIndexOutOfBoundsException for COALESCE with aggregate functions
    DERBY-1790DatabaseMetaData.getTables() with passed in table type of SYNONYM returns system tables and not SYNONYMS
    DERBY-1769Add mention that Derby supports rowUpdated, rowDeleted with a result set concurrency of CONCUR_READ_ONLY
    DERBY-974ClientDriver can lose some connection propertiesDERBY-2182Documentation for derby.system.bootAll is missing
    DERBY-957Long passed into an exception gets displayed using locale specific formatting. i18n/locale issueDERBY-2142NullPointerException while using XAConnection/PooledConnection in a heavily contended multithreaded scenario
    DERBY-857LDAP user authentication fails under a security managerDERBY-1585derbylang/procedureInTrigger: not able to create trigger due to an open ResultSet
    Modified: db/derby/code/branches/10.3/RELEASE-NOTES.html URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.3/RELEASE-NOTES.html?rev=652961&r1=652960&r2=652961&view=diff ============================================================================== --- db/derby/code/branches/10.3/RELEASE-NOTES.html (original) +++ db/derby/code/branches/10.3/RELEASE-NOTES.html Fri May 2 17:58:25 2008 @@ -1,10 +1,10 @@ -Release Notes for Derby 10.3.2.1 +Release Notes for Derby 10.3.3.0

    -Release Notes for Derby 10.3.2.1

    +Release Notes for Derby 10.3.3.0
    -

    These notes describe the difference between Derby release 10.3.2.1 and the preceding release 10.3.1.4.

    +

    These notes describe the difference between Derby release 10.3.3.0 and the preceding release 10.3.2.1.

    • @@ -52,6 +52,82 @@
    + +

    + +IMPORTANT NOTICE: +
    + +
    + If you are currently using Derby 10.3.1.4 or Derby 10.3.2.1, it is strongly
    + recommended that you upgrade to Derby 10.4.1.3 or 10.3.3.0 to avoid
    + any chance of database corruption due to an issue with multiple threads
    + accessing a database that is documented in DERBY-3347.
    + +
    + This bug can cause unrecoverable database corruption during periods of
    + heavy, multi-thread I/O operations. The error produced in the test case
    + used to diagnose the problem was:
    + +
    + ERROR XSDB3: Container information cannot change once written: was 0, now 80.
    + +
    + It is felt that other errors might also be generated when this type of
    + corruption occurs. The corruption message will most likely refer to page 0
    + of the container. For example:
    + +
    + ERROR XSDG1: Page Page(0 ,Container(0, 5856)) could not be
    + written...
    + +
    + This bug corrupts the pages on disk and can go unnoticed. If you do not
    + run database consistency checks regularly it is recommended you begin doing
    + so as soon as possible after the upgrade. To insure that corruption has not
    + already occurred in existing databases, after upgrade run the database
    + consistency check at least once to validate all tables in the database. This
    + process is documented at:
    + +
    + +http://wiki.apache.org/db-derby/DatabaseConsistencyCheck +
    + +
    +If the corruption has already occurred there is no guaranteed recovery of data
    +other than to recover from the last good backup. When doing so one should
    +also check that the previous backup did not also have the corruption.
    + +
    +In some cases one may recover data from the existing
    +database, depending on the extent of the corruption, but will require
    +by hand data recovery. Depending on the type of corruption this may
    +be successful or not. one should consult the Derby list if attempting
    +this recovery - no automatic software solution to this recovery exists.
    + +
    + Version 10.3.3.0 can be downloaded from:
    + +http://db.apache.org/derby/releases/release-10.3.3.0.cgi +
    + +
    + Version 10.4.1.3 can be downloaded from:
    + +http://db.apache.org/derby/releases/release-10.4.1.3.cgi +
    + +
    + For help or questions, please post to the Derby User list.
    + For instructions on how to subcribe and post to the Derby User list,
    + please see:
    + +
    + http://db.apache.org/derby/derby_mail.html
    + +

    +

    New Features

    @@ -59,7 +135,7 @@

    -This is a maintenance release. No new features have been added. +This is a bugfix release. No new features have been added.

    @@ -67,248 +143,600 @@

    Bug Fixes

    -

    The following issues are addressed by Derby release 10.3.2.1. These issues are not addressed in the preceding 10.3.1.4 release.

    +

    The following issues are addressed by Derby release 10.3.3.0. These issues are not addressed in the preceding 10.3.2.1 release.

    - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - + - + - + - + - + - + - + - +
    Issue IdDescription
    DERBY-3232Top-level index.html in releases incorrectly indicates support for JDBC 2.1 in 10.3 releasesDERBY-3658LOBStateTracker should not use SYSIBM.CLOBRELEASELOCATOR when the database is soft-upgraded from 10.2
    DERBY-3216do row level lock space reclamation in btree of indiv rows.DERBY-3649can't call a stored function with an aggregate argument without getting the following error: ERROR 42Y29
    DERBY-3190New simple demo suitable for supported Java ME platformsDERBY-3611ERROR XSDG2: Invalid checksum on Page occurs during mass inserts into two-column bigint PK table
    DERBY-3187SimpleApp (demo) does not work in a client settingDERBY-3603'IN' clause ignores valid results, incorrect qualifier handling suspected
    DERBY-3176J2ME support for phoneME platform disabled in 10.3DERBY-3576Merge EngineBlob and EngineClob into a single interface
    DERBY-3175NullPointerException on INSERT after ALTER TABLE ... DROP COLUMNDERBY-3571LOB locators are not released if the LOB columns are not accessed by the client
    DERBY-3172ConnectionEventListener.connectionErrorOccurred not being executed when SQLState 08006 Error is thrownDERBY-3560build failure: Error running ${jdk16}/bin/javac compiler if jdk16 is not set on 10.3
    DERBY-3159SYSCS_SET_USER_ACCESS fails if the user name contains characters not allowed in regular identifiers. DERBY-3538NullPointerException during execution for query with LEFT OUTER JOIN whose inner table selects all constants.
    DERBY-3158Repeat calls to SYSCS_UTIL.SYSCS_SET_USER_ACCESS() for the same user and permission fail with repeated user in list exception.DERBY-3525Remove unneeded code to get JDBC level in BrokeredConnection and BrokeredStatement classes
    DERBY-3147Remove unused code that allow identifiers to be lower-cased.DERBY-3496CallableStatement with output parameter leaves cursor open after execution
    DERBY-3142sysinfo ignores derby.ui.localeDERBY-3458dblook fails on TERRITORY_BASED databases
    DERBY-3136Cut down on object creations in LIKE clause implementation of territory based characters.DERBY-3426Remove unused code for autogenerated keys columnNames
    DERBY-3133Syntax for GRANT table permission does not mention that several privileges may be specified in a listDERBY-3422Embedded returns wrong value for DatabaseMetaData.autoCommitFailureClosesAllResultSets()
    DERBY-3126Inserting BigDecimal value in PreparedStatement with setBigDecimal into double column loses fractional digitsDERBY-3421Remove unused code for caching of connect bytes
    DERBY-3123Style sheet (CSS) references in demo HTML files are incorrectDERBY-3397Derby 10.3.1.4 and 10.3.2.1 break scrollable result sets? Hibernate Query.setFirstResult and/or setMaxResults
    DERBY-3119Derby does not resolve functions to methods with Integer return type.DERBY-3379"No Current connection" on PooledConnection.getConnection() if pooled connection is reused during connectionClosed processing
    DERBY-3118Simple demo is out of dateDERBY-3373SQL "distinct" and "order by" needed together
    DERBY-3110server hangs after trace on command failsDERBY-3365Network Server stores a duplicate entry in the lob hash map for every lob
    DERBY-3109Nonexistent property derby.database.defaultAccessMode shown in Developers Guide: User Authentication examplesDERBY-3354Select from large lob table with embedded gives OutOfMemoryError
    DERBY-3107On client, Clob.free() does not release locators.DERBY-3347ERROR XSDB3: Container information cannot change once written
    DERBY-3099Possible bug in interaction with buffer manager causing pages not to be freed on rollback to savepointDERBY-3343Subsequent calls to PreparedStatement cause SQLIntegrityConstraintViolationException on column that is "Generated always"
    DERBY-3098LOB locks are not released after free().DERBY-3321NullPointerException for 'NOT EXISTS' with nested subquery
    DERBY-3096SSL handshake throws "bad_certificate" when server tries to authenticate clientDERBY-3316Leak in client if ResultSet not closed
    DERBY-3093Intermittent transaction failure caused by internal duplicate savepoint name for triggersDERBY-3315Should UCS_BASIC character types have to look at collation elements when dealing with escape character in the LIKE clause?
    DERBY-3086The server policy needs to grant derbynet.jar more permissions so that sysinfo and drda tracing will workDERBY-3309Minor cleanups in ClientPooledConnection40 and ClientPooledConnection
    DERBY-3085Fails to handle BLOB fields with a PreparedStatement with size >32750 bytesDERBY-3308Broken synchronization for event handling in ClientPooledConnection40
    DERBY-3081cannot create instance of generated class because of java.lang.VerifyError in 4 tests on IBM iseriesDERBY-3304Explicit commit inside a java procedure makes a dynamic result sets passed out unavailable
    DERBY-3080With TERRITORY_BASED collation, when multiple characters map to a single collation element '_' matches a single collation element rather than a single characterDERBY-3303ArrayIndexOutOfBoundsException at MergeSort.compare
    DERBY-3077Trying to reconnect with derby client after bringing server down throws SQL Exception 58009 rather than 08XXX exceptionDERBY-3302NullPointerException during recovery of database with territory-based collation
    DERBY-3075Client error: 08001 Error connecting to server.. throws SQLTransientConnectionException instead of SQLNonTransientConnectionExceptionDERBY-3301Incorrect result from query with nested EXIST
    DERBY-3074Database shutdown exception 08006 throws SQLTransientConnectionException instead of SQLNonTransientConnectionExceptionDERBY-3288wrong query result in presence of a unique index
    DERBY-3061Wrong results from query with two conjunctsDERBY-3279Derby 10.3.X ignores ORDER BY DESC when target column has an index and is used in an OR clause or an IN list.
    DERBY-3046setObj(int,Object,int) causes NPE if no parameter markers are present; should generate SQLException as for setObject(int,Object)DERBY-3260NullPointerException caused by race condition in GenericActivationHolder
    DERBY-3038SYSCS_IMPORT_TABLE FAILS with No current connection after shutdown/reconnect to encrypted database : 10.3.1.4 regression DERBY-3257SELECT with HAVING clause containing OR conditional incorrectly return 1 row - should return 2 rows - works correctly with 10.2 DB
    DERBY-3033select query results in nullpointer exception in skipScan()DERBY-3253NullPointer Exception (NPE) from query with IN predicate containing two values and joining a view with a large table. ERROR 38000: The exception 'java.lang.NullPointerException' was thrown while evaluating an expression.
    DERBY-3032java.lang.ClassCastException returning null from a case statement in subqueryDERBY-3247Activation for a dynamic ResultSet created from an Prepared/CallableStatement will not be closed until garbage collection indicates it is unused to the LCC and the LCC closes it
    DERBY-3025NPE when connecting to database with securityMechanism=8DERBY-3244NullPointerException in ....B2IRowLocking3.searchLeftAndLockPreviousKey
    DERBY-3007Documentation - SYSCS EXPORT TABLE system procedures cannot export data to an existing fileDERBY-3243(jdbc net client) exception during normal iteration through "ResultSet" of "select * from t"
    DERBY-3000getTables() call with 10.3 causes java.sql.SQLException: The parameter position '8' is out of range. The number of parameters for this prepared statement is '7'.DERBY-3238When table contains large LOB values (> ~32K) trigger execution fails for that row with ERROR XCL30: An IOException was thrown when reading a 'BLOB'
    DERBY-2989Insert into table with constraints fails if the table name is "indicator" (or any other SQL keyword)DERBY-3231Sorting on COUNT with OR and GROUP BY delivers wrong results.
    DERBY-2986Query involving CASE statement significantly slower in 10.3.1.4 than in 10.2.2.0DERBY-3230Selecting data from a Table raises Error XN008: Query processing has been terminated due to an error on the server
    DERBY-2972Update or select with function in the where clause causes with TERRITORY_BASED collation fails with ERROR 42818: Comparisons between 'VARCHAR' and 'VARCHAR' are not supported.DERBY-3229testSysinfoLocale fails if derbyTools.jar is first in the classpath
    DERBY-2967Single character does not match high value unicode character with collation TERRITORY_BASEDDERBY-3221"java.sql.SQLException: The conglomerate (-5) requested does not exist." from Derby 10.3.1.4 embedded within Eclipse 3.3 and RAD 7.0
    DERBY-2961TriggerTest.testTypesINActionStatement fails with 'ASSERT FAILED col1.getClass() (class org.apache.derby.iapi.types.SQLClob) expected to be the same as col2.getClass() (class org.apache.derby.iapi.types.CollatorSQLClob)DERBY-3214Optimizer can see negative cost estimates when pulling Optimizables from the join order.
    DERBY-2957ASSERT FAILED col1.getClass() (class org.apache.derby.iapi.types.SQLChar) expected to be the same as col2.getClass() (class org.apache.derby.iapi.types.CollatorSQLChar) in NistScripts dml002 test with collated databaseDERBY-3194LOCALIZEDDISPLAY of CURRENT_TIMESTAMP returns only the TIME
    DERBY-2910SimpleStringOperatorNode in it's bindExpression method generates a character string CAST if required but does not set the correct collation.DERBY-3094Grouping of expressions causes NullPointerException
    DERBY-2906derbynet.jar & derbytools.jar incorrectly have a META-INF/services/java.sql.Driver entryDERBY-3044Typos in documentation
    DERBY-2902AS IDENTITY (START WITH -9223372036854775808) failsDERBY-3037Language ResultSet.finish() is called even when the ResultSet is going to be re-used.
    DERBY-2564ContextService.notifyAllActiveThreads() and network server code need a privileged block around the calls to Thread.interrupt()DERBY-3023Different result rows depending on the sequence of INNER JOIN and OUTER JOIN
    DERBY-2352Assertion Failure with order by and group by expressionDERBY-2935DDMReader.readLengthAndCodePoint() decodes long integer incorrectly
    DERBY-2351ORDER BY with expression with distinct in the select list returns incorrect result
    DERBY-2297In the Dev Guide example derby.database.readOnlyAccessUsers is incorrectly mentioned as derby.database.readAccessUsers DERBY-2892Closing a resultset after retrieving a large > 32665 bytes value with Network Server does not release locks
    DERBY-2188Developer's Guide talks about a jdbc url property "locale" which is not supported by Derby.DERBY-2720remove dead code associated with unsupported National Char implementation
    DERBY-2073Inserting BigDecimal value in PreparedStatement into double column loses fractional digitsDERBY-2653Expose existing auto-generated key functionality through more JDBC APIs in Derby Client.
    DERBY-2016ArrayIndexOutOfBoundsException for COALESCE with aggregate functionsDERBY-2559recreating a datasource using javax.naming.Reference from a ClientDataSource40 fails
    DERBY-1790DatabaseMetaData.getTables() with passed in table type of SYNONYM returns system tables and not SYNONYMSDERBY-2351ORDER BY with expression with distinct in the select list returns incorrect result
    DERBY-1769Add mention that Derby supports rowUpdated, rowDeleted with a result set concurrency of CONCUR_READ_ONLYDERBY-2182Documentation for derby.system.bootAll is missing
    DERBY-974ClientDriver can lose some connection propertiesDERBY-2142NullPointerException while using XAConnection/PooledConnection in a heavily contended multithreaded scenario
    DERBY-857LDAP user authentication fails under a security managerDERBY-1585derbylang/procedureInTrigger: not able to create trigger due to an open ResultSet

    Issues

    -

    Compared with the previous release (10.3.1.4), Derby release 10.3.2.1 introduces the following new features and incompatibilities. These merit your special attention.

    +

    Compared with the previous release (10.3.2.1), Derby release 10.3.3.0 introduces the following new important fixes. These merit your special attention.


    -Note for DERBY-2967

    +Note for DERBY-3347 +
    + + + + +

    Summary of Change

    + +

    +A bug that could cause unrecoverable database corruption has been fixed. +

    + + + + + +

    Symptoms Seen by Applications Affected by Change

    + +

    +A bug that could cause database corruption was introduced in the 10.3 +codeline and affects the following releases: +

    + + +
      + +
    • Apache Derby 10.3.1.4
    • + +
    • Apache Derby 10.3.2.1
    • + +
    + + +

    +Users who are hit by this bug may experience exceptions at various +times during execution of SQL statements, booting or shutdown of a +database, or during checkpointing. It may result in a number of +different error messages, including any of these: +

    + + +
    +ERROR XSDB3: Container information cannot change once written: was 0, now 80
    +ERROR XSDG1: Page Page(1039,Container(0, 5856)) could not be written to disk, please check if disk is full.
    +ERROR XSDG2: Invalid checksum on Page Page(0,Container(0, 1313))
    +ERROR XSDG3: Meta-data for Container org.apache.derby.impl.store.raw.data.RAFContainer4@1afb0c7 could not be accessed
    +ERROR XSLA1: Log Record has been sent to the stream, but it cannot be applied to the store (Object null). This may cause recovery problems also.
    +
    + + + + +

    Incompatibilities with Previous Release

    + +

    +None. +

    + + + + + +

    Rationale for Change

    + +

    +Database corruption is bad. +

    + + + + + +

    Application Changes Required

    + +

    +No changes are required. However, since the database corruption may go +unnoticed for a while, users may want to check the consistency of +their databases after upgrading Derby. The process is described on the +following wiki page: + +http://wiki.apache.org/db-derby/DatabaseConsistencyCheck +. If a corruption is detected, restoring the database from backup +is the only reliable way to recover. +

    + + + +
    +
    +

    +Note for DERBY-3301

    + +

    Summary of Change

    - Databases with territory based collation might see the behavior of LIKE predicate in WHERE clause has changed. +Queries with nested EXIST, ANY or IN clauses now return correct results.

    + + +

    Symptoms Seen by Applications Affected by Change

    -In territory based databases, the LIKE predicate will now comply with SQL specification(Derby already follows SQL specification for UCS_BASIC databases). SQL specification for LIKE predicate requires that database should do one character comparison at a time. Prior to the fix that went in as part of DERBY-2967, Derby did string comparison rather than character comparison for LIKE. This causes a problem with territory based database because the collation element(s) for a string of characters may not be same as the collation element(s) for inidivdual characters that make up that string. -In addition, the metacharacter _ in the pattern in a LIKE predicate will now consume exactly one character rather than working on number of collation elements. -To show the impact on application, consider following eg. Say we are working with a territory where character 'z' has same collation elements as 'xy'. For such a territory consider following LIKE predicate -'zcb' LIKE 'xy_b' -Prior to DERBY-2967, Derby will return TRUE because collation elements for 'z' matched 'xy' and 'c' was consumed by '_' and 'b' matched 'b'. But this does not follow SQL specification. SQL specification requires one character comparison at a time in LIKE. With the fix for DERBY-2967, the LIKE predicate in this example will return FALSE because the collation element(s) for 'z' does not match collation element(s) for 'x'. -In addition, the metacharacter _ in pattern for LIKE will consume *one* character in the string value. So for an eg clause 'xycb' LIKE '_cb' will return FALSE because metacharacter _ will consume 'x' and since 'c' does not match 'y', Derby will return FALSE. +In the previous release, applications that executed SQL statements +containing nested EXISTS, ANY or IN clauses could see fewer rows +than those satisfying the query. In particular, rows that had the +same value for one of the selected columns as another row might not +have been returned.

    + + + +

    Incompatibilities with Previous Release

    + +

    +None. +

    + + +

    Rationale for Change

    -The previous behavior violated the SQL specification. The new behavior is correct. +The previous behavior violated the ANSI SQL standard. The new +behavior is correct.

    + + + +

    Application Changes Required

    + +

    +Typically none, but applications must handle that the correct results are now returned. +

    + + +
    +
    +

    +Note for DERBY-2351

    +
    + + +

    Summary of Change

    + +

    An ORDER BY clause of a DISTINCT query which specifies to order by a +column which was not in the DISTINCT list is now rejected, because the +intent of the query is ambiguous. Previously, Derby instead produced +non-distinct results. +Also, an ORDER BY clause which specifies a table-name-qualified column alias +is now rejected as invalid, where previously it was accepted.

    + + +

    Symptoms Seen by Applications Affected by Change

    + +
    New rules for DISTINCT and ORDER BY
    + +

    +Applications which specify certain combinations of SELECT DISTINCT with +ORDER BY will now receive an error message, whereas formerly such applications +received non-distinct results.

    + +

    As an example, take the following:

    + +

    +create table person (name varchar(10), age int);
    +insert into person values ('John', 10);
    +insert into person values ('John', 30);
    +insert into person values ('Mary', 20);
    + +
    +SELECT DISTINCT name FROM person ORDER BY age;
    + +

    + +

    The query above is now rejected, with the error message:

    + +
    + ERROR 42879: The ORDER BY clause may not contain column 'AGE', + since the query specifies DISTINCT and that column does not appear + in the query result. +
    + +

    If the AGE column is included in the DISTINCT list in the above query, +there is no ambiguity

    + +
    New column alias rules
    + +

    +Applications which specify a column alias for a column in the SELECT +statement, and which specify an ORDER BY clause which specifies that +column alias qualified by the table name, will now receive an error +indicating that the ORDER BY clause is invalid. +

    + +

    As an example, take the following:

    + +

    create table t1 (i int, j int);
    + select t1.id as idcolumn1, t1.id as idcolumn2 from t1 order by t1.idcolumn1, t1.idcolumn2;

    + +

    This query is now rejected, as there is no column named 'idcolumn1' +in table 't1'. The error message is:

    + +
    + ERROR 42X04: Column 'T1.IDCOLUMN1' is either not in any table in + the FROM list or appears within a join specification and is outside + the scope of the join specification or appears in a HAVING clause + and is not in the GROUP BY list. If this is a CREATE or ALTER TABLE + statement then 'T1.IDCOLUMN1' is not a column in the target table. +
    + +

    Valid forms of the query above are:

    + +

    + select t1.id as idcolumn1, t1.id as idcolumn2 from t1 order by idcolumn1, idcolumn2;

    + +

    or

    + +

    + select t1.id as idcolumn1, t1.id as idcolumn2 from t1 order by t1.id, t1.id;

    + + +

    Rationale for Change

    + +

    When the query ambiguously specifies both DISTINCT and ORDER BY, Derby +was unsure whether to return the rows properly ordered, but non-distinct, +or to return a distinct set of rows, but in an unknown order. Since no +clear resolution of the ambiguity could be found, we chose instead to +reject the query.

    + +

    The rules for resolving column references in ORDER BY clauses have been +enhanced to consider column aliases and column names more fully. +Derby now uses different resolution rules depending on whether +the ORDER BY column reference is table.column, or just column: +

      + +
    • if the table name is provided, we match against the + underlying table name, and don't consider any aliases
    • + +
    • if the table name is NOT provided, we first match against + the alias name, if present, and if no alias name matches + then we match against the underlying source column name.
    • + +
    + +

    + + +

    Application Changes Required

    + +

    +A query which specifies ordering by a non-distinct column should instead +include the ORDER BY column in the DISTINCT list, to resolve the ambiguity +about which values of that column should be used to distinctly identify +the resulting rows.

    + +

    +A query which specifies table-name.alias-name should be rewritten to specify +either simply alias-name, or table-name.column-name. +

    Build Environment

    -

    Derby release 10.3.2.1 was built using the following environment:

    +

    Derby release 10.3.3.0 was built using the following environment:

    • Branch - Source code came from the 10.3 branch.
    • -Machine - MKS Toolkit 8.1 on Microsoft Windows XP Professional Version 2002 Service Pack 2.
    • +Machine - Cygwin on Microsoft Windows XP Professional Version 2002 Service Pack 2.
    • Ant - Apache Ant version 1.7.0 compiled on December 13 2006.
    • @@ -316,7 +744,7 @@
    • Java 6 - Java(TM) SE Runtime Environment (build 1.6.0_01-b06).
    • -OSGi - The osgi.jar was used to build org.apache.derby.osgi.EmbeddedActivator.
    • +OSGi - osgi.jar was used to build org.apache.derby.osgi.EmbeddedActivator.
    • Compiler - The 1.4.2_07-b05 javac was used to compile all classes except for the JDBC4 drivers. The JDBC4 driver classes were compiled using the 1.6.0_01-b06 javac.
    • Modified: db/derby/code/branches/10.3/releaseSummary.xml URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.3/releaseSummary.xml?rev=652961&r1=652960&r2=652961&view=diff ============================================================================== --- db/derby/code/branches/10.3/releaseSummary.xml (original) +++ db/derby/code/branches/10.3/releaseSummary.xml Fri May 2 17:58:25 2008 @@ -31,7 +31,7 @@ E.g.: 10.3.0.4 --> -10.3.2.1 +10.3.3.0 -10.3.1.4 +10.3.2.1 @@ -63,7 +63,7 @@ Say here whether you used osgi.jar to build org.apache.derby.osgi.EmbeddedActivator. E.g.: The osgi.jar was used to build org.apache.derby.osgi.EmbeddedActivator. --> - The osgi.jar was used to build org.apache.derby.osgi.EmbeddedActivator. + osgi.jar was used to build org.apache.derby.osgi.EmbeddedActivator.