--- old/DbTypeHelper.java	2014-02-23 21:35:06.000000000 -1000
+++ new/DbTypeHelper.java	2014-02-25 21:35:17.000000000 -1000
@@ -52,6 +52,9 @@
             case DATABASE_DERBY:
                 escaped = '"' + str + '"';
                 break;
+            case DATABASE_HSQLDB:
+                escaped = '"' + str + '"';
+                break;
             case DATABASE_ORACLE:
                 break;
             case DATABASE_POSTGRES:
@@ -80,6 +83,8 @@
                 break;
             case DATABASE_DERBY:
                 break;
+            case DATABASE_HSQLDB:
+                break;
             case DATABASE_ORACLE:
                 filtered = StringUtils.replace(str, "-", "_");
                 break;
@@ -109,6 +114,9 @@
                 break;
             case DATABASE_DERBY:
                 break;
+            case DATABASE_HSQLDB:
+                filtered = str.toUpperCase();
+                break;
             case DATABASE_ORACLE:
                 filtered = str.toUpperCase();
                 break;
@@ -133,6 +141,7 @@
         {
             case DATABASE_MYSQL:
             case DATABASE_DERBY:
+	    case DATABASE_HSQLDB:
             case DATABASE_ORACLE:
             case DATABASE_POSTGRES:
             case DATABASE_UNKNOWN:
@@ -156,6 +165,8 @@
                 return "TEXT";
             case DATABASE_DERBY:
                 return "LONG VARCHAR";
+	    case DATABASE_HSQLDB:
+		return "VARCHAR";
             case DATABASE_ORACLE:
                 return "CLOB";
             default:
@@ -174,6 +185,8 @@
         {
             case DATABASE_DERBY:
                 return "SMALLINT";
+	    case DATABASE_HSQLDB:
+		return "BOOLEAN";
             case DATABASE_ORACLE:
                 return "NUMBER(1)";
             case DATABASE_POSTGRES:
@@ -201,6 +214,9 @@
             case DATABASE_DERBY:
                 type = "BLOB";
                 break;
+	    case DATABASE_HSQLDB:
+		type = "BLOB";
+	        breadk;
             case DATABASE_ORACLE:
                 type = "BLOB";
                 break;
@@ -226,6 +242,7 @@
         {
             case DATABASE_MYSQL:
             case DATABASE_DERBY:
+            case DATABASE_HSQLDB:
             case DATABASE_ORACLE:
             case DATABASE_POSTGRES:
             case DATABASE_UNKNOWN:
@@ -247,6 +264,7 @@
                 return "number NOT NULL";
             case DATABASE_MYSQL:
             case DATABASE_DERBY:
+	    case DATABASE_HSQLDB:
             case DATABASE_UNKNOWN:
                 return "int NOT NULL";
             case DATABASE_POSTGRES:
@@ -270,6 +288,9 @@
             case DATABASE_DERBY:
                 identity = "GENERATED BY DEFAULT AS IDENTITY (START WITH 1, INCREMENT BY 1)";
                 break;
+	    case DATABASE_HSQLDB:
+		identity = "GENERATED BY DEFAULT AS IDENTITY (START WITH 1, INCREMENT BY 1)";
+		break;
             case DATABASE_ORACLE:
                 break;
             case DATABASE_POSTGRES:
@@ -299,6 +320,9 @@
             case DATABASE_DERBY:
                 identity = "NULL";
                 break;
+            case DATABASE_HSQLDB:
+                identity = "DEFAULT";
+                break;
             case DATABASE_ORACLE:
                 break;
             case DATABASE_POSTGRES:
@@ -327,6 +351,9 @@
                 break;
             case DATABASE_DERBY:
                 break;
+            case DATABASE_HSQLDB:
+		curData = "LOCALTIMESTAMP";
+                break;
             case DATABASE_ORACLE:
                 curDate = "CURDATE";
                 break;
@@ -351,6 +378,7 @@
         switch (dbType)
         {
             case DATABASE_DERBY:
+            case DATABASE_HSQLDB:
             case DATABASE_POSTGRES:
                 return false;
             case DATABASE_MYSQL:
@@ -377,6 +405,8 @@
                 break;
             case DATABASE_DERBY:
                 break;
+            case DATABASE_HSQLDB:
+		break;
             case DATABASE_POSTGRES:
                 stmt.setNull(index, Types.INTEGER);
                 break;
@@ -435,6 +465,11 @@
                 buff.append("RENAME COLUMN ").append(escapedTableName).append(".").append(escapedColumnName);
                 buff.append(" TO ").append(escapedNewName);
                 break;
+            case DATABASE_HSQLDB:
+                buff.append("ALTER TABLE ").append(escapedTableName);
+                buff.append(" ALTER COLUMN ").append(escapedColumnName);
+                buff.append(" RENAME TO ").append(escapedNewName);
+                break;
             case DATABASE_ORACLE:
             case DATABASE_POSTGRES:
             case DATABASE_UNKNOWN:
