The correct version of HSQLDB for upgrades is 2.0.1. By default it is
compatible with databases generated with older versions.
Upgrades have been very extensively tested (especially by the
OpenOffice.org community). There are even connection property flags to
make it work the same as 1.8.0 when necessary.
If you use Hibernate 3.6.0 with 2.0.1, you should get good results.
HSQLDB is very actively maintained. The SVN head is kept as production
quality and every few weeks there has been a snapshot or release
candidate.
Regarding your other statements, H2 was a separate project from the
start and could never be the version 2 of HSQLDB.
The feature matrix on the H2 site contains a couple of features that are
not built in HSQLDB but can be done with addons (for example Lucene
search can be done with Hibernate). In fact HSQLDB has a wide range of
features that are not found in H2 or Derby, for example SQL routines and
multi-statement triggers. The performance tests there do not look
convincing either as most of the reported time is used inserting bulk
data in a smallish database. When database size goes over 100 MB or so,
the results are very different.
HSQLDB has a feature that would be uniquely useful to content
management, which is a physically separate lob store. This preforms very
well and can handle thousands of very large lobs, all in a single file.
In short HSQLDB 2.0.1 is very fast and effective for database sizes up
to about 500MB plus multiple gigabytes of lobs.
Regards
Fred Toussi
HSQLDB Project
On Mon, 06 Dec 2010 02:26 +0100, "Sergiu Dumitriu" <sergiu(a)xwiki.com>
wrote:
Hi devs,
The default standalone distribution currently uses HSQLDB 1.8 as the
database engine, wrapped by Hibernate 3.2.6 as the ORM engine. Both are
a bit deprecated.
One option is to use the 2.0 version of HSQLDB, which brings lots of
improvements. Unfortunately, a direct replacement of the old jar with
the new one doesn't work. It complains when trying to open an existing
database, and even with a new database it complains when using boolean
fields in queries, which means all searchDocuments calls will fail
because of the "doc.hidden <> true" condition.
Another option is to use H2, which is a reimplementation of HSQLDB,
originally intended to be version 2 of HSQLDB. On their
http://www.h2database.com/html/features.html#comparison feature
comparison, H2 seems to have more meta-features than HSQLDB2.
A third option which was already partially implemented is to use Derby.
Personally I prefer H2, which seems to be more maintained than the
others, with new releases every 2-3 weeks, and also has better
performance and more features.
--
Sergiu Dumitriu
http://purl.org/net/sergiu/
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs