Return-Path: X-Original-To: apmail-db-general-archive@www.apache.org Delivered-To: apmail-db-general-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 574B3DE62 for ; Wed, 19 Dec 2012 18:22:30 +0000 (UTC) Received: (qmail 58694 invoked by uid 500); 19 Dec 2012 18:22:30 -0000 Delivered-To: apmail-db-general-archive@db.apache.org Received: (qmail 58640 invoked by uid 500); 19 Dec 2012 18:22:29 -0000 Mailing-List: contact general-help@db.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: general@db.apache.org List-Id: Delivered-To: mailing list general@db.apache.org Received: (qmail 58578 invoked by uid 99); 19 Dec 2012 18:22:29 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 19 Dec 2012 18:22:29 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.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; Wed, 19 Dec 2012 18:22:24 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id E9CB82388C35 for ; Wed, 19 Dec 2012 18:20:46 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r843115 [42/44] - in /websites/production/db/content/derby: ./ binaries/ blogs/ blogs/images/ dev/ docs/ images/ integrate/ integrate/plugin_help/ integrate/plugin_help/images/ logo/ manuals/ papers/ papers/DerbyTut/ releases/ skin/ skin/cs... Date: Wed, 19 Dec 2012 18:20:28 -0000 To: general@db.apache.org From: rhillegas@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20121219182046.E9CB82388C35@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Added: websites/production/db/content/derby/releases/release-10.9.1.0.html ============================================================================== --- websites/production/db/content/derby/releases/release-10.9.1.0.html (added) +++ websites/production/db/content/derby/releases/release-10.9.1.0.html Wed Dec 19 18:20:21 2012 @@ -0,0 +1,1840 @@ + + + + + + + + +Apache Derby 10.9.1.0 Release + + + + + + + + + +
+ +
+apache > db +
+ +
+ + + + +
+Apache DB Project +
+ + + + +
+
+
+
+ +
+ + +
+ +
+ +   +
+ + + + + +
+
Font size: +   +   +   +
+

Apache Derby 10.9.1.0 Release

+ + +

Distributions

+
+

Use the links below to download a distribution of Apache Derby. You should always verify the integrity of distribution files downloaded from a mirror.

+

You are currently using [preferred]. If you encounter a problem with this mirror, then please select another. If all mirrors are failing, there are backup mirrors at the end of the list. See status of mirrors.

+ +
Other mirrors: +
+

There are four different distributions:

+
    +
  • bin distribution - contains the documentation, javadoc, and jar files for Derby.
  • +
  • lib distribution - contains only the jar files for Derby.
  • +
  • lib-debug distribution - contains jar files for Derby with source line numbers.
  • +
  • src distribution - contains the Derby source tree at the point which the binaries were built.
  • +
+

+db-derby-10.9.1.0-bin.zip [PGP] [MD5]
+db-derby-10.9.1.0-bin.tar.gz [PGP] [MD5]

+

+db-derby-10.9.1.0-lib.zip [PGP] [MD5]
+db-derby-10.9.1.0-lib.tar.gz [PGP] [MD5]

+

+db-derby-10.9.1.0-lib-debug.zip [PGP] [MD5]
+db-derby-10.9.1.0-lib-debug.tar.gz [PGP] [MD5]

+

+db-derby-10.9.1.0-src.zip [PGP] [MD5]
+db-derby-10.9.1.0-src.tar.gz [PGP] [MD5] (Note that, due to long filenames, you will need gnu tar to unravel this tarball.)

+
+ +

Release Notes for Apache Derby 10.9.1.0

+
+
+

These notes describe the difference between Apache Derby release 10.9.1.0 and the preceding release 10.8.2.2.

+
+ +

Overview

+
+

The most up to date information about Derby releases can be found on the Derby download page.

+

Apache Derby is a pure Java relational database engine using standard SQL and JDBC as its APIs. More information about Derby can be found on the Apache web site. 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)
  • +
+

Java and JDBC versions supported:

+
    +
  • Java SE 1.4 and higher with JDBC 2.1, 3.0, 4.0 and 4.1
  • +
  • Java ME CDC/Foundation Profile 1.1 with JSR-169 JDBC Optional Package for CDC/Foundation Profile.
  • +
+
+ +

New Features

+
+

This is a feature release. The following new features were added:

+
    +
  • +NATIVE authentication - Derby now provides better credentials management to replace BUILTIN authentication.
  • +
  • +JDBC 4.1 escape syntax - Most of Derby's JDBC 4.1 support was provided in release 10.8.1.2. This release supplies the remaining bits: object mapping and new escape syntax.
  • +
  • +Multi-column EXISTS subqueries - Multi-column SELECT lists are now allowed in EXISTS subqueries.
  • +
+
+ +

