Skip to content

Commit

Permalink
Bump HSQLDB from 2.3.1 to 2.6.1, and change HSQLDB file format from 1…
Browse files Browse the repository at this point in the history
….8 to 2.0

Support for HSQLDB 1.8 file format was dropped in HSQLDB 2.5.1;
before this change, you could use HSQLDB versions up to 2.5.0;
after this change, you can use HSQLDB versions 2.0.0 and higher,
including the latest, 2.6.1.

For more information see HSQLDB release notes,
http://hsqldb.org/doc/2.0/changelist_2_0.txt.

Test hsqldb versions from 2.0.0 to 2.6.1 and Java 8, 11, 17
(HSQLDB 2.6 and higher requires Java 11 or higher)
  • Loading branch information
julianhyde committed Mar 9, 2022
1 parent b2703f6 commit 1e0e4d0
Show file tree
Hide file tree
Showing 5 changed files with 90 additions and 56 deletions.
16 changes: 12 additions & 4 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,16 @@ jobs:

strategy:
matrix:
java-version: [ "8" ]
java-version: [ "8", "11", "17" ]
hsqldb-version: [ "2.0.0", "2.3.1", "2.6.1" ]
javadoc: [ false ]
exclude:
# hsqldb >= 2.6 requires JRE >= 11
- java-version: "8"
hsqldb-version: "2.6.1"
include:
- java-version: "11"
javadoc: false
- java-version: "17"
hsqldb-version: "2.6.1"
javadoc: true

steps:
Expand All @@ -49,6 +53,10 @@ jobs:
then
GOALS="$GOALS javadoc:javadoc javadoc:test-javadoc"
fi
./mvnw --batch-mode --update-snapshots $GOALS
if [ "${{ matrix.hsqldb-version }}" ]
then
DEFS="$DEFS -Dhsqldb.version=${{ matrix.hsqldb-version }}"
fi
./mvnw $DEFS --batch-mode --update-snapshots $GOALS
# End main.yml
11 changes: 8 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ Add the following to your Maven pom.xml:
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>2.3.1</version>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>net.hydromatic</groupId>
Expand All @@ -47,6 +47,11 @@ Add the following to your Maven pom.xml:
</dependencies>
```

(scott-data-hsqldb supports HSQLDB 2.0.0 and higher,
and Java 8 and higher;
note that HSQLDB 2.6.0 and higher requires
<a href="http://hsqldb.org/doc/2.0/changelist_2_0.txt">Java 11 and higher</a>.)

Connect to the database via the URL, user name and password in the
`ScottHsqldb` class:

Expand All @@ -69,7 +74,7 @@ Connect from the command line using the [SQLLine](https://github.com/julianhyde/

```
$ ./sqlline
sqlline version 1.2.0
sqlline version 1.12.0
sqlline> !connect jdbc:hsqldb:res:scott SCOTT TIGER
0: jdbc:hsqldb:res:scott> select * from dept;
+--------+----------------+---------------+
Expand Down Expand Up @@ -103,7 +108,7 @@ Get scott-data-hsqldb from

### Download and build

Java version 8 or higher.
Use Java version 11 or higher.

