我有一个使用HSQL 1.7.2的应用程序,它包含一些DOUBLE列的默认值为NaN的表定义。发布后,用1.7.2,
SET SCRIPTFORMAT TEXT
SHUTDOWN SCRIPT
以下内容出现在database.script文件中:
CREATE TABLE ... DOUBLE DEFAULT 'NaN' NOT NULL ...
我尝试升级到HSQL 2.3.2,但我首先要升级到1.8。我发现在升级到1.8之后,database.script文件有:
CREATE TABLE ... DOUBLE DEFAULT 0E0/0E0 NOT NULL ...
当我用HSQL 2.3.2打开这个数据库时,我得到" SQLException:脚本文件行中的错误..."在" /"第一次出现。回溯包括"由以下原因引起:org.hsqldb.HsqlException:意外令牌:/"。
我用double_nan=false
搞砸了很多,没有成功。
有人对我有任何建议吗?
答案 0 :(得分:1)
在版本2.x中删除了对NaN的支持作为默认值。这将在下次更新时恢复。
目前,将默认值更改为NULL并在表上添加TRIGGER以将NULL条目转换为NaN。
必须指定属性hsqldb.double_nan=false
或为数据库执行语句SET DATABASE SQL DOUBLE NAN FALSE
以接受NaN数据值。