为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:dm8:dm8_20240422_rev215128_x86_rh6_6(4)
【操作系统】:ubuntu22.04
【CPU】:Intel x6(4)
【问题描述】*:
使用如下docker命令启动dm8容器:
docker run -d -p 30236:5236 --restart=always --name dm8_test --env LANG=en_US.utf8 --privileged=true -e PAGE_SIZE=16 -e LD_LIBRARY_PATH=/opt/dmdbms/bin -e EXTENT_SIZE=32 -e BLANK_PAD_MODE=1 -e LOG_SIZE=1024 -e UNICODE_FLAG=1 -e LENGTH_IN_CHAR=1 -e INSTANCE_NAME=dm8_test -e CASE_SENSITIVE=0 -v /data/dm8_test:/opt/dmdbms/data dm8:dm8_20240422_rev215128_x86_rh6_6(4)
然后disql 连接后,创建包含json列的数据表报错:
sql:
create table t_json_string (c1 varchar2(100) CHECK (c1 IS JSON(LAX)));
error:
[-2207]:Error in line: 1
Member access [ISJSON] unresolved.
若创建不包含IS JSON 条件的table,插入json数据后,查询时仍然报错。
sql:
create table t_json_value (c1 varchar2(100));
insert into t_json_value(c1) values('{"b":2}');
SELECT json_value(c1, '$.c') FROM t_json_value;
error:
[-2207]:Error in line: 1
Member access [json_value] unresolved.
jsonb_array_elements 也不生效
JSON的运算符查询也报错:
SELECT '{"a":"bcd","e":[1,2,3]}'::JSON->'a'; //error: Unsupported SQL type.
测试发现一部分函数是生效的,一部分是不生效的。
有效函数:
json_overlaps, to_json, json_array
无效函数:
is json, json_value, json_query