```bash
$ git clone git://github.com/julianhyde/scott-data-hsqldb.git
Expand Down
8 changes: 6 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,10 @@ limitations under the License.
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<top.dir>${project.basedir}</top.dir>

<!-- Versions in alphabetical order. -->
<hsqldb.version>2.6.1</hsqldb.version>
<junit.version>4.13.2</junit.version>
</properties>

<!-- Environment settings. -->
Expand Down Expand Up @@ -103,13 +107,13 @@ limitations under the License.
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>2.3.1</version>
<version>${hsqldb.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
Expand Down
21 changes: 4 additions & 17 deletions src/main/resources/scott.properties
Original file line number Diff line number Diff line change
@@ -1,17 +1,4 @@
#HSQL Database Engine 1.8.0.10
#Tue Nov 05 16:53:53 PST 2013
hsqldb.script_format=0
runtime.gc_interval=0
sql.enforce_strict_size=false
hsqldb.cache_size_scale=8
readonly=false
hsqldb.nio_data_file=true
hsqldb.cache_scale=14
version=1.8.0
hsqldb.default_table_type=memory
hsqldb.cache_file_scale=1
hsqldb.log_size=200
modified=yes
hsqldb.cache_version=1.7.0
hsqldb.original_version=1.8.0
hsqldb.compatible_version=1.8.0
#HSQL Database Engine 2.0.0
#Tue Mar 08 17:49:42 PST 2022
modified=no
version=2.0.0
90 changes: 60 additions & 30 deletions src/main/resources/scott.script
Original file line number Diff line number Diff line change
@@ -1,36 +1,66 @@
CREATE SCHEMA "SCOTT" AUTHORIZATION DBA
CREATE TABLE "DEPT"("DEPTNO" TINYINT NOT NULL,"DNAME" VARCHAR(14),"LOC" VARCHAR(13))
CREATE UNIQUE INDEX "I_DEPT_PK" ON "DEPT"("DEPTNO")
CREATE TABLE "EMP"("EMPNO" SMALLINT NOT NULL,"ENAME" VARCHAR(10),"JOB" VARCHAR(9),"MGR" SMALLINT,"HIREDATE" DATE,"SAL" DECIMAL(7,2),"COMM" DECIMAL(7,2),"DEPTNO" TINYINT)
CREATE UNIQUE INDEX "I_EMP_PK" ON "EMP"("EMPNO")
CREATE MEMORY TABLE "BONUS"("ENAME" VARCHAR(10),"JOB" VARCHAR(9),"SAL" DECIMAL(7,2),"COMM" DECIMAL(7,2))
CREATE MEMORY TABLE "SALGRADE"("GRADE" INTEGER,"LOSAL" DECIMAL(7,2),"HISAL" DECIMAL(7,2))
CREATE USER SA PASSWORD ""
SET DATABASE UNIQUE NAME HSQLDB7F6C58BC45
SET DATABASE GC 0
SET DATABASE DEFAULT RESULT MEMORY ROWS 0
SET DATABASE EVENT LOG LEVEL 0
SET DATABASE SQL REFERENCES FALSE
SET DATABASE SQL SIZE TRUE
SET DATABASE SQL NAMES FALSE
SET DATABASE TRANSACTION CONTROL LOCKS
SET DATABASE DEFAULT ISOLATION LEVEL READ COMMITTED
SET FILES WRITE DELAY 500 MILLIS
SET FILES BACKUP INCREMENT TRUE
SET FILES CACHE SIZE 10000
SET FILES CACHE ROWS 50000
SET FILES SCALE 8
SET FILES LOB SCALE 32
SET FILES DEFRAG 20
SET FILES NIO TRUE
SET FILES LOG TRUE
SET FILES LOG SIZE 50
SET DATABASE TEXT TABLE DEFAULTS ''
CREATE USER SA PASSWORD ''
CREATE USER SCOTT PASSWORD 'TIGER'
CREATE SCHEMA PUBLIC AUTHORIZATION DBA
CREATE SCHEMA SCOTT AUTHORIZATION SA
SET SCHEMA SCOTT
CREATE MEMORY TABLE SCOTT."DEPT"("DEPTNO" TINYINT NOT NULL,"DNAME" VARCHAR(14),"LOC" VARCHAR(13))
CREATE UNIQUE INDEX "I_DEPT_PK" ON SCOTT."DEPT"("DEPTNO")
CREATE MEMORY TABLE SCOTT."EMP"("EMPNO" SMALLINT NOT NULL,"ENAME" VARCHAR(10),"JOB" VARCHAR(9),"MGR" SMALLINT,"HIREDATE" DATE,"SAL" DECIMAL(7,2),"COMM" DECIMAL(7,2),"DEPTNO" TINYINT)
CREATE UNIQUE INDEX "I_EMP_PK" ON SCOTT."EMP"("EMPNO")
CREATE MEMORY TABLE SCOTT."BONUS"("ENAME" VARCHAR(10),"JOB" VARCHAR(9),"SAL" DECIMAL(7,2),"COMM" DECIMAL(7,2))
CREATE MEMORY TABLE SCOTT."SALGRADE"("GRADE" INTEGER,"LOSAL" DECIMAL(7,2),"HISAL" DECIMAL(7,2))
ALTER SEQUENCE SYSTEM_LOBS.LOB_ID RESTART WITH 1
SET DATABASE DEFAULT INITIAL SCHEMA SCOTT
GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.YES_OR_NO TO PUBLIC
GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.TIME_STAMP TO PUBLIC
GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.CARDINAL_NUMBER TO PUBLIC
GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.CHARACTER_DATA TO PUBLIC
GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.SQL_IDENTIFIER TO PUBLIC
GRANT DBA TO SA
CREATE USER SCOTT PASSWORD "TIGER"
GRANT DBA TO SCOTT
SET WRITE_DELAY 10
SET SCHEMA "SCOTT"
SET SCHEMA SYSTEM_LOBS
INSERT INTO BLOCKS VALUES(0,2147483647,0)
SET SCHEMA SCOTT
INSERT INTO "DEPT" VALUES(10,'ACCOUNTING','NEW YORK')
INSERT INTO "DEPT" VALUES(20,'RESEARCH','DALLAS')
INSERT INTO "DEPT" VALUES(30,'SALES','CHICAGO')
INSERT INTO "DEPT" VALUES(40,'OPERATIONS','BOSTON')
INSERT INTO "EMP" VALUES(7369,'SMITH','CLERK',7902,'1980-12-17',800,NULL,20)
INSERT INTO "EMP" VALUES(7499,'ALLEN','SALESMAN',7698,'1981-02-20',1600,300,30)
INSERT INTO "EMP" VALUES(7521,'WARD','SALESMAN',7698,'1981-02-22',1250,500,30)
INSERT INTO "EMP" VALUES(7566,'JONES','MANAGER',7839,'1981-02-04',2975,NULL,20)
INSERT INTO "EMP" VALUES(7654,'MARTIN','SALESMAN',7698,'1981-09-28',1250,1400,30)
INSERT INTO "EMP" VALUES(7698,'BLAKE','MANAGER',7839,'1981-01-05',2850,NULL,30)
INSERT INTO "EMP" VALUES(7782,'CLARK','MANAGER',7839,'1981-06-09',2450,NULL,10)
INSERT INTO "EMP" VALUES(7788,'SCOTT','ANALYST',7566,'1987-04-19',3000,NULL,20)
INSERT INTO "EMP" VALUES(7839,'KING','PRESIDENT',NULL,'1981-11-17',5000,NULL,10)
INSERT INTO "EMP" VALUES(7844,'TURNER','SALESMAN',7698,'1981-09-08',1500,0,30)
INSERT INTO "EMP" VALUES(7876,'ADAMS','CLERK',7788,'1987-05-23',1100,NULL,20)
INSERT INTO "EMP" VALUES(7900,'JAMES','CLERK',7698,'1981-12-03',950,NULL,30)
INSERT INTO "EMP" VALUES(7902,'FORD','ANALYST',7566,'1981-12-03',3000,NULL,20)
INSERT INTO "EMP" VALUES(7934,'MILLER','CLERK',7782,'1982-01-23',1300,NULL,10)
INSERT INTO "SALGRADE" VALUES(1,700,1200)
INSERT INTO "SALGRADE" VALUES(2,1201,1400)
INSERT INTO "SALGRADE" VALUES(3,1401,2000)
INSERT INTO "SALGRADE" VALUES(4,2001,3000)
INSERT INTO "SALGRADE" VALUES(5,3001,9999)
INSERT INTO "EMP" VALUES(7369,'SMITH','CLERK',7902,'1980-12-17',800.00,NULL,20)
INSERT INTO "EMP" VALUES(7499,'ALLEN','SALESMAN',7698,'1981-02-20',1600.00,300.00,30)
INSERT INTO "EMP" VALUES(7521,'WARD','SALESMAN',7698,'1981-02-22',1250.00,500.00,30)
INSERT INTO "EMP" VALUES(7566,'JONES','MANAGER',7839,'1981-02-04',2975.00,NULL,20)
INSERT INTO "EMP" VALUES(7654,'MARTIN','SALESMAN',7698,'1981-09-28',1250.00,1400.00,30)
INSERT INTO "EMP" VALUES(7698,'BLAKE','MANAGER',7839,'1981-01-05',2850.00,NULL,30)
INSERT INTO "EMP" VALUES(7782,'CLARK','MANAGER',7839,'1981-06-09',2450.00,NULL,10)
INSERT INTO "EMP" VALUES(7788,'SCOTT','ANALYST',7566,'1987-04-19',3000.00,NULL,20)
INSERT INTO "EMP" VALUES(7839,'KING','PRESIDENT',NULL,'1981-11-17',5000.00,NULL,10)
INSERT INTO "EMP" VALUES(7844,'TURNER','SALESMAN',7698,'1981-09-08',1500.00,0.00,30)
INSERT INTO "EMP" VALUES(7876,'ADAMS','CLERK',7788,'1987-05-23',1100.00,NULL,20)
INSERT INTO "EMP" VALUES(7900,'JAMES','CLERK',7698,'1981-12-03',950.00,NULL,30)
INSERT INTO "EMP" VALUES(7902,'FORD','ANALYST',7566,'1981-12-03',3000.00,NULL,20)
INSERT INTO "EMP" VALUES(7934,'MILLER','CLERK',7782,'1982-01-23',1300.00,NULL,10)
INSERT INTO "SALGRADE" VALUES(1,700.00,1200.00)
INSERT INTO "SALGRADE" VALUES(2,1201.00,1400.00)
INSERT INTO "SALGRADE" VALUES(3,1401.00,2000.00)
INSERT INTO "SALGRADE" VALUES(4,2001.00,3000.00)
INSERT INTO "SALGRADE" VALUES(5,3001.00,9999.00)

0 comments on commit 1e0e4d0

Please sign in to comment.