Bug Fixes

+
+

The following issues are addressed by Derby release 10.9.1.0. These issues are not addressed in the preceding 10.8.2.2 release.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Issue IdDescription
DERBY-5777Update description of Maven artifact for the Derby net servlet to reflect that it is not intended for production use
DERBY-5776test failure in iepnegativetests_ES with weme 6.2 (J2ME/CDC) with trunk (10.9 alpha) as of revision 1339441
DERBY-5774Failures in UpdateStatisticsTest (order-dependent test cases)
DERBY-5771Use TestNullOutputStream where possible
DERBY-5770Reduce window of opportunity for queries being compiled without statistics on istat update
DERBY-5769Notes deprecating BUILTIN authentication need fixing
DERBY-5768Remove references to NATIVE::LOCAL from Derby error messages.
DERBY-5767Remove mentions of NATIVE::LOCAL authentication provider setting
DERBY-5763Reference Guide should note the new casing rules for the USERNAME arguments to the NATIVE procedures
DERBY-5760Missing argument in some XJ022 errors
DERBY-5759Add IndexStatsUtil.release(boolean closeConnection)
DERBY-5758System procedures in Reference Manual should be alphabetized
DERBY-5756Document new SYSCS_DROP_STATISTICS procedure
DERBY-5755Minor cleanup of DataDictionaryImpl.getRoutineList()
DERBY-5753nighly regression test failure in testLeak(org.apache.derbyTesting.functionTests.tests.memory.Derby5730Test) process failed
DERBY-5751Make TriggerTest less hungry on heap space
DERBY-5749Implicit cast of variable length values, e.g. as arguments to stored methods and generated columns values, silently truncate if too long
DERBY-5747Native user authentication: Docs do not describe what happens to schema and its SQL objects on SYSCS_UTIL.SYSCS_DROP_USER call
DERBY-5746Minor refactoring of DataDictionaryImpl.getSetAutoincrementValue
DERBY-5745Remove unused local variables from DataDictionaryImpl
DERBY-5737Remove GenericDescriptorList.elements and replace Enumerator usage with Iterator
DERBY-5736NullPointerException in GenericTriggerExecutor.executeSPS() caused by OutOfMemoryError
DERBY-5734End transaction if CleanDatabaseTestSetup.decorateSQL fails
DERBY-5733Source file for OrderByAndSortAvoidance contains characters not available in the C locale
DERBY-5732ProtocolTest doesn't clean up its test resources
DERBY-5730DataDictionaryImpl leaks references to itself via SYSFUN_AD
DERBY-5729Replication tests keep references to connections after completion
DERBY-5727Update POMs to deploy Maven artifacts to repository.apache.org and use ASF parent POM
DERBY-5726Make it more difficult to forget calling super.tearDown() from BaseJDBCTestCase's subclasses
DERBY-5725ErrorStreamTest doesn't call super.tearDown()
DERBY-5724EncryptionKeyTest sometimes keeps reference to connection
DERBY-5723LongColumnTest doesn't call super.tearDown()
DERBY-5722InternationalConnectTest forgets to call super.tearDown()
DERBY-5721ParameterMappingTest lacks call to super.tearDown()
DERBY-5720UngroupedAggregatesNegativeTest doesn't call super.tearDown()
DERBY-5719UniqueConstraintMultiThreadedTest doesn't call super.tearDown()
DERBY-5718UniqueConstraintSetNullTest calls super.tearDown() too early
DERBY-5717TableFunctionTest keeps reference to connection after completion
DERBY-5716TimestampArithTest keeps references to statements after completion
DERBY-5715InbetweenTest holds on to resources after completion
DERBY-5714ColumnDefaultsTest holds on to resources after completion
DERBY-5713AlterTableTest holds on to resources after completion
DERBY-5712CheckConstraintTest holds on to resources after completion
DERBY-5711NullsTest doesn't call super.tearDown()
DERBY-5710BigDataTest.tearDown() doesn't call super.tearDown()
DERBY-5709ResultSetFromPreparedStatementTest keeps references to non-default connections
DERBY-5708simpleThread test doesn't release connection
DERBY-5707Clean up statements in CharUTF8Test
DERBY-5706Clean up statements in CreateTableFromQueryTest
DERBY-5705Authorization decorators don't null out connections when done
DERBY-5704Various cleanups in CoalesceTest
DERBY-5701Make UpdatableResultSetTest less hungry on heap space
DERBY-5700Delete symlinks to the 10.0 manuals from the web site
DERBY-5699Disable automatic conversion to star imports in NetBeans project
DERBY-5698Document performance issue with 2-arg versions of setXXXStream methods for LOBs
DERBY-5697Doc changes to account for correctness fixes for sequences
DERBY-5696Documentation on LOBs needs some fixes
DERBY-5695Speed up population of tables in OrderByAndSortAvoidance
DERBY-5693BUILTIN should say passwords are hashed not encrypted
DERBY-5692intermittent test failure in storetests/st_derby715.java
DERBY-5691Document that Write Caching must be disabled to avoid possible database corruption
DERBY-5683BaseJDBCTestCase.getDatabaseProperty() should close resources before returning
DERBY-5682ProtocolTest failures: Unsupported encoding MacGreek
DERBY-5681When a foreign key constraint on a table is dropped, the associated statistics row for the conglomerate is not removed
DERBY-5680indexStat daemon processing tables over an over even when there are no changes in the tables
DERBY-5678LocalizedDisplayScriptTest fails on JVMs that don't support EUC_JP encoding
DERBY-5677ClassNotFoundException when running suites.All without derbynet.jar
DERBY-5671NsTest does not run on trunk do multiple issues stemming from concurrency improvements
DERBY-5667testReadCommitted(org.apache.derbyTesting.functionTests.tests.store.UpdateLocksTest)junit.framework.AssertionFailedError: Missing rows in ResultSet
DERBY-5664Include driver tests in jdbcapi suite
DERBY-5657Message XCY05 for NATIVE authentication is (too?) complex
DERBY-5655Preformatted text should not be used for graphic
DERBY-5653We should document that the NetServlet is a testing tool and not appropriate for production use.
DERBY-5649make improvements to nstest so it's easier to run/analyze/debug
DERBY-5648Unclear password expiry warning when using separate credentials db
DERBY-5647NATIVE warns about password expiry for DBO
DERBY-5646Get upgrade tests to pass on OJEC 1.1
DERBY-5645Reference manual says setBlob()/setClob()/getBlob()/getClob() are not supported on CallableStatement
DERBY-5644Typo in error message for NATIVE authentication
DERBY-5643Occasional hangs in replication tests on Linux
DERBY-5642OutOfMemoryError in OCRecoveryTest on phoneME
DERBY-5641Remove unused BaseDataFileFactory methods plus minor cleanups
DERBY-5640Use <desc> element for table summary
DERBY-5639Minor code cleanup for NetServlet
DERBY-5637Document Derby's JMX capabilities and how to disable them
DERBY-5636Improve the overview of Derby's security mechanisms
DERBY-5635Provide implementation for getMetaData() in VTITemplate
DERBY-5633Add tests for state transition and behavior with Lock Timeout in XA Transaction (DERBY-5552 testing task)
DERBY-5631Extend SecurityManagerSetup to add extra privileges to the set of default privileges (merge two policy files)
DERBY-5628Wrong syntax description in DELETE statement doc
DERBY-5627Remove unused methods in UUID classes
DERBY-5624System can run out of stack space while processing DropOnCommit requests.
DERBY-5623Loosen up synchronization in FileMonitor
DERBY-5620Replace illegal characters from test name when creating the failure folder
DERBY-5617Improve process handling in SpawnedProcess
DERBY-5616demo/vtis/sql/demoFileVtis.sql needs to be adjusted: messages_en.properties has moved
DERBY-5614NullPointerException with INSERT INTO (global temporary table) SELECT ... FROM (VTI)
DERBY-5612Puzzling documentation about the URL to a database on the classpath
DERBY-5609Prepare old test harness for running tests on Java 8
DERBY-5608BaseTestCase.readProcessOutput should read getInputStream() and getErrorStream() in separate threads
DERBY-5604(patch) access static constants with static references
DERBY-5603EmbedConnection.clearLOBMapping() incorrectly clears lobFiles causing a ConcurrentModificationException
DERBY-5599readlocks.sql fails with extra locks.
DERBY-5598testStartWithPrintWriter(org.apache.derbyTesting.functionTests.tests.derbynet.DerbyNetNewServerTest)junit.framework.AssertionFailedError: Num of log item should add
DERBY-5596TIMESTAMP doc gives wrong precision limitation
DERBY-5591Imprecise wording in documentation in ref man on DROP VIEW
DERBY-5590Document optional modifyThreadGroup permssion in java 2 security permissions
DERBY-5587Due to licensing issues, fix or remove the monohtml docs posted on Derby's documentation page.
DERBY-5586Remove the fo2html.xsl script from the docs repository and fix the docs and release builds so that they don't build monohtml versions of the Derby manuals.
DERBY-5584Select statement with subqueries with group by and count distinct statements returns wrong number of results
DERBY-5580NativeAuthenticationServiceTest getting multiple errors trying to delete files/directories during teardown
DERBY-5574encryption test in encryption nightly suite test fails with ERROR XBM0S: Unable to rename file error
DERBY-5568AssertionFailedError: Should not hold locks after commit in ResultSetMiscTest
DERBY-5567AlterTableTest#testDropColumn fails: drop view cannot be performed due to dependency
DERBY-5566CREATE SCHEMA should state that one cannot create a new schema starting with "SYS" in case normal form
DERBY-5565Network Server should reject client connections that are not Derby Network Client
DERBY-5564Code does different things depending if derby.locks.deadlockTrace=true is set
DERBY-5562An read-only XA transaction that has a timeout never has the timer canceled when the transaction is complete
DERBY-5559AssertFailures (7, or 8) with ibm 1.6 and 1.5 on Windows XP in lang.NativeAuthProcs fixture testAll
DERBY-5558NullPointerException in store.RecoveryTest launchRecoveryInsert and failure in testBasicRecovery with weme 6.2
DERBY-5557NULLIF topic in reference manual should explain NULLIF
DERBY-5552Derby threads hanging when using ClientXADataSource and a deadlock or lock timeout occurs
DERBY-5550Document derby.authentication.builtin.saltLength and derby.authentication.builtin.iterations
DERBY-5547NSSecurityMechanismTest fixture testNetworkServerSecurityMechanism fails intermittentlyt
DERBY-5542Remove checks for Java version being greater than or equal to 1.4
DERBY-5541Remove unnecessary field rwsOK in DirStorageFactory4
DERBY-5540Call initCause() and getCause() without reflection in BaseJDBCTestCase
DERBY-5539Harden password hashing in the builtin authentication service
DERBY-5536Client's ResultSet#getLong does not range check when converting from a DECIMAL column
DERBY-5535Remove unused methods from client's CrossConverters class.
DERBY-5533Client differs from embedded when rs.updateInt overflows: 22015 vs 22003
DERBY-5530SQLChar.getCollationKey NPE in index-stat-thread
DERBY-5529XATransactionTest: Table/View 'DERBY1016' already exists
DERBY-5527Documentation problem: 5 - Verifying the copy of the files
DERBY-5526on upgrade from 10.5 to 10.8.2 , getting ERROR XBM0A: The database directory 'C:\cygwin\home\debugfat\clientdb' exists. However, it does not contain the expected 'service.properties' file.
DERBY-5524Speed up clean-up after StatementJdbc30Test.xtestMaxOpenStatementsWithQueryTimeout
DERBY-5522Document the NATIVE authentication scheme.
DERBY-5521JDBCMBeanTest#testAttributeDriverLevel uses Java assert in lieu of JUnit assert: no real testing happens
DERBY-5519Update code in JVMInfo#derbyVMLevel to give correct results for Java 7 and provisionally for 8.
DERBY-5517testReplication_Local_3_p1_StateNegativeTests failed with connection refused
DERBY-5516Document the fact that attributes on the connection URL trump attributes specified in a connection Properties object.
DERBY-5515Derby mailing lists should be mentioned in documentation
DERBY-5514SecureServerTest (and others) don't play nice with EMMA: AccessControlException
DERBY-5512emma-single and emma-all don't use the instrumented jars
DERBY-5509javadoc for NetServlet and NetworkServerControl are missing a few closing tags
DERBY-5508Improve backup/restore documentation visibility and content to encourage proper backups and restore procedures
DERBY-5507Orderly shutdown fails if you are using BUILTIN authentication and turn on derby.database.propertiesOnly
DERBY-5506Document that EXISTS subquery can now select more then one column
DERBY-5505BLOB and CLOB Reference Manual topics could use some fixes
DERBY-5504SecureServerTest, Driver40UnbootedTest and replication tests not prepared for space in java.home
DERBY-5502RestrictiveFilePermissionsTest and RecoveryTest fail with file permission errors on the OpenJDK 7 preview for Mac OS X
DERBY-5501Subquery is only allowed to return a single column - When using derby with hibernate (or JPA) queries are created per JPA spec. For tables with multi-column PK, subqueries are created with two columns in select clause.
DERBY-5499Document the new JDBC limit/offset escape syntax
DERBY-5498ClosedByInterruptException in AuthenticationTest
DERBY-5496The JUnit infrastructure package should be compiled against the small device classpath, not the JDK 1.4 classpath
DERBY-5495Master issue to track fixes to sequence generators
DERBY-5494Same value returned by successive calls to a sequence generator flanking an unorderly shutdown.
DERBY-5492Restrictive file permissions: permissions removed also for owner on NTFS if Acl does not contain explicit entry for owner
DERBY-5491(patch) new String("") or new String() is pointless, and just allocates memory needlessly - removed
DERBY-5490Lots of error trying to spawn a JVM in the SecureServerTest and Replication tests when running on the preview JDK 7 on Mac OS X
DERBY-5489getBinary() returns incorrect data after getObject() call on BLOB column
DERBY-5488Add remaining JDBC 4.1 bits which did not appear in the Java 7 javadoc.
DERBY-5485Simplify PropertySetter so that it is less brittle and easier to maintain.
DERBY-5482Reduce number of jar invocations in the buildjars target
DERBY-5480File handle leak in MessageVetter
DERBY-5479Don't run MessageVetter unless messages have changed
DERBY-5478Speed up creation of bin scripts
DERBY-5477Switch from scpexe to scp for Maven deployment
DERBY-5476Remove unused parameter in splitmessages
DERBY-5474Speed up message splitting in build
DERBY-5472Speed up MemoryLeakFixesTest.testRepeatedDatabaseCreationWithAutoStats()
DERBY-5469Make it possible to build Derby if you are on Mac OS X and your JDK is JDK 7
DERBY-5467Copyright notice in the API documentation (generated by the Javadoc tool) is outdated
DERBY-5465Broken null checks in NsTest
DERBY-5464Add easier to find links to Derby JavaDoc on the Derby web site
DERBY-5459Result set metadata are out of sync on client after underlying table is altered
DERBY-5458Add ant target to generate JavaDocs bundle
DERBY-5456Problems running SecureServerTest and replication tests on Open JDK 7 for Mac OS X
DERBY-5454ERROR 40001 deadlock in nstest on select max(serialkey)
DERBY-5453Remove unused methods in Cursor and NetCursor
DERBY-544910.8 client with 10.5 server gives java.lang.ClassCastException: java.lang.Boolean incompatible with java.lang.Short in NetStatementRequest.buildFDODTA with CursorTest.testCursorParam()
DERBY-5442Create documentation for restrictive file permissions feature
DERBY-5440test failure in testBTreeForwardScan_fetchRows_resumeAfterWait_nonUnique_split(org.apache.derbyTesting.functionTests.tests.store.IndexSplitDeadlockTest)junit.framework.AssertionFailedError: expected:<1> but was:<0>
DERBY-5439Remove JRE / JDBC line from sysinfo
DERBY-5437Load all toursdb tables in one invocation of ij
DERBY-5436Use helper method to add warning in EmbedResultSet.movePosition()
DERBY-5434On linux with IBM JDK 1.7 suites.All does not run at all failing with java.lang.reflect.InvocationTargetException
DERBY-5427Unauthorized shutdown should not generate thread dump and javacore. AuthenticationTest dumps over 20 javacores with IBM JVM for normal user errors
DERBY-5420Regression suite appears locale sensitive: failed in TableLockBasicTest: bug in RealBasicNoPutResultSetStatistics
DERBY-5406Intermittent failures in CompressTableTest and TruncateTableTest
DERBY-5383Add articles and blog links to the site's Resources tab
DERBY-5382Convert existing harness recovery tests to JUnit tests
DERBY-5379testDERBY5120NumRowsInSydependsForTrigger - The number of values assigned is not the same as the number of specified or implied columns.
DERBY-5378Update Derby web site copyright notice (2011)
DERBY-5374converted ij5Test fails with weme6.2 (CDC/Foundation): junit.framework.ComparisonFailure: Output at line 1 expected:<CONNECTION0* - jdbc:derby:wombat> but was:<ERROR XJ004: Database '' not found.>
DERBY-5370The toSQL method of the org.apache.derby.vti.Restriction class does not output correct constants for VARCHAR, Timestamp, Date, Time, or CHAR FOR BIT DATA types
DERBY-5368Convert tools/ij2.sql to junit
DERBY-5363Tighten permissions of DB files to owner with >= JDK7
DERBY-5357SQLJ.INSTALL_JAR shouldn't use identifier as file name
DERBY-5355Remove *.out from svn:eol-style paragraph in docs environment instructions
DERBY-5349Clean docs build fails to pick up customized map2htmtoc.xsl
DERBY-5346ij3Test fails on phoneME
DERBY-5345URLCheck fails on phoneME
DERBY-5343Starting 7/13/2011 weme 6.2 upgrade tests started failing with 213 failures 127 errors with java.lang.IllegalAccessException
DERBY-5342make ScriptTestCase support "ij.showNoCountForSelect" and "ij.showNoConnectionsAtStart"
DERBY-5332Convert tools/ij3.sql to junit
DERBY-5327Convert tools/ij5.sql to junit
DERBY-5326Convert tools/ij6.sql to junit
DERBY-5316Unload old JDBC drivers when done with them in the upgrade tests
DERBY-5311Convert tools/ij4.sql to junit
DERBY-5310PropertySetter prints warning when building with JDK 7
DERBY-5308Investigate if largeData/LobLimits.java can be run for client
DERBY-5306Remove dead methods (June 2011)
DERBY-5305Convert store/updatelocks.sql to JUnit
DERBY-5303Convert tools/URLCheck.sql to junit
DERBY-5302Convert tools/ij(?).sql to junit
DERBY-5301Convert store/TableLockBasic.sql to junit
DERBY-5300Change derby.tests.trace to print the class as well as fixture name
DERBY-5293Replace bubble sort in DataDictionaryImpl and CreateTriggerNode with Collections.sort()
DERBY-5286Update tools/ide/netbeans directory
DERBY-5283Crash / process termination during SYSCS_DISABLE_LOG_ARCHIVE_MODE can leave service.properties broken
DERBY-5282Convert store/RowLockBasic.sql to junit
DERBY-5277Intermittent OutOfMemoryErrors in BasicSetup.testTriggersWithLOBcolumns()
DERBY-5275Remove empty, unused methods in client/am/Lob.java
DERBY-5269Remove unused methods getSocketAndInputOutputStreams and checkAlternateServerHasEqualOrHigherProductLevel in NetConnection
DERBY-5267Shut down engine for old versions in upgrade tests to save memory
DERBY-5260Remove unused "replace" argument to backup variant of StorageFactoryService#saveServiceProperties
DERBY-5256Improve error reporting in common.sanity.AssertFailure
DERBY-5246Simplify bytecode generation for concatenation operator
DERBY-5229Testing README; tstjardir
DERBY-5227Put a link to developers' wiki page
DERBY-5224(patch) reduce cohesion by removing overzealous casting
DERBY-5210Use java.nio.ByteBuffer in client.net.Request
DERBY-5202Add colnum attribute to the colspecs generated by MessageBuilder in order to eliminate some severe warnings while building the pdf version of the Derby user guides.
DERBY-5200(patch) embellish build.xml to automatically install junit.jar in the correct directory if it doesn't exist.
DERBY-5189PropertySetter should ignore GCJ installations
DERBY-5163(patch) fix up sql cleanup handling
DERBY-5156convert store/longColumn.sql into junit test case
DERBY-5155Make testcases pass in non-English locale
DERBY-5145Provide option to limit compatibility test to combinations that include trunk
DERBY-5127Convert madhare.sql to JUnit
DERBY-5096DisconnectException: "Connection was refused because the database DB was not found" when creating db for first time
DERBY-5090Retrieving BLOB fields sometimes fails
DERBY-5083Document automatic update and creation of index cardinality statistics (istat)
DERBY-5080Utilize JQL to fetch JIRA issue list for release notes generation
DERBY-5077(patch) remove non productive instanceof checks
DERBY-5068Investigate increased CPU usage on client after introduction of UTF-8 CcsidManager
DERBY-5010(patch) bad equivalence check
DERBY-4962Create a table function which efficiently migrates data out of foreign databases and which can be used for ongoing data integration
DERBY-4795Starting network server with -ssl turns SSL off
DERBY-4533Delete old releases from http://www.apache.org/dist
DERBY-4532Old download pages should refer to archive.apache.org only
DERBY-4521Stream passed out to user does not heed close, allowing reads after next ResultSet#getXXX
DERBY-4466Download page does not have link to KEYS file
DERBY-4321test nstest generates errors XBM06 re reencryption and 22003 re value outside range for decimal/numeric
DERBY-4291Intermittent failure in 'store/updatelocks.sql' on Windows Vista
DERBY-4280Property not documented - derby.language.statementCacheSize
DERBY-4249Create a simple store recovery test in JUnit
DERBY-4201SecureServerTest AssertionFailedError: Timed out waiting for network server to start
DERBY-4115Provide a way to drop statistics information
DERBY-4089It should be possible to run unit tests right after "ant all"
DERBY-3913mismatch between error XCL30 and 22003.S.4 and parameters in usage
DERBY-3823NullPointerException in stress.multi test
DERBY-3808Convert subquery.sql to junit
DERBY-3790Investigate if request for update statistics can be skipped for certain kind of indexes, one instance may be unique indexes based on one column.
DERBY-3740BlobClob4BlobTest.testLockingWithLongRowBlob fails with .AssertionFailedError: FAIL - statement should timeout
DERBY-3146Adjust length restriction on user identifiers (authorization ids) to same as other identifiers
DERBY-2720remove dead code associated with unsupported National Char implementation
DERBY-2687store/encryptDatabase.sql fails intermittently with ClassNotFoundException, Log Corrupted
DERBY-2402client ResultSetMetaData for select * after alter table does not return added columns
DERBY-2066DisconnectException: The DDM object 0x1232 is not supported following shutdown of embedded engine while network server is running
DERBY-2031Convert derbynet/testProtocol.java to JUnit
DERBY-1913storetests/st_reclaim_longcol.java fails intermittently
DERBY-1888Convert LOB tests to Junit
DERBY-1482Update triggers on tables with blob columns stream blobs into memory even when the blobs are not referenced/accessed.
DERBY-1256Remove usage of non-portable methods in derby code
DERBY-1016javax.transaction.xa.forget (Xid) raises XAER_NOTA exception instead of XA_PROTO on a prepared transaction
DERBY-866Derby User Management Enhancements
DERBY-129Derby should throw a truncation error or warning when CASTing a parameter/constant to char or char for bit datatypes and the data is too large for the datatype.
+
+ +

