Clojure JDBC HyperSQL (like SQLite but Java only so self contained)

(require '[clojure.java.jdbc :as j])

;; file
(j/execute! { :subprotocol "hsqldb" :subname "file:./db/testdb"} ["CREATE TABLE changes(id INT)"])

;; in memory
(j/execute! { :subprotocol "hsqldb" :subname "file:./db/testdb"} ["CREATE TABLE changes(id INT)"])