【问题标题】:HSQL postgres dialog not recognizedHSQL postgres 对话框无法识别
【发布时间】:2017-12-27 13:02:13
【问题描述】:

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

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

CREATE TABLE testtable ( id bigint NOT NULL, some_uuid uuid NOT NULL, 名称字符不同(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
);

我得到:

类路径资源的 SQL 脚本语句 #2 执行失败 [setupTestData.sql]: CREATE TABLE testtable ( id bigint NOT NULL, name 字符变化(32)NOT NULL,CONSTRAINT testtable PRIMARY KEY(id) ) 与 (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】:

    HSQLDB 2.3.4 及更高版本支持 UUID。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-21
      • 2016-05-27
      • 1970-01-01
      相关资源
      最近更新 更多