[hibernate-dev] New version of HSQLDialect.java

Fred Toussi fredt at users.sourceforge.net
Sat Jun 26 21:01:43 EDT 2010


I have made changes and additions to HSQLDialect to work with HSQLDB v.
2.0.x. The Hibernate unit tests now run well with HSQLDB 1.8.x and
2.0.x.

New snapshot jars of HSQLDB v. 2.0.1 (for jdk 1.5 or 1.6) are available
here: http://hsqldb.org/support/ and should be used in tests. These
reflect the HSQLDB SVN /base/trunk/ (see SourceForge project pages) The
GA 2.0.0 showed a few issues that have now been fixed.

Version 2.0.x is transactional and has been written to the SQL Standard
(but relaxes some requirements by default). Therefore, the dialect
distinguishes between 1.8.x and 2.0.x versions and treats them
differently.

I am hoping that any remaining issue with HSQLDialect are identified and
fixed now. So please check the dialect and let me know if you have any
recommendations.

Some Details:

The following connection URL's can be used:
"jdbc:hsqldb:mem:db;hsqldb.tx=mvcc;get_column_name=false" or with
"hsqldb.tx=locks" (mvcc or lock based transaction management). The
"get_column_name=false" causes the JDBC driver to return the column
labels when getColumnName() is used on ResultSetMetaData.

There are 4 test failures with 2.0.x. The one below is caused by HSQLDB.
In JDBC PreparedStatement, it does not allow a locator on an existing
database lob to be used as the source of an assignment to the database.
  testBlobClob(org.hibernate.test.legacy.SQLFunctionsTest)

I don't know the cause of the other failures.

Tests were performed with the latest Hibernate SVN code.

HSQLDB 2.0.x supports 3 URL properties to enforce strict type and name
checking according to ANSI SQL. The defaults for some of these are
relaxed. See http://hsqldb.org/doc/2.0/guide/dbproperties-chapt.html

Fred Toussi
HSQLDB Project



More information about the hibernate-dev mailing list