documentation/Reference/Database Driver Reference/HSQLDB.md
{% include database-boilerplate.html %}
| Item | Details |
|---|---|
| URL format | <code>jdbc:hsqldb:file:<i>file</i></code> |
| Ships with Flyway Command-line | Yes |
| Maven Central coordinates | org.hsqldb:hsqldb |
| Supported versions | 1.8 and later |
| Default Java class | org.hsqldb.jdbcDriver |
HSQLDB support is a separate dependency for Flyway and will need to be added to your Java project to access these features.
HSQLDB is found within the flyway-database-hsqldb plugin module.
<dependency>
<groupId>com.redgate.flyway</groupId>
<artifactId>flyway-database-hsqldb</artifactId>
</dependency>
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-database-hsqldb</artifactId>
</dependency>
buildscript {
dependencies {
implementation "com.redgate.flyway:flyway-database-hsqldb"
}
}
buildscript {
dependencies {
implementation "org.flywaydb:flyway-database-hsqldb"
}
}
BEGIN ATOMIC ... END; block/* Single line comment */
CREATE TABLE test_data (
value VARCHAR(25) NOT NULL PRIMARY KEY
);
/*
Multi-line
comment
*/
-- Sql-style comment
-- Placeholder
INSERT INTO ${tableName} (name) VALUES ('Mr. T');
CREATE TRIGGER uniqueidx_trigger BEFORE INSERT ON usertable
REFERENCING NEW ROW AS newrow
FOR EACH ROW WHEN (newrow.name is not null)
BEGIN ATOMIC
IF EXISTS (SELECT * FROM usertable WHERE usertable.name = newrow.name) THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'duplicate name';
END IF;
END;
SELECT ... FOR UPDATE locking