Apache Derby Changelog

What's new in Apache Derby 10.13.1.1

Oct 27, 2016
  • New Features:
  • DERBY-6136: tool for siphoning data out of corrupted databases
  • DERBY-6725: system function which prints out the name of the current database
  • DERBY-4555: system procedures to import CSV file with headers
  • DERBY-6852: allow identity columns to cycle.
  • Bug Fixes:
  • DERBY-6914: Incorrect example for new SYSCS_UTIL.SYSCS_IMPORT_TABLE_BULK procedure
  • DERBY-6913: Document the new ability of identity columns to cycle
  • DERBY-6900: docs build for ref.html gives errors about rrefjavstateautogen.dita -- possible typo?
  • DERBY-6895: Add documentation for new SYSCS_IMPORT_TABLE_BULK, SYSCS_IMPORT_DATA_BULK procedures
  • DERBY-6894: Enhance COLUMNINDEXES parsing for SYSCS_IMPORT_DATA_BULK to recognize columns by name
  • DERBY-6893: Create new SYSCS_IMPORT_DATA_BULK procedure
  • DERBY-6892: Create new SYSCS_IMPORT_TABLE_BULK procedure
  • DERBY-6890: ALTER TABLE DROP COLUMN corrupts secondary index collation information
  • DERBY-6886: Fix links to CI test results
  • DERBY-6885: Remove ReuseFactory
  • DERBY-6884: SYSCS_IMPORT_TABLE_LOBS_FROM_EXTFILE can't import more than Integer.MAX_VALUE bytes of blob data
  • DERBY-6883: Document the new SET GENERATED clause of ALTER TABLE introduced by DERBY-6882
  • DERBY-6882: Add functionality to ALTER TABLE: switch from GENERATED ALWAYS to GENERATED BY DEFAULT
  • DERBY-6881: Test failures with JDK 9-ea b111
  • DERBY-6880: Update failing with java.sql.SQLDataException
  • DERBY-6879: Engine deadlock between XA timeout handling and cleanupOnError
  • DERBY-6875: Partially broken download pages
  • DERBY-6870: Google Summer of Code 2016: Derby bug fixing
  • DERBY-6869: XMLXXETest fails in non-English locales
  • DERBY-6868: Remove the dependency on Jakarta ORO
  • DERBY-6866: Add URLs to Maven pom files
  • DERBY-6864: RawDBReaderTest fails on Windows
  • DERBY-6860: Automatic download of junit.jar broken
  • DERBY-6852: Allow identity columns to cycle (as defined in SQL:2003)
  • DERBY-6847: Document SYSCS_UTIL.SYSCS_GET_DATABASE_NAME()
  • DERBY-6845: Document the rawDBReader optional tool
  • DERBY-6828: Network Server don't start in czech localized enviroment due missing key DRDA_MissingNetworkJar.S
  • DERBY-6752: AutoloadedDriver tries to load a non-existent class, AutoloadedDriver40
  • DERBY-6726: NPE from trigger
  • DERBY-6725: Add a system function which returns the name of the database.
  • DERBY-6391: remove unneeded object creation in newException() calls in releases > 10.10
  • DERBY-6334: Test harness security policy prevents running DatabaseClassLoadingTest twice
  • DERBY-6136: Create a custom/optional tool for dumping the data in a corrupted database.
  • DERBY-5950: PlanExporter and SignatureChecker don't appear in the list of tools supported by derbyrun.
  • DERBY-5944: The hard-coded PlanExporter help message should be internationalized so that it can be translated
  • DERBY-5605: Calling Blob/Clob free() explicitly after implicit free throws exception in client driver
  • DERBY-5585: Improve error messages used when Derby can't find the class or method backing up a SQL routine or type
  • DERBY-4555: Expand SYSCS_IMPORT_TABLE to accept CSV file with header lines
  • DERBY-4091: Investigate "size_problem" column in MailJdbc terst
  • DERBY-3181: isNullable on ResultSetMetaData from DatabaseMetaData.getBestRowIdentifier values are opposite when there is no rows in ResultSet vs. when there is a row.
  • DERBY-1773: insertRow() and updateRow() fail with syntax error when column has an alias
  • DERBY-853: ResultSetMetaData.getScale returns inconsistent values for DOUBLE type.

New in Apache Derby 10.12.1.1 (Oct 17, 2015)

  • New Features:
  • ALTER TABLE and identity columns - The ALTER TABLE command can be used to add identity columns now.
  • Cache-monitoring MBean - An MBean has been added for monitoring internal Derby caches. See the description of CacheManagerMBean in the "Introduction to the Derby MBeans" section of the Derby Server and Administration Guide
  • Optional Tool for Handling JSON Data - An optional tool has been added for packing query results into JSON documents and for unpacking JSON documents into tabular result sets.
  • Statistics aggregates - SQL Standard VAR_POP(), VAR_SAMP(), STDDEV_POP(), and STDDEV_SAMP() aggregates have been added.
  • Bug Fixes:
  • DERBY-6829 Document the simpleJson optional tool and the SimpleJsonVTI.
  • DERBY-6825 Add basic JSON support to Derby.
  • DERBY-6824 Move ShutdownException into shared code area
  • DERBY-6820 Improve error handling in XmlVTI
  • DERBY-6807 XXE attack possible by using XmlVTI and the XML datatype
  • DERBY-6801 Implement MessageUtils class so client and server can share message argument encoding/decoding
  • DERBY-6800 Implement DerbySQLIntegrityConstraintViolationException class
  • DERBY-6783 WHEN clause in CREATE TRIGGER for UPDATE is not working for the sql script below
  • DERBY-6774 background post commit threads cause ASSERTS/errors on interaction with alter table add column
  • DERBY-6769 sane.derbyTesting.jar.lastcontents can be "out of date" but no build error results
  • DERBY-6768 List the enabled protocols in derby.log for network server configuration
  • DERBY-6753 Docs for IDENTITY_VAL_LOCAL needs to be updated to indicate that the return value will be impacted by single row UPDATE of identity column
  • DERBY-6751 Prevent user code from getting the LanguageConnectionContext from an EmbedConnection
  • DERBY-6748 Localize messages introduced or changed in 10.11.1
  • DERBY-6744 Update the documentation of security policy files to include the new usederbyinternals SystemPermission
  • DERBY-6742 For update statement, collect generated keys if Statement.RETURN_GENERATED_KEYS flag is supplied to the JDBC call.
  • DERBY-6741 User code can get the ContextManager from an EmbedConnection
  • DERBY-6737 CLOB retrieve exceptions after moving cursor around
  • DERBY-6733 Implement an MBean for monitoring caches
  • DERBY-6730 Cannot create a Lucene index if a key column's name is case-sensitive
  • DERBY-6724 NPE if insert statement needs recompilation after having fired a trigger
  • DERBY-6722 GenericStatementContext.cleanupOnError() needs protection from later errors during statement cleanup
  • DERBY-6720 Add derbyoptionaltools.jar to the maven artifacts we publish
  • DERBY-6719 Add derbyoptionaltools.jar to the class paths of the scripts in the bin directory
  • DERBY-6717 Policies with multiple SystemPermissions are not handled well
  • DERBY-6714 RuntimeInfoTest failed with insufficient data from server
  • DERBY-6705 Triggers should not allow MERGE statements that reference temporary tables
  • DERBY-6703 MERGE statement fails with NullPointerException if ON clause references non-existent column
  • DERBY-6662 DatabaseMetaData.usesLocalFiles() returns true for in-memory databases
  • DERBY-6654 Require that generated code live in the org.apache.derby.exe package.
  • DERBY-6648 Application code should not be able to call ContextService.getContextOrNull()
  • DERBY-6636 The public api of BaseDataFileFactory may allow blackhats to assume elevated privileges.
  • DERBY-6635 OptimizerTracer.unloadTool() could be used to write garbage over Derby data files.
  • DERBY-6632 Applications may be able to use StorageFactoryService to delete Derby databases and overwrite service.properties.
  • DERBY-6631 FileMonitor can be used to elevate an application's privileges
  • DERBY-6630 Applications can use JCECipherFactory to elevate their privileges to those granted to Derby
  • DERBY-6619 After silently swallowing SecurityExceptions, Derby can leak class loaders
  • DERBY-6617 Silently swallowed SecurityExceptions may disable Derby features, including security features.
  • DERBY-6592 Update the version of ant which we tell new developers to use.
  • DERBY-6569 NULLIF may return incorrect results if first operand calls non-deterministic function
  • DERBY-6475 Update documentation for SYSTRIGGERS after DERBY-5866 changes
  • DERBY-6414 Incorrect handling when using an UPDATE to SET an identity column to DEFAULT
  • DERBY-5466 Add support for SQL Standard statistics functions, such as STDDEV_POP, STDDEV_SAMP, VAR_POP, VAR_SAMP
  • DERBY-5165 Prepared XA transaction locks are not kept across DB restart
  • DERBY-4057 Space is not reclaimed if transaction is rolled back
  • DERBY-3888 ALTER TABLE ... ADD COLUMN cannot add identity columns
  • DERBY-3195 Describe if default security manager & policy is installed or not on each of the mechanisms to start the network server.
  • DERBY-3005 Document possibility to specify method signature in EXTERNAL NAME when creating a procedure/function
  • DERBY-2238 Example of ScalarSubquery in Derby Reference Manual is not ScalarSubquery
  • DERBY-2051 CachedItem's comments and code are inconsistent wrt. syncronization
  • DERBY-691 committed deleted row space reclamation may be missed if delete is actually an aborted insert.
  • DERBY-600 Document that DB is booted in read-only mode if not able to create db.lck file

