Comments for hsqldb Database Engine

24 Feb 2005 01:14 dedmike

Changes to hsqldb v.1.8.0 since RC5
2005.02.11 1.8.0.RC8

Fixed minor bugs

Added public shutdown() method to Server.

A new application log has been introduced as an optional feature. The property/value pair

"hsqldb.applog=1" can be used in the first connection string to log some important messages.

The default is "hsqldb.applog=0", meaning no logging. A file with the ending ".app.log" is

generated alongside the rest of the database files for this purpose.

In the current version only the classes used for file persistence (different in,

plus any error encountered while processing the .log file after an abnormal end is logged.

Bob Preston has updated the text table support to accept new line characters inside quoted

strings. It is still not possible to create / modify a row containing a new line inside the engine.

This will be a simple upgrade and will be included in the next RC.

Note that the JDBC driver and the engine for 1.8.0 cannot be mixed with those of earlier

versions in client/server setup. Check your classpaths and use the same version of the engine

for both client and server.

2005.01.28 1.8.0.RC7

Fixed minor bugs

08 Feb 2005 00:01 dedmike

Release of Version

Version 1.7.2 was regularly updated after the initial release with bug fixes, leading to revision In the meantime new work was carried out by Thomas Mueller on SQL Standard handling of NULL values and the BOOLEAN type. Towards the end of 2004, this work was included in a new version 1.7.3.

Bug fixes and enhancements in 1.7.3 up to revision

Fixed bug with logging of deletes / updates from tables without primary keys. If the a row from such tables contained a null value and was deleted / updated, the operation was not logged correctly. Subsequently, if there was an abnormal termination after such changes and the database was restarted, the logged delete statement would not have any effect and result in duplicate rows. This bug did not affect tables with primary keys or the normal operation

(without abnormal termination) of any tables.

Allow conversion from BIGINT to SAMMLINT and TYNYINT (all other legal conversions worked fine)

Fixed issue with null values in calls to ResultSet methods with a Calendar argument.

Enhancement to allow INSERT INTO <T> SELECT (....) where no column list list for the table T is specified.

Corrected scripting of CHECK constraints with NOT NULL and IS NULL

Fixed NPE error when functions in subqueries.

Added support for STDDEV_POP, STDDEV_SAMP, VAR_POP, VAR_SAMP, EVERY and SOME set functions.

Fixed potential issues with logging DELETE statements for tables with multi-key primary keys.

25 Jan 2005 02:23 dedmike

1.8.0 RC5 Changes
2005.01.24 1.8.0.RC5


New property for larger data file limits is introduced. Once set, the limit will go

up to 8GB. The property can be set with the following SQL command only when the database

has no tables (new database).

SET PROPERTY "hsqldb.cache_file_scale" 8

To apply the change to an existing database, SHUTDOWN SCRIPT should be performed first,

then the property=value line below should be added to the .properties file before reopenning

the database.


It is now possible to add or drop a primary key.

An existing primary key that is to be removed should not be referenced in a FOREIGN KEY

constraint. If a table has an IDENTITY column, removing a primary key will remove the

identity attribute of the column but leave the actual data.

When adding a primary key, a NOT NULL constraint is automatically added to the column definitions.

The table data for the columns of a newly declared primary key should not contain null values.



ALTER TABLE <name> DROP PRIMARY KEY; // alternative syntax

Fred Toussi

hsqldb Project Maintainer

22 Jan 2005 15:30 dedmike

1.8.0 to RC4
RC1 Notes:

This release features the code needed for embedding into,
added by Ocke Janssen of OOo.

There are lots of code enhancements which were originally developed for
HyperXtremeSQL ( These include a rewritten
implementation of Cache and related functionality and some refactorings
aimed at better separation of concerns.

1.8.0.RC1 also improves reuse of file space when rows are deleted. This is
aimed primarily at JBoss usage which involves a million or more
insert/delete/update ops per day and results in much smaller .data files
over time.

Performance has been improved in certain areas, such as recovery after an
abnormal termination.

Enhancements to DatabaseManagerSwing, contributed by Ed Taylor, are also

RC2 Notes:

Bugs related mainly to failure to keep the data backup file and similar have
been fixed in this version. It is certainly getting more like a full
release. Tests indicate that overall performance is up to 10% better than

RC3 Notes:

A couple of bugs have been fixed in this RC.

There is also a new mechanism to automate the defragmentation of the .data
file. This and previous improvments should allow a JBoss installation of
HSQLDB to work seamlessly for an indefinite period without running out of
.data file space.

RC4 Notes:

This version restores support for text tables and fixes a few bugs.

Please note that as a result of introduction of support for extended
ResultSetMetaData in client/server mode, you need to use RC4 both as client
and server.

27 May 2004 10:53 jimcp

Schema's aren't supported in HSQL. You have to use a workaround... Create a table name between double quotes like "schema.tablename". The table is created in the sa schema but it looks as though it is created in it's own schema. That's why I rated this db with 9 stars as an in-memory lightweight database. Don't compare it with what it is not, it wouldn't be fair.

18 Mar 2002 22:33 dedmike

[hsqldb-announce]hsqldb v.1.70RC1alfa availability announcement
v.1.70RC1alfa is up at the files list. Download is

This is a source only release and is best built with Ant. CVS update,
formal CHANGELOG availability, documentation package and revamped and new
demoes (including WebStart) to come. J2EE experimental is part of this RC
and requires building with the appropriate jars in place. New tools also in
the final package.

Changes and Patch Lists are at:

Please make any comments, Bug Reports, Feature Requests, Support Requests
and Patches to the Release Candidtate Tracker at

Please sign in or leave your email address when making your report, so we
can follow up. This is to ensure continued support of the production-level
distros of hsql and hsqldb.

Thanks. Now come and get yer code!

Michael J. Cannon/dedmike PM/COO

21 Jul 2001 06:05 dedmike

hsqldb v.1.61 released
July 20, 2001

Now fully documented and fully functional, including all demos. New servlet engine, new transfer agent, new developer tools, and better support for JDBC 2.0.

13 Jul 2001 02:23 dedmike

v.1.61 pre in release -- FINALLY!!!
hsqldb v.1.61 RC1 available for download and test!

The new packages of hsqldb v.1.61 are available for donloading and testing! Get them at

The .jar file (without support docs or demo) is at

and the .zip file (complete with the demos, test scripts and change docs) is at

There is also a semi-complete version of the entire RC1 at

Finally, remember, these are BETA copies of code...use at your own risk.

If you're REALLY adventurous, you can download from the CVS repository on a nightly basis. The URL is:

Users and unregistered developers use the anonymous method, and registered developers log in with your SourceForge User ID.

The CHANGELOGs are in each of the files, and at

Finally thanks to Mark Tutt and Fred Toussi for making all of this happen! Good job, guys!!
This version (as well as v.1.60) now builds with ANT, Another Neat Tool, from the Apache Jakarta Project. The build.xml script is a collaborative effort of the development team, lead by Fred. We're trying to incorporate a JUnit testing framework into the packages...hopefully it'll make it in time for our final release (still on track for July 20, 2001!). Check back on this site often for more news!!!

If you bug-squashers out there find bugs in the RC code or in CVS, don't hesitate to let us know at the Bug Tracker at

just hit the 'Submit New' link and fill out the form!!! Don't forget to log in!!!
Also, take the time to browse the bug list (we've opened 'em all back up!) and click on the title. Finally, make sure your bug reports are complete, including platform, SQL scripts (if any) and a COMPLETE description of the problem. If we gotta struggle too hard to duplicate the case, it'll take us that much longer to reproduce the bug and write the patch...Happy bug squashing!!!!

PM/COO --, Inc.


Project Spotlight


An open, cross-platform journaling program.


Project Spotlight


A scientific plotting package.