Issues

+
+

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

+
+

+Note for DERBY-5749

+
+ +

Summary of Change

+

Truncation as part of implicit or explicit cast is now reported, either as exception or warning.

+ +

Symptoms Seen by Applications Affected by Change

+

In previous releases, implicit and explict casts from a character or binary string data type to a shorter data type would silently truncate the value if the receiving data type was not wide enough to hold the original value.

+

SQL now does correct checking of the length of character and binary strings, and will throw an exception in these two cases:

+
    +
  • Arguments to stored procedures and functions
  • +
  • Values assigned to generated columns
  • +
+

Previously, if the actual value was longer than the datatype of the argument or column to which it was assigned, Derby would silently truncate the value and ignore the truncation. The SQL standard requires a truncation exception be thrown.

+

Derby now throws an SQLException with SQL state 22001 in these cases:

+
    +
  • Stored method calls that used to work, now throw SQLException with SQL state 22001.
  • +
  • INSERT or UPDATE of tables with generated columns that used to work, now throw SQLException with SQL state 22001.
  • +
+

For other cases of explicit or implicit casts of string data types where the value is truncated, Derby now generates a DataTruncation warning (sub-class of SQLWarning) with SQL state 01004. The warning can be retrieved by calling getWarnings() on the ResultSet instance for SQL statements that return a ResultSet, or on the Statement instance for SQL statements that do not return a ResultSet.

+ +

Incompatibilities with Previous Release

+

Applications that use too long string values as arguments for stored methods, or use tables with generated columns for which the generated value is longer than the type of the generated column, may now see exceptions.

+

Applications that use implicit or explicit casts that truncate the value to make it fit in the receiving data type, may see warnings reported on the ResultSet or Statement.

+ +

Rationale for Change

+

The previous behavior could lead to inadvertent data loss, since the truncation was ignored. The previous behavior was not as per the SQL standard.

+ +

Application Changes Required

+

Applications should ensure that string values used as arguments to stored methods are within the range of the argument type.

+

Applications should ensure that string values assigned to generated columns are within the range of the argument type.

+

Example:

+
CREATE TABLE t_5749 (c VARCHAR(5) GENERATED ALWAYS
+       AS ('--' || b), b VARCHAR(5))
+INSERT INTO t_5749 VALUES (default, '12345')
+
+

The above code would work before, but silently truncate the generated value from '--12345' to '--123'. It will now throw SQLException with SQL state 22001.

+

If the old behavior is desired, the generation expression could be wrapped in a call to the CAST function:

+
CREATE TABLE t_5749 (c VARCHAR(5) GENERATED ALWAYS
+       AS (CAST('--' || b AS VARCHAR(5))), b VARCHAR(5))
+INSERT INTO t_5749 VALUES (default, '12345')
+
+

