Overview
HyperXtremeSQL shares HSQLDB's interface and query-processing classes, so it is fully compatible at the application level with the latest release version of HSQLDB. In addition, the new core has been written in such a way that the behaviour is the same as HSQLDB. For example, the rows returned from a SELECT query without an ORDER BY clause will be generally in the same order.
Shared features are covered extensively on the HSQLDB WEB SITE and supplied documentation. This documentation will continue to be extended and enhanced . Some important common features are listed below:
- Support for Unicode strings, and all common SQL types, and column defaults.
- Advanced SQL features including subqueries, OUTER joins, UNION, INTERSECT, GROUP BY, HAVING, IN, EXISTS.
- Extensive list of built-in SQL functions including CASE WHEN and COALESCE
- Support for foreign keys with ON DELETE/UPDATE CASCADE/SET NULL etc.
- Extensive JDBC metadata support plus additional system tables for metadata
- JDBC scrollable result sets, prepared statements, batch statements, clob and blob
- Embedded (in-process) and client-server modes of operation
- ACID compliance and full support for transactions (multiple connections are not isolated from one another).
Additional documentation on specific aspects of HXSQL (namely configuration, speed and memory usage) is supplied with the software.
Specific HXSQL Features
Apart from overall speed improvement, the new core in HyperXtremeSQL offers several other advantages:
- SELECT COUNT(*) FROM ATABLE is instant, while all aggregate queries that work on just one column of a table are much faster, even with conditions.
- Disk Engine databases can grow to up to 16GB and beyond.
- Special backup and checkpoint mode for huge databases. Multi-gigabyte databases can be shutdown in a few seconds.
- Creation of indexes, primary and foreign key constraints is much faster than HSQLDB.
- Dropping indexes and constraints is almost instant.
- Defragmentation of Disk Engine database files is much faster. Needs less defragmentation than HSQLDB.
HyperXtremeSQL is supplied in binary format only. There are different binraries for different JDK versions. Jars with client-server support are around 400KB in size while those without are around 350KB (smaller footprint than HSQLDB). Currently, jars that support JDK 1.4 and 1.5 are supplied by default while jars supporting 1.3, 1.1, and CDC platform are available upon request.