New in Apache Derby 10.11.1.1 (Sep 5, 2014)

  • New Features:
  • MERGE statement - MERGE is a single, join-driven statement which INSERTs, UPDATEs, and DELETEs rows. See the section on this statement in the Derby Reference Manual. See also features F312, F313, and F314 of the SQL Standard.
  • Deferrable constraints - Constraint enforcement can now be deferred, typically to the end of a transaction. See the section on "constraintCharacteristics" in the Derby Reference Manual. See also features F721 and F492 of the SQL Standard.
  • WHEN clause in CREATE TRIGGER - An optional WHEN clause has been added which determines which rows fire a trigger. See the section on this clause in the Derby Reference Manual. See also feature T211-05 of the SQL Standard.
  • Rolling log file - The Derby diagnostic log can now be split across a sequence of files. See the section on the derby.stream.error.style property in the Derby Reference Manual.
  • Experimental Lucene support - Derby text columns can now be indexed and queried via Apache Lucene. See the section on the optional luceneSupport tool in the Derby Tools and Utilities Guide.
  • Simple case expression - The "simple" and "extended" syntax for CASE expressions has been added. See the section on the CASE expression in the Derby Reference Manual. See also features F261-01, F262, and F263 of the SQL Standard.
  • Better concurrency for identity columns - The concurrency of identity columns has been boosted. See the detailed release note for DERBY-6542 below.
  • New ij HoldForConnection command - A new ij command has been added to change the default cursor holdability to "keep cursors open after commit." See the section on the HoldForConnection command in the Derby Tools and Utilities Guide.
  • Standard syntax for altering column nullability - Standard syntax has been added for altering the nullability of columns. See the section on ALTER TABLE in the Derby Reference Manual. See also feature F383 of the SQL Standard.
  • Bug Fixes:
  • DERBY-6693: Assert failure/ArrayIndexOutOfBoundsException when using COUNT in MERGE matching clause
  • DERBY-6692: Self-deadlock when inserting row with identity column in soft-upgraded database
  • DERBY-6691: ROW_NUMBER should not be allowed as argument in a procedure call
  • DERBY-6690: ROW_NUMBER should not be allowed in generation clause
  • DERBY-6689: Assert failure/NPE when using ROW_NUMBER in MERGE ... INSERT
  • DERBY-6688: NPE (or sane: ASSERT failure) with ROW_NUMBER in some subqueries
  • DERBY-6677: Correct Reference Manual RENAME TABLE topic to remove foreign key prohibition
  • DERBY-6674: Cleanup brittle code in ValidateCheckConstraintResultSet
  • DERBY-6672: Allow Derby to rename tables referenced by foreign keys
  • DERBY-6670: Rollback to savepoint allows violation of deferrable constraints
  • DERBY-6668: Truncating a table may silently violate a deferred foreign key.
  • DERBY-6667: Redundant word "referencing" in error message for deferred constraints.
  • DERBY-6666: Deferred constraint validation fails with "dead statement" when query plan logging is enabled
  • DERBY-6665: Violation of deferred constraints not detected when conglomerates are erroneously shared
  • DERBY-6664: Schema 'null' does not exist when trigger inserts into table with deferred foreign key
  • DERBY-6663: NPE when a trigger tries to insert into a table with a foreign key
  • DERBY-6661: dblook does not recognize the deferrability of deferrable constraints
  • DERBY-6659: The Reference Guide should state how long a SET CONSTRAINTS command is good for
  • DERBY-6658: Update list of tested Lucene versions
  • DERBY-6657: Need to document the fact that views can't be the source data sets of MERGE statements
  • DERBY-6653: Data type limitations on indexes should be in Reference Manual
  • DERBY-6649: Meaningless permissions granted to sysinfo.
  • DERBY-6647: The ij.driver property is obsolete and need not be documented
  • DERBY-6644: Support standard syntax for altering column nullability
  • DERBY-6643: ALTER TABLE columnAlteration syntax needs fixing
  • DERBY-6638: Remove unnecessary use of reflection in SignatureChecker
  • DERBY-6633: Remove DOM level 3 XPath requirement from description of XML operators
  • DERBY-6629: Restrict privileged operation in CreateXMLFile
  • DERBY-6626: Check type of user-supplied modules before creating instances
  • DERBY-6624: Use javax.xml.xpath interfaces for XPath support
  • DERBY-6615: Remove unused newInstance() method in BaseMonitor
  • DERBY-6611: Broken link in API docs to derby.drda.keepAlive documentation
  • DERBY-6609: Documentation for SQL features should reflect current standard
  • DERBY-6605: "Derby support for SQL-92 features" topic in Reference Manual needs updating
  • DERBY-6602: LuceneQueryVTI handles NULL key values inconsistently
  • DERBY-6601: Clean up Java EE compliance section of Reference Manual
  • DERBY-6599: Incorrect quoting of 42ZB4 message
  • DERBY-6598: Document permissions recommendations for JAR procedures
  • DERBY-6597: LUCENESUPPORT.LISTINDEXES() fails with FileNotFoundException
  • DERBY-6596: LUCENESUPPORT routines should check for NULL arguments
  • DERBY-6595: CheckToursDBTest failed while updating sequence value on disk
  • DERBY-6594: Typos in "Listing indexes" topic of the tools guide
  • DERBY-6591: Minor tweaks needed on new ij commands
  • DERBY-6587: Foreign Key constraint not matched when using UUID in a composite foreign key when using SYSCS_UTIL.SYSCS_IMPORT_TABLE
  • DERBY-6585: add HoldForConnection ij command to match NoHoldForConnection
  • DERBY-6581: Document simple case syntax
  • DERBY-6580: Document the new SYSCS_UTIL.SYSCS_PEEK_AT_IDENTITY function
  • DERBY-6577: Quantified comparison returns wrong result in CASE, COALESCE, IN and BETWEEN
  • DERBY-6576: A immediate Fk constraint blows up iff its referenced PK is deferred and we modify a duplicate key column
  • DERBY-6571: Document deferrable constraints
  • DERBY-6567: Incorrect nullability for CASE expression with parameter
  • DERBY-6566: Simplify handling of untyped nulls in CASE and NULLIF expressions
  • DERBY-6565: ROW_NUMBER function throws NullPointerException in UPDATE statement
  • DERBY-6564: Document the experimental, optional LuceneSupport tool.
  • DERBY-6563: NOT elimination for CASE expressions is broken
  • DERBY-6561: Organization topics of some manuals need updating
  • DERBY-6560: Reference manual says ELSE clause is required in CASE expressions
  • DERBY-6559: A immediate Fk constraint blows up iff its referenced PK is deferred and we delete a duplicate
  • DERBY-6554: Too much contention followed by assert failure when accessing sequence in transaction that created it
  • DERBY-6553: Sequence generator makes CREATE TRIGGER fail with internal error
  • DERBY-6552: The public api includes methods inherited from superclasses which aren't in the public api and so have no javadoc comments
  • DERBY-6545: Should not be able to add a default to an identity column
  • DERBY-6543: Syntax error when reference to transition variable has whitespace around it
  • DERBY-6542: Improve the concurrency of identity columns by using SYS.SYSSEQUENCES
  • DERBY-6540: Schema-qualified table names could be mistaken for transition tables
  • DERBY-6537: StringUtil.fromHexString is used to convert encryptionKey to byte()
  • DERBY-6535: Remove storageFactory field from subclasses of InputStreamFile
  • DERBY-6534: Remove StorageFile.getURL() and its implementations
  • DERBY-6527: Fix errors in foreign keys documentation
  • DERBY-6526: Document the MERGE statement
  • DERBY-6505: Clean up dead code in FileUtil
  • DERBY-6504: change AllocPage.ReadContainerInfo to catch ArrayIndexOutOfBoundsException and turn it into Derby error.
  • DERBY-6503: Starting network server on a network drive fails with JDK 7 on Windows
  • DERBY-6496: Optional tool registration may fail because the CompilerContext is not always available at execution time.
  • DERBY-6493: Improve reporting of exceptions wrapped in InvocationTargetException
  • DERBY-6488: Get rid of the EmbedSQLException class
  • DERBY-6484: Include SQLState in client exception messages
  • DERBY-6480: Oracle Java documentation URLs need updating
  • DERBY-6478: Fix language about supported DataSources for Compact Profiles
  • DERBY-6469: Change the documentation to reflect new RDBNAM limit of 1024 bytes
  • DERBY-6467: Document context-aware table functions.
  • DERBY-6464: Improve the encapsulation of various compiler classes
  • DERBY-6462: Provide more information about database name and path syntax
  • DERBY-6459: Remove Class.forName calls that load JDBC driver from Derby samples/demos
  • DERBY-6458: The Reference Manual should state that the year, month, and day components of a timestamp must be positive integers.
  • DERBY-6454: DROP TABLE documentation could clarify how triggers are handled
  • DERBY-6453: Remove dead code in InsertResultSet and flag skipCheckConstraints
  • DERBY-6447: Use StrictMath for more functions in SYSFUN
  • DERBY-6440: Connections opened by ForeignTableVTI never get released
  • DERBY-6434: Incorrect privileges may be required for INSERT and DELETE statements.
  • DERBY-6432: INSERT/UPDATE incorrectly require user to have privilege to execute CHECK constraints on the target table.
  • DERBY-6431: Update Developer's Guide topic to include generated columns
  • DERBY-6429: Privilege checks for UPDATE statements are wrong.
  • DERBY-6424: Document thenExpression
  • DERBY-6423: The expression syntax in CASE's THEN clause doesn't accept boolean value expression
  • DERBY-6421: Cast to UDT in CHECK constraint causes NPE or assert failure
  • DERBY-6420: Clarify how DROP statements work on trigger dependencies
  • DERBY-6419: Make BTree scan honor OPENMODE_LOCK_NOWAIT for row locks.
  • DERBY-6410: ClassCastException when launching derby from windows subst drive
  • DERBY-6390: Document the WHEN clause in the CREATE TRIGGER statement
  • DERBY-6386: Errors in jdbc4.LobStreamTest if derbyclient.jar is first in the classpath
  • DERBY-6379: Manuals are inconsistent in their use of the element
  • DERBY-6378: OFFSET/FETCH NEXT ignored when query is enclosed in parentheses
  • DERBY-6370: dblook doesn't schema-qualify identifiers in trigger actions
  • DERBY-6362: CHECK constraint uses wrong schema for unqualified routine invocations
  • DERBY-6359: Document rolling derby.log file feature
  • DERBY-6350: Provide a rolling file implementation of derby.log
  • DERBY-6330: Simplify StringBuffer use, as they are mutable
  • DERBY-6322: Remove erreoneous warning in NetBeans: superfluous use of super to access inherited member variable
  • DERBY-6321: NetBeans project file: add XML api to source classpath
  • DERBY-6318: Simplify setting of possibly null parameters in XPLAIN descriptors
  • DERBY-6315: Improve test coverage of org.apache.derby.impl.io.InputStreamFile
  • DERBY-6304: Remove unused methods in Predicate
  • DERBY-6296: Simplify PropertyUtil using Properties.stringPropertyNames()
  • DERBY-6292: Use Arrays.copyOf() in FormatableArrayHolder.getArray()
  • DERBY-6291: Improve code coverage of org.apache.derby.iapi.jdbc.BrokeredCallableStatement
  • DERBY-6287: Don't use reflection to call Java 6 methods in FileUtil
  • DERBY-6285: Use factory method to create thread pool for timed login
  • DERBY-6284: Improve test coverage of org.apache.derby.iapi.db.ConnectionInfo
  • DERBY-6276: Convert lang/DB2IsolationLevels.sql to JUnit
  • DERBY-6266: Add ability to print a Derby execution ResultSet as xml.
  • DERBY-6262: Simplify message-generating methods using varargs
  • DERBY-6259: Collapse the level 2 optimizer into its parent module.
  • DERBY-6254: Reduce number of factory methods in StandardException
  • DERBY-6253: Collapse SQLException factories
  • DERBY-6248: nightly regression test failure: testDerby966(org.apache.derbyTesting.functionTests.tests.jdbcapi.XATest)java.sql.SQLFeatureNotSupportedException: The DDM object 0x2408 is not supported. The connection has been terminated.
  • DERBY-6243: Fold Java5ClassFactory into ReflectClassesJava2
  • DERBY-6242: Merge ConcurrentXactFactory into XactFactory
  • DERBY-6241: Remove SinglePool from trunk
  • DERBY-6240: Remove Clock cache manager from trunk
  • DERBY-6236: Remove references to old JVMs (pre-Java 6) from the user guides
  • DERBY-6234: Remove references to BUILTIN authentication from the user guides
  • DERBY-6231: Remove unnecessary checks for UnsupportedEncodingException in the client
  • DERBY-6230: Use the JVM's cache of Number instances in ReuseFactory
  • DERBY-6227: Distinct aggregates don't work well with territory-based collation
  • DERBY-6217: Put all of the security documentation in a single, separate user guide
  • DERBY-6213: Deprecate support for Java 5 and CDC
  • DERBY-6207: Update policy files in java/drda/org/apache/derby/drda
  • DERBY-6206: Cleanup suspect coding practices in misc Derby packages
  • DERBY-6202: Cleanup suspect coding practices in the org.apache.derby.iapi.sql.dictionary package
  • DERBY-6201: Cleanup suspect coding practices in the org.apache.derby.impl.sql.execute.rts package
  • DERBY-6200: Cleanup suspect coding practices in the org.apache.derby.iapi.types package
  • DERBY-6199: Cleanup suspect coding practices in the org.apache.derby.vti package
  • DERBY-6198: Cleanup suspect coding practices in the org.apache.derby.tools package
  • DERBY-6197: Cleanup suspect coding practices in the org.apache.derby.impl.tools.planexporter package
  • DERBY-6195: Cleanup suspect coding practices in the org.apache.derby.impl.tools.ij package.
  • DERBY-6192: Cleanup suspect coding practices in org.apache.derby.iapi.services.property package
  • DERBY-6188: Cleanup suspect coding practices in org.apache.derby.iapi.services.io package
  • DERBY-6186: SYSTRIGGERSRowFactory should use DataDescriptorGenerator to build descriptor
  • DERBY-6184: Clean up warnings in XA transaction id classes
  • DERBY-6182: Cleanup suspect coding practices in org.apache.derby.iapi.error package
  • DERBY-6177: Cleanup suspect coding practices in org.apache.derby.catalog.types
  • DERBY-6169: Reduce visibility of classes and methods under impl/sql
  • DERBY-6168: Clean up registered format ids
  • DERBY-6163: Reduce visibility of methods in subclasses of PageBasicOperation
  • DERBY-6161: Simplify code that handles LOB files
  • DERBY-6138: org.apache.derbyTesting.functionTests.tests.store.ClassLoaderBootTest fails with sealing violation: package org.apache.derby.iapi.services.sanity is sealed depending on classpath order
  • DERBY-6133: simple array index typo
  • DERBY-6128: Examine Derby classes to determine if we need to add serialVersionUID to any of them
  • DERBY-6125: Code clean up in client driver.
  • DERBY-6096: OutOfMemoryError with Clob or Blob hash join: DataTypeDescriptor.estimatedMemoryUsage() has no case for BLOB or CLOB so would underestimate memory usage for those types at zero
  • DERBY-6075: Use modern collections in impl/sql/compile
  • DERBY-5840: Clean up compiler warnings introduced by using Java 5 language features
  • DERBY-5615: NPE in Store when running SELECT in a read-only database accessed via the classpath subprotocol when authentication, authorization, and Java security are turned on
  • DERBY-5317: NullPointerException in org.apache.derby.client.net.Request.sendBytes() with client
  • DERBY-5313: Assert failure with CASE expression in GROUP BY clause
  • DERBY-5196: Correct the layout of log.ctrl as described on the Derby web site
  • DERBY-5111: NullPointerException on unique constraint violation with unique index
  • DERBY-4805: Increase the length of the RDBNAM field in the DRDA implementation
  • DERBY-4750: add documentation to declare global temporary tables to explain expected behavior when used with XA transactions.
  • DERBY-4478: Use AtomicLong for XactFactory.tranId
  • DERBY-4403: Assert failure (sane) or NullPointerException (insane) when attempting to GROUP BY expression containing scalar subquery
  • DERBY-4381: Connection to Derby database using jar subprotocol doesn't work if the path has round bracket in it
  • DERBY-3573: Argument checking for ResultSet.setFetchSize(int) is incorrect
  • DERBY-3476: Permissions and Principal objects added by this feature need to be final and have serialization identifiers
  • DERBY-3155: Support for SQL:2003 MERGE statement
  • DERBY-2438: Remove JDBC20Translation and JDBC30Translation classes
  • DERBY-2423: Embedded and client differ on ResultSetMetaData.isCurrency() value for DECIMAL and NUMERIC columns
  • DERBY-2041: Trigger should register a dependency on tables and columns used in its body
  • DERBY-2002: Case expression allows NULL in all parts of
  • DERBY-1997: Misleading text in WwdEmbedded demo source file for Working With Derby
  • DERBY-1984: Re-factor JDBC classes to remove support for JDBC 2
  • DERBY-1576: Extend the CASE expression syntax for "simple case"
  • DERBY-1028: Change constructors in NetConnection classes to use LogWriter instead of NetLogWriter
  • DERBY-673: Get rid of the NodeFactory
  • DERBY-534: Support use of the WHEN clause in CREATE TRIGGER statements
  • DERBY-532: Support deferrable constraints