In that case, the INSERT statement would pass with no exceptions. Instead, the Statement instance on which it was executed will hold a DataTruncation warning with SQL state 01004, which can be retrieved by calling getWarnings() on the Statement.

+

Example:

+
s.executeUpdate("create procedure p5749 (a varchar(5)) modifies sql data 
+    external name '...' language java parameter style java")
+CallableStatement cs = conn.prepareCall("call p5749(?)");
+cs.setString(1, "123456");
+cs.execute();
+
+

The above code would work before, but silently truncate the generated value from '123456' to '12345'. The execute will now throw SQLException with SQL state 22001.

+

As with the previous example, it is possible to wrap the parameter in an explicit cast and get a warning on the CallableStatement instead of an exception:

+
CallableStatement cs = conn.prepareCall("call p5749(cast(? as varchar(5)))");
+cs.setString(1, "123456");
+cs.execute();
+
+
+
+

+Note for DERBY-5565

+
+ +

Summary of Change

+

Derby Network Server has been changed to reject client connections from clients that are not Derby Network Client (Those that do not send PRDID starting with DNC).

+ +

Symptoms Seen by Applications Affected by Change

+

Upon attempting to connect to Derby from a client other than Derby Network Client, users will get an immediate error. On the server side they should see an Invalid client and protocol message in the derby.log, e.g:

+ERROR UNSUPPORTED CLIENT: Invalid client product id JCC03580, Derby Network Client (DNC) is the only supported client Product Thu May 17 09:32:32 PDT 2012 Thread(DRDAConnThread_11,5,derby.daemons) (DATABASE = mydb), (DRDAID = {2}), Execution failed because of a Distributed Protocol Error: DRDA_Proto_SYNTAXRM; CODPNT arg = 112e; Error Code Value = 14. Plaintext connection attempt from an SSL enabled client? ... +

On the client side users will receive a protocol error related to the SYNTAXRM required value not found error sent by the server. The error will vary by connecting product. e.g. for the DB2 Universal JDBC Driver (JCC) this might be:

+Exception in thread "main" com.ibm.db2.jcc.am.jo: (jcc)(t4)(2034)(11148)(3.58.82) Execution failed due to a distribution protocol error that caused deallocation of the conversation. A DRDA Data Stream Syntax Error was detected. Reason: 0x112e. ERRORCODE=-4499, SQLSTATE=58009 at com.ibm.db2.jcc.am.ed.a(ed.java:321) at com.ibm.db2.jcc.am.ed.a(ed.java:365) ... +

Incompatibilities with Previous Release

+

Clients that are not Derby Network Client, such as the DB2 Runtime Client and DB2 Universal JDBC driver will get a protocol error on connection on the client side and and a message that they are an Invalid Client in the derby.log. For prior releases the initial connection may have succeded giving the false impression that these were supported and would work in all cases.

+ +

Rationale for Change

+

There are currently no known supported network clients for Derby Network Server other than Derby Network Client. IBM support for the DB2 clients was discontinued after Derby 10.1. This change will avoid user confusion about support by ensuring that connections from non-supported clients to newer versions of Derby Network Server fail immediately and give an indication of the reason in the derby.log.

+ +

Application Changes Required

+

Applications should be modified to use Derby Network Client or if a non-Derby client is being developed, developers should submit a patch for Derby Network Server to accept the appropriate PRDID.

+
+
+

+Note for DERBY-5564

+
+ +

Summary of Change

+

The SQL state of the error returned from a lock timeout when the property "derby.locks.deadlockTrace=true" is set will return 40XL1 rather than 40XL2. 40XL1 is the documented SQL state for lock timeouts returned from Derby.

+ +

Symptoms Seen by Applications Affected by Change

+

In the previous release, applications which set "derby.locks.deadlockTrace=true" would get error 40XL2 when a lock timeout was received. This was confusing as simply setting the system to return extra diagnostic information would change the SQL state of the error returned by the system for a lock timeout.

+ +

Incompatibilities with Previous Release

+

Applications which explicitly tested for SQL state error 40XL2 as a lock timeout will no longer get that error. 40XL1 will now always be returned for a lock timeout error whether lock diagnostics are enabled or not.

+ +

Rationale for Change

+

The previous behavior was not intended. Lock timeout should generate same SQL state whether diagnostics are enabled or not. Only the text of the error will change based on the requested diagnostic level.

+ +

Application Changes Required

+

If the application has been explicitly coded to take action when getting error 40XL2 and does not do the same action for 40XL1, then the application should be changed. This action is usually retry logic based on a lock timeout or deadlock.

+
+
+

+Note for DERBY-5489

+
+ +

Summary of Change

+

+getBytes and getString raise an exception if another getter has been invoked on the LOB column.

+ +

Symptoms Seen by Applications Affected by Change

+

In the previous release, applications were able to invoke getBytes and getString after invoking another getter on the LOB column first. In some cases this caused the data to be retured to be incorrect. Derby now raises an SQLExecption with state XCL18 when the application invokes any valid getter more than once on a given LOB column.

+ +

Rationale for Change

+

The previous behavior was inconsistent, and caused incorrect data to be returned to the application in some cases.

+
+
+

+Note for DERBY-5488

+
+

Summary of Change

+

A typo has been corrected in a column name of the DatabaseMetaData.getColumns() ResultSet.

+

Symptoms Seen by Applications Affected by Change

+

In previous versions of Derby, SCOPE_CATLOG was the name of the 19th column of the ResultSet returned by DatabaseMetaData.getColumns(). Now that column is named SCOPE_CATALOG. In addition, the ResultSet now has an extra trailing column, called SCOPE_CATLOG. The extra column duplicates the information in SCOPE_CATALOG and was added to reduce the risk of backward incompatibilities.

+

Incompatibilities with Previous Release

+

Applications will break if they expect SCOPE_CATLOG to be the name of the 19th column of that ResultSet or if they require that the ResultSet only contain 24 columns. Applications will display different columns names and longer rows if they pass this metadata on to end users.

[... 274 lines stripped ...]