HSQL postgres对话框无法识别

问题描述 投票:0回答:1

我想使用HSQL进行集成测试。因此,我想设置与我用于生产的完全相同的脚本的测试模式。这是postgresql方言。在测试脚本中,我试图设置方言,但它似乎不起作用。

至少对于uuid数据类型和约束,我得到语法错误异常。例如。我得到一个:

CREATE TABLE testtable(id bigint NOT NULL,some_uuid uuid NOT NULL,name character varying(32)NOT NULL,CONSTRAINT testtable PRIMARY KEY(id))WITH(OIDS = FALSE);嵌套异常是java.sql.SQLSyntaxErrorException:未找到类型或用户缺少权限:UUID

对于以下脚本:

SET DATABASE SQL SYNTAX PGS TRUE;

CREATE TABLE testtable
(
  id bigint NOT NULL,
  some_uuid uuid NOT NULL,
  name character varying(32) NOT NULL,
  CONSTRAINT testtable PRIMARY KEY (id)
)
WITH (
  OIDS=FALSE
);

我得到:

无法执行类路径资源[setupTestData.sql]的SQL脚本语句#2:CREATE TABLE testtable(id bigint NOT NULL,name character varying(32)NOT NULL,CONSTRAINT testtable PRIMARY KEY(id))WITH(OIDS = FALSE) ;嵌套异常是java.sql.SQLSyntaxErrorException:意外令牌:(

对于这个脚本:

SET DATABASE SQL SYNTAX PGS TRUE;

CREATE TABLE testtable
(
  id bigint NOT NULL,
  --some_uuid uuid NOT NULL,
  name character varying(32) NOT NULL,
  CONSTRAINT testtable PRIMARY KEY (id)
)
WITH (
  OIDS=FALSE
);
integration-testing hsqldb in-memory-database hypersql
1个回答
0
投票

HSQLDB 2.3.4及更高版本支持UUID。

HSQLDB目前不支持PostgreSQL扩展WITH (ODS= FALSE)

© www.soinside.com 2019 - 2024. All rights reserved.