New in Apache Derby 10.10.2.0 (Apr 18, 2014)

  • Bug Fixes:
  • DERBY-6513: Warnings when building 10.10 branch with Java 8
  • DERBY-6477: OutOfMemoryError selecting from SYS.SYSALIASES
  • DERBY-6463: localcal demo seems to be obsolete and should be removed
  • DERBY-6457: NetworkServerControl API breaks when username or password contains non-ascii characters
  • DERBY-6456: Infinite loop in NetworkServerControlImpl when reply >= 32k
  • DERBY-6455: Infinite loop in NetworkServerControlImpl.ensureDataInBuffer
  • DERBY-6443: ArrayIndexOutOfBoundsException when calling function from trigger
  • DERBY-6438: Explicitly grant SocketPermission "listen" in default server policy
  • DERBY-6426: Fix isLoginException
  • DERBY-6411: Minimal select privilege should be checked in subqueries
  • DERBY-6408: EXISTS returns NULL instead of FALSE
  • DERBY-6396: NullPointerException in DirFile
  • DERBY-6387: Incorrect ordering of triggers in dblook
  • DERBY-6383: Update trigger defined on one column fires on update of other columns
  • DERBY-6374: Bulk insert of data with nullable UNIQUE constraint fails to detect duplicates
  • DERBY-6373: NPE in Statement.getWarnings()
  • DERBY-6371: DROP COLUMN looks in wrong schema when checking trigger dependencies
  • DERBY-6363: Incorrect evaluation of logical expressions in CASE
  • DERBY-6361: Valid statements rejected if Derby has not implicitly created the current user's schema.
  • DERBY-6357: CREATE TRIGGER doesn't detect all illegal references to SESSION schema
  • DERBY-6351: Syntax error on equal transition table name and correlation name in statement trigger
  • DERBY-6348: NPE or assert failure in recursive trigger
  • DERBY-6346: NPE in left join whose inner table has a generated column
  • DERBY-6338: Remove Profile attribute from jar file manifests
  • DERBY-6324: DatabaseMetaData.getJDBCMinorVersion() should return 2 now that we've implemented JDBC 4.2
  • DERBY-6323: Fix incorrect @throws and @exception tags in javadoc
  • DERBY-6320: Log a page dump to derby.log if ERROR nospc: nospc.U is returned to the user
  • DERBY-6317: Optmizer can choose the wrong path when BTreeCostController.java returns an estimate cost and row count of 0.0
  • DERBY-6314: Upgrade from 10.10 fails with ClassCastException
  • DERBY-6297: Intermittent failures in XplainStatisticsTest.testSimpleXplainOnly
  • DERBY-6283: indexStat daemon processing tables over and over even when there are no changes in the tables in soft upgraded database.
  • DERBY-6273: NullPointerException when using more than one parameter in COALESCE
  • DERBY-6270: Run Java API Documentation Updater Tool on the published javadocs
  • DERBY-6268: Run-time statistics not collected if query contains always false predicate
  • DERBY-6258: Restrict permissions on BACKUP.HISTORY
  • DERBY-6224: Issues with latest JDK 8 EA build because of missing SQLPermission
  • DERBY-6221: Can't select from SYS.SYSUSERS if you use a WHERE clause in the query
  • DERBY-6216: XPLAIN feature does not work and gives ERROR XCL16: ResultSet not open
  • DERBY-6212: NullPointerException when calling a procedure with sub-query as argument
  • DERBY-6209: Add release note omitted with 10.9 for new required Security Manager permissions after DERBY-5363
  • DERBY-6189: NPE involving temporary table and rollback
  • DERBY-6187: Add a release note for metadata datatype changes introduced by JDBC 4.2
  • DERBY-6185: Query against view with "where name LIKE 'Col1' ESCAPE '\' " failed
  • DERBY-6167: Interrupt restarts clock for login timeout
  • DERBY-6157: text for message XSLA4 might encouraging people to delete part of the transaction log
  • DERBY-6151: Derby does not report warnings raised by table functions
  • DERBY-6148: Wrong sort elimination when using permuted join order
  • DERBY-6137: update/delete statement on table with trigger fails randomly with ERROR XSTA2
  • DERBY-6131: select from view with "upper" and "in" list throws a ClassCastException
  • DERBY-6114: OOME in XAMemTest.testDerby4137_TransactionTimeoutSpecifiedNotExceeded
  • DERBY-6092: testPositionAgressive(org.apache.derbyTesting.functionTests.tests.jdbcapi.BlobClob4BlobTest)j fails with : 'The handle is invalid.: java.io.IOException'.
  • DERBY-6047: NPE in StaticCallMethod#coerceMethodParameter with a constant argument to INOUT parameter
  • DERBY-6045: in list multi-probe by primary key not chosen on tables with >256 rows
  • DERBY-5979: ant release target creates a release.properties that has conflicting line endings so automatic checkin fails
  • DERBY-5886: FILE_CANNOT_REMOVE_FILE exception prints garbage.
  • DERBY-5866: testFiringConstraintOrder(org.apache.derbyTesting.functionTests.tests.lang.TriggerTest)junit.framework.AssertionFailedError: matching triggers need to be fired in order creation:1,NO CASCADE BEFORE,DELETE,ROW
  • DERBY-5865: On IBM 1.7 TestDurabilityProperty fails with FAIL -- derby.system.durability=test mode seems to be broken.
  • DERBY-5823: Multi-row insert fails on table without generated keys with RETURN_GENERATED_KEYS
  • DERBY-5610: ServerPropertiesTest prints .java.net.SocketException: Connection reset to console but test passes
  • DERBY-5560: Java deadlock between LogicalConnection40 and ClientXAConnection40 (patch attached)
  • DERBY-5553: System property for client tracing -Dderby.client.traceDirectory does not work with XADataSource
  • DERBY-5416: SYSCS_COMPRESS_TABLE causes an OutOfMemoryError when the heap is full at call time and then gets mostly garbage collected later on
  • DERBY-4923: update of a long row can fail with ERROR nospc: nospc.U exception.
  • DERBY-4753: "ERROR 42X01: Syntax error: FALSE." during call to java.sql.DatabaseMetaData.getIndexInfo
  • DERBY-4729: add more information to the XACT_PROTOCOL_VIOLATION returned from store.
  • DERBY-4160: getMetaData().getIndexInfo crashes with "ERROR X0Y68: Column 'PARAM1' already exists."
  • DERBY-3940: Dropping a column does not drop triggers which mention that column
  • DERBY-2130: Optimizer performance slowdown from 10.1 to 10.2
  • DERBY-896: Cast date to timestamp results in "ERROR 42846: Cannot convert types 'DATE' to 'TIMESTAMP'."

