We support two types of the temp table. One type is created with CREATE
GLOBAL TEMPORARY TABLE (since 1.8.0) with the definition stored in the
schema while each session has its private copy of the data. The other type
is fully private and is created with DECLARE LOCAL TEMPORARY TABLE (since
2.0.0). (the crucial difference is between CREATE and DECLARE) and can be
DECLAREd in the middle of a transaction. The contents of both types are
cleared on commit, but you can add ON COMMIT PRESERVE ROWS to the end of the
definition if you want to keep it.
I understand Hibernate uses temporary tables to hold intermediate results in
a transaction. Therefore the DECLARE LOCAL ... definition is used in the new
dialect with v. 2.0.x
I am going to check another possible enhancement to the dialect, so I'd
better ask. Both v. 1.8 and 2.0 support the BOOLEAN type (you say "SELECT
... WHERE booleancol" , "INSERT INTO T (booleancol) VALUES (TRUE)" ), in
addition v. 2.0 supports verbose boolean expressions "WHERE booleancol IS
TRUE" etc. Now, is it possible to get Hibernate to use the BOOLEAN type in
this way, and which methods of Dialect should be defined?
As suggested by Strong, I'll start a Jira issue once I get a resolution to
the BOOLEAN issue.
----- Original Message -----
From: "Steve Ebersole" <steve(a)hibernate.org>
To: "Fred Toussi" <fredt(a)users.sourceforge.net>
Sent: 28 June 2010 20:25
Subject: Re: [hibernate-dev] New version of HSQLDialect.java
Hey Fred, thats awesome.
Curious whether y'all added temp table support?
On Sun, 2010-06-27 at 02:01 +0100, Fred Toussi wrote:
I have made changes and additions to HSQLDialect to work with HSQLDB
2.0.x. The Hibernate unit tests now run well with HSQLDB 1.8.x and
New snapshot jars of HSQLDB v. 2.0.1 (for jdk 1.5 or 1.6) are available
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
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
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.
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
hibernate-dev mailing list
Steve Ebersole <steve(a)hibernate.org>
hibernate-dev mailing list