New in Apache Derby 10.10.1.1 (Apr 17, 2013)

  • New Features:
  • SYSCS_UTIL.SYSCS_INVALIDATE_STORED_STATEMENTS - Derby has a new system procedure for invalidating stored prepared statements when you think that your metadata queries or triggers are misbehaving--for example if they throw a NoSuchMethodError on execution. See the section on this new system procedure in the Derby Reference Manual.
  • Unencrypting databases - Encryption can be turned off on existing databases. See the section on the decryptDatabase attribute in the Derby Reference Manual.
  • Small device profile - Derby runs on the small CP2 profile of Java 8.
  • JDBC 4.2 - Derby supports the Java 8 enhancements to JDBC.
  • User-defined aggregates - Applications can create their own aggregate operators. See the "CREATE DERBY AGGREGATE" section in the Derby Reference Manual.
  • Varargs routines - SQL routines can be bound to user-written Java methods which have variable length argument lists.
  • Optional tools - Derby has new, optional tools to support data migration and metadata queries. See the "Optional tools" section in the Derby Tools and Utilities Guide.
  • Bug Fixes:
  • DERBY-6106: Remove the outdated Japanese and Portuguese docs
  • DERBY-6100: Upgrade tests fail on compact2
  • DERBY-6098: Skip compatibility testing of old servers on compact profile 2
  • DERBY-6097: Management test suite fails when JMX is not supported
  • DERBY-6094: Derby ignores DriverManager.setLoginTimeout()
  • DERBY-6089: CallableStatement#registerOutParameter on client lacks check of legal types.
  • DERBY-6088: PreparedStatementTest42 lacks "fail" call when operation unexpectedly succeeds
  • DERBY-6087: Can't build Javadoc with JDK 1.8 if explicit j15lib, j16lib and j17lib paths are set
  • DERBY-6086: Factor out logic for creating custom connection in jdbcapi.StatementPoolingTest
  • DERBY-6085: Improve error reporting when server port is unavailable
  • DERBY-6083: Update minimum/maximum floating-point values to align with DERBY-3398 fixes
  • DERBY-6081: JDBC 4.2 setObject() and updateObject() methods throw NPE when type is null
  • DERBY-6079: 100's of errors in nightly test run on weme after jacoco property/priviledges checkin
  • DERBY-6078: Propagate a set of properties to the junit tasks in build.xml
  • DERBY-6077: web site needs updating on a few points
  • DERBY-6076: Folder.gif icon missing from derby documentation website
  • DERBY-6073: Test ordering instability in StatementPoolingTest
  • DERBY-6072: Move lang/reopenScan.sql to LangScripts
  • DERBY-6071: trunk javadoc build fails with Javadoc failed: java.io.IOException: Cannot run program \bin\javadoc.exe": CreateProcess error=206, The filename or extension is too long.
  • DERBY-6070: Document Derby's JDBC 4.2 implementation
  • DERBY-6065: LockTable API link in the documentation is broken
  • DERBY-6064: Failures in upgradeTests.Changes10_9 related to index cardinality statistics
  • DERBY-6063: Access static variables by class name in TabInfoImpl, InsertResultSet and ControlRow
  • DERBY-6061: Upgrade language is inconsistent
  • DERBY-6060: Fix Javadoc for UpgradeTrajectoryTest dangling reference
  • DERBY-6059: Document Derby usage running on Java 8 JEP 161 Compact Profiles
  • DERBY-6058: 2 ClassNotFoundException failures on trunk with ibm's weme6.2 since build 1433263
  • DERBY-6053: Client should use a prepared statement rather than regular statement for Connection.setTransactionIsolation
  • DERBY-6052: Text files under build/site do not have svn:eol-style=native
  • DERBY-6050: Make all topics visible in ToCs
  • DERBY-6044: Fix poor word breaking in table on download page(s)
  • DERBY-6043: Make JQL default query mode for 'ant genrelnotes'
  • DERBY-6042: Document the syscs_util.syscs_register_tool procedure added by DERBY-6022.
  • DERBY-6041: Remove unused parameters from the BTreeLockingPolicy interface
  • DERBY-6039: Intermittent failure in LangProcedureTest.testDynamicResultSets: Table/View 'T1' does not exist.
  • DERBY-6038: Intermittent failure in LangProcedureTest: cannot drop table because of open ResultSet
  • DERBY-6034: Fix documentation on procedure argument limits
  • DERBY-6033: Lift the arbitrary limit on the number of routine parameters.
  • DERBY-6030: Length of escape string in LIKE ... ESCAPE not properly checked with territory based collation
  • DERBY-6027: ORDER BY a cast expression gives NPE
  • DERBY-6018: Document varargs routines.
  • DERBY-6017: IN lists with mixed types may return wrong results
  • DERBY-6010: Reference Manual should clarify what ALTER TABLE ADD COLUMN does
  • DERBY-6009: Need stricter checking of ORDER BY clause in VALUES expressions
  • DERBY-6008: Allow ORDER BY and FETCH/OFFSET in set operands
  • DERBY-6006: NullPointerException in INSERT INTO ... SELECT FROM ... ORDER BY
  • DERBY-6003: Create row templates outside of the generated code
  • DERBY-6002: Reference manual is unclear on when territory can be set
  • DERBY-6001: ErrorMessageTest assert failure: Only one of the waiters should be aborted
  • DERBY-6000: Implement support for JDBC 4.2
  • DERBY-5999: Improve documentation on index key lengths
  • DERBY-5998: Replication tests fail on CDC platforms without optional JSSE package
  • DERBY-5996: Create readme files (cautioning users against modifying database files) at database hard upgrade time
  • DERBY-5995: Add a test case to check the 3 readme files get created even when log directory has been changed with jdbc url attribute logDevice
  • DERBY-5993: The Reference Manual shows an embedded url in its example for the client-side-only retrieveMessageText attribute.
  • DERBY-5992: Use BaseTestCase.execJavaCmd() to start process from NetworkServerTestSetup
  • DERBY-5989: Stop producing byte code for non-existent qualifiers
  • DERBY-5986: Make ArithmeticTest test DECIMAL data type
  • DERBY-5977: Run storemore and possibly other store .sql tests in junit harness using ScriptTest mechanism.
  • DERBY-5976: Document the new SQLWarning raised when trying to change the encryption state of an already booted database.
  • DERBY-5972: Grammar doesn't accept OR operator without parentheses
  • DERBY-5971: Improve test coverage for SQLBoolean class
  • DERBY-5969: Encryption, re-encryption, and un-encryption silently fail if the database is already booted.
  • DERBY-5966: NativeAuthenticationServiceTest.testAll() failure: ( FILE, NATIVE authentication on, LOCAL authentication ON, Authentication/Authorization turned OFF, SecurityManager ON, Embedded ): Connection to fifthDB unexpectedly failed.
  • DERBY-5964: Timestamp comparison failure in AutomaticIndexStatisticsTest.testStatisticsCorrectness
  • DERBY-5962: Internationalize error messages for database decryption
  • DERBY-5961: Developer's guide mentions SQL state 40XL2 which is no longer used
  • DERBY-5960: VirtualRandomAccessFile.close() is not idempotent
  • DERBY-5955: Prepare Derby to run with Compact Profiles (JEP 161)
  • DERBY-5954: NPE in SELECT involving subselects and windows functions
  • DERBY-5951: Missing method exception raised when using Clobs with territory based collation
  • DERBY-5948: Update JVMInfo.java to include JDK 8
  • DERBY-5947: Factor out common code from generated classes
  • DERBY-5945: Inappropriate error message when calling a procedure as a function (as if it had a return value)
  • DERBY-5940: Disable securityMechanism=8 in NSSecurityMechanismTest on ARM platforms
  • DERBY-5939: Document URL attribute for database decryption
  • DERBY-5938: Documentation says Derby works with Java 1.4.2
  • DERBY-5937: File handle is leaked when a Slave replication is shutdown with failover=true
  • DERBY-5935: Remove unused code for factory classes in the reflection service
  • DERBY-5934: Convert store.ReEncryptCrashRecovery
  • DERBY-5933: SQL sorting error
  • DERBY-5930: Reformat RawStore.setupEncryptionEngines
  • DERBY-5929: Release numbers in a few topics need updating
  • DERBY-5928: Add more task focus to Derby security documentation
  • DERBY-5927: Add utility methods to query state of URL attributes in EmbedConnection
  • DERBY-5926: Document user-defined aggregates (DERBY-672)
  • DERBY-5925: Document derby.log changes resulting from DERBY-5240
  • DERBY-5918: CREATE TABLE AS SELECT doesn't work on tables with BOOLEAN columns
  • DERBY-5917: NoClassDefFoundErrors when running tests without derbynet.jar and derbyclient.jar
  • DERBY-5916: java.lang.NullPointerException org.apache.derby.impl.store.raw.data.BaseDataFileFactory.stop() connecting to network server
  • DERBY-5914: Incorrect list of compatible JRE versions in client trace #2
  • DERBY-5913: Remove unused classes (GS)et*Action in client.am
  • DERBY-5912: testIsValidImplemented fails for NetworkServer in some slow running machines/configurations
  • DERBY-5911: WHERE condition getting pushed into sub-query with FETCH
  • DERBY-5910: Document use of Connection.close() with try-with-resources
  • DERBY-5909: The lang attribute in toc.html always says 'en-us'
  • DERBY-5906: In the Reference Manual, sin() is used as the example for the sinh() function.
  • DERBY-5905: Derby html documentation doesn't render properly and prints garbage on Internet Explorer
  • DERBY-5900: Need to correct Reference Guide description of contents of SYS.SYSPERMS.OBJECTTYPE
  • DERBY-5898: add ibm18 class to functionTests.harness
  • DERBY-5897: Broken handling of paths with special characters in compatibility/VersionCombinationConfigurator
  • DERBY-5896: Change java/drda source code to use spaces instead of tabs and clean up tab creep in java/client
  • DERBY-5894: NPE in OnlineBackupTest1 while backing up in stubFileToRemoveAfterCheckPoint
  • DERBY-5885: The order of argument names in messages.xml is sometimes wrong when the arguments occur in the message out of sequence.
  • DERBY-5883: Simplify JSR-169 implementation class tree
  • DERBY-5880: Move java.sql.Wrapper implementations to base classes in embedded driver
  • DERBY-5878: Add message argument names, as comments, to English message file produced by MessageBuilder.
  • DERBY-5877: Prune the brokered class tree
  • DERBY-5874: Remove JDBC 3 constants from client.am.Statement
  • DERBY-5873: Avoid unnecessary allocation of Number instances in client/server
  • DERBY-5872: Inconsistency between isWrapperFor() and unwrap() in logical statements
  • DERBY-5871: Invoke logical statements with existing statement tests
  • DERBY-5868: Move java.sql.Wrapper implementations to base classes on the client
  • DERBY-5864: weme 6.2 (J2ME) runs fail to start with Failed to invoke class org.apache.derbyTesting.functionTests.tests.derbynet._Suite java.lang.reflect.InvocationTargetException
  • DERBY-5860: Remove unused methods in DDMReader and DDMWriter
  • DERBY-5854: Test for methods in BrokeredCallableStatement
  • DERBY-5851: Inconsistent code coverage shown for LogicalPreparedStatement40
  • DERBY-5847: Clean up IDE warnings in DRDAConnThread
  • DERBY-5839: dblook run on toursdb fails on triggers with java.lang.StringIndexOutOfBoundsException in dblook.log
  • DERBY-5836: Move assertDirectoryDeleted from BaseJDBCTestCase to BaseTestCase
  • DERBY-5834: Remove unused methods in NetPreparedStatement class
  • DERBY-5833: Remove unused methods in NetCallableStatement class
  • DERBY-5831: Update information on BIS EAR (export control)
  • DERBY-5830: Make DoubleProperties.propertyNames() thread-safe
  • DERBY-5829: Lift DB2 restriction on the DEFAULT clause
  • DERBY-5828: Remove unused methods in NetPackageReply class
  • DERBY-5827: Remove unused methods in NetStatementReply class
  • DERBY-5826: Remove unused methods in NetConnectionReply class
  • DERBY-5822: Document the new SQL standard behavior of the SPACE_TABLE vti
  • DERBY-5821: tools/derbyrunjartest.java doesn't use jvmflags
  • DERBY-5820: emma-instrumentation target should instrument derbyrun.jar
  • DERBY-5819: Add logic to BaseTestCase to start subprocesses ready to be attached to from a Java debugger
  • DERBY-5817: Add support for the JaCoCo code coverage tool
  • DERBY-5815: Add replicationTests.ReplicationSuite to junit-core ant target
  • DERBY-5814: Source cleanup in catalogs "impl.sql.catalog" and "impl.sql.compile"
  • DERBY-5813: Remove unused class ErrorKey
  • DERBY-5810: Include emma.jar on classpath when running compatibility test with instrumented jars
  • DERBY-5808: Compatibility test should use BaseTestCase.execJavaCmd()
  • DERBY-5805: Database encryption topics in Reference Manual need more information
  • DERBY-5804: Remove unused class GenericClassInfo
  • DERBY-5803: Make error handling in xaHelper more explicit
  • DERBY-5802: Remove unused class ExecProcUtil
  • DERBY-5801: Sub-processes should write EMMA coverage data to separate files
  • DERBY-5799: add more info on when Derby chooses 32k page size for tables.
  • DERBY-5798: Disable i18n/JapanCodeConversion.sql on platforms that don't support EUC_JP or SJIS
  • DERBY-5797: AssertionFailedError in functionTests.tests.lang.UpdateStatisticsTest.testDisposableStatsEagerness
  • DERBY-5796: Remove unused methods in client.am.DateTime
  • DERBY-5795: Documentation in release doesn't include stylesheets
  • DERBY-5793: Document new SYSCS_INVALIDATE_STORED_STATEMENTS procedure
  • DERBY-5791: Replication tests should use BaseTestCase.execJavaCmd() to run local commands
  • DERBY-5787: (patch) remove dead allocation
  • DERBY-5786: Duplicate copies of InputStreamUtil.java and DynamicByteArrayOutputStream.java classes in client.net package
  • DERBY-5783: Remove duplicated code for starting remote processes in replication tests
  • DERBY-5779: Table functions should only accept arguments which are constant in their query block.
  • DERBY-5775: Upgrade tests should print full IOException stack trace when it fails to access old versions
  • DERBY-5764: Make DatabaseMetaDataTest more robust wrt changes made by other tests
  • DERBY-5752: LOBStreamControl should materialize less aggressively
  • DERBY-5750: Sending an empty string as table name to compress table procedure or empty string as index name to update statistics procedure makes the parser throw an exception.
  • DERBY-5740: Remove unsued code in AlterTableConstantaction.columnDroppedAndTriggerDependencies
  • DERBY-5632: Logical deadlock happened when freezing/unfreezing the database
  • DERBY-5622: Reduce the chance for hash collisions when checking bootPassword at boot time and when changing password.
  • DERBY-5578: Provide a way to invalidate stored prepared statements
  • DERBY-5546: ResultSet#updateBigDecimal on a REAL column does not do underflow checking
  • DERBY-5531: Assert failure when inserting NULL into indexed column with territory-based collation
  • DERBY-5462: ant release needs to accommodate for different ant executables on different systems
  • DERBY-5460: ant release should allow local.properties to exist
  • DERBY-5425: Updateable holdable ResultSet terminates early after 65638 updates
  • DERBY-5407: When run across the network, dblook produces unusable DDL for VARCHAR FOR BIT DATA columns.
  • DERBY-5359: Missing xmlns attribute for html element in docs
  • DERBY-5358: SYSCS_COMPRESS_TABLE failed with conglomerate not found exception
  • DERBY-5340: Comment in demo server policy should follow RFC 2606 convention
  • DERBY-5240: Log Operating system information to derby.log on boot
  • DERBY-5232: Put a stern README file in log and seg0 directories to warn users of corrpution they will cause if they touch files there
  • DERBY-5213: Write tests to verify the interaction of TRUNCATE TABLE and online backup
  • DERBY-4841: Improve projecthelp for the top level Derby build script
  • DERBY-4811: Remove unused clean targets from the Derby build.
  • DERBY-4323: test failure in lang.ErrorMessageTest with IBM iseries IBM 1.5
  • DERBY-4279: Statement cache deadlock
  • DERBY-4259: Document database property for determining database format version
  • DERBY-4229: encryptionKeyLength connection attribute should be documented
  • DERBY-3399: The automatic compile path property setting for the build system should be expanded to handle Java SE 6 virtual machines.
  • DERBY-3398: Support min/max values for Java types float/double in real/double columns
  • DERBY-3371: Strange (and untested) code fragment in RAMTransaction.addColumnToConglomerate()
  • DERBY-3275: Mismatch between comments and actual use of initialSize parameter in CacheFactory and Clock
  • DERBY-2920: Share code between readExternal() and readExternalFromArray()
  • DERBY-2774: Desciption of variable part in error message of XSLAM was not exists in Derby reference manual.
  • DERBY-2705: Description of error message for X0X61/X0Y59/X0Y69/X0Y70 in SQL error messages and exceptions of Reference manual is not appropriate.
  • DERBY-2699: performance of like in territory based collation databases may be improved by changing way collation elements are calculated.
  • DERBY-2601: Server SQLException error codes are not returned to client
  • DERBY-2572: Write a master script which creates a release branch.
  • DERBY-2516: Network Client allows execution of callable statement when one of the parameters is not set
  • DERBY-2461: Convert lang/procedure.java to junit
  • DERBY-2076: Rewrite junitTests/derbyNet/CompatibilityTest to conform to current JUnit usage
  • DERBY-1982: Remove support for JDK 1.3 in 10.3 and onwards
  • DERBY-1721: DOCS - Remove duplicate information in Dev Guide re: Encryption
  • DERBY-1400: Cleanup code in network server's DRDAStatement class
  • DERBY-1048: Include run of junitTests/CompatibilitySuite, or converted compatibility test suite with 10.1/trunk combination into suites.All
  • DERBY-436: clean up imports and static field references in DRDA classes

New in Apache Derby 10.9.1.0 (Jan 31, 2013)

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

New in Apache Derby 10.8.1.2 (May 23, 2011)

  • JDBC 4.1 - Derby's JDBC drivers support the new Java 7 methods on the java.sql and javax.sql interfaces. This support works with the pre-GA OpenJDK 7 build 131 available at http://download.java.net/jdk7/ on March 3, 2011. Derby's implementation of these interfaces may change in a future release in the highly unlikely event that the actual GA version of these interfaces changes.
  • Automatic calculation of index statistics - Derby automatically refreshes statistics to help it pick better query plans.
  • Improved interrupt handling - Interrupting connection threads no longer crashes the Derby engine.
  • MAX optimization - On indexed tables, MAX queries run faster in more cases.
  • XML operator portability - The xmlparse and xmlserialize operators work out-of-the-box on more platforms.

New in Apache Derby 10.6.1.0 (May 26, 2010)

  • Sequence Generators - Named generators for allocating successive, evenly spaced numbers. See feature T176 of the SQL Standard.
  • User-defined types - Named types bound to serializable Java objects.
  • Restricted table functions - Limits on the columns and rows returned by table functions.
  • XPLAIN statistics collection - Query plan statistics stored in tables for later analysis.
  • GROUP BY ROLLUP - A subset of the SQL Standard ROLLUP functionality on the GROUP BY clause. See feature T431 of the SQL Standard.
  • CROSS JOIN - CROSS JOIN syntax. See feature F401-04 of the SQL Standard.
  • Named columns join - USING clauses in joins.
  • SHOW FUNCTIONS - IJ command that lists stored functions.
  • In-memory back end enhancements - Numerous improvements, including the ability to delete in-memory databases.
  • ORDER BY in subqueries - Syntax for explicitly ordering rows returned by subqueries. See features F851, F852, and F855 of the SQL Standard.
  • OFFSET, FETCH FIRST/NEXT in subqueries - Generalized syntax for retrieving row subsets. See features F856, F857, F858, F859, F861, F862, F863, and F864 of the SQL Standard.
  • NATURAL JOIN - Support for NATURAL JOIN. See feature T431 of the SQL Standard.
  • Qualified identifers in ij - Ability to reference cursors and prepared statements in other connections.
  • Configurable hash algorithm - Ability to customize the hash algorithm used by BUILTIN authentication.
  • Context-sniffing scripts - Ability of shipped scripts to locate Derby jars when DERBY_HOME isn't set.
  • Case-insensitive strings - Ability to ignore case in string comparisons and sorts.

New in Apache Derby 10.4.13 (Sep 5, 2008)

  • SQL ROW_NUMBER() window function, as described in the SQL 2003 standard section 6.10, for an empty, inlined window specification. The window clause, as described in section 7.11 is not implemented.
  • Unique constraints on nullable columns. SQL Feature T591.
  • Asynchronous replication with manual fail-over.
  • Table Functions. SQL Feature T326. This lets you run queries against any external data source which can be presented as a JDBC ResultSet. Table Functions are useful for data migration and integration. For more information, please consult the "Programming Derby-style table functions" section of the Derby Developer's Guide as well as the functional specification attached to DERBY-716.
  • Java Management Extensions (JMX) for Derby, allowing local and remote monitoring and management of a running Derby system (this release includes a basic set of MBeans - it is expected that more JMX functionality will be added in later releases).
  • SQL bracketed comments (/*..*/). SQL Feature T351.
  • ij continuation marker. Interactive ij shows > prompt until ; is entered.
  • A JDBC statement object cache in the client driver. Some limitations imposed by the presence of DERBY-3596.
  • Caching of the isolation level and the current schema in the client driver.
  • Implement a new multi-threaded buffer manager to get better scalability on machines with multiple CPUs or multiple cores.