
18 Aug
2022
18 Aug
'22
9:35 p.m.
[会议纪要] 20220816 tools sig会议
会议内容:
(1)众智项目--openGauss-Oracle在线迁移工具支持在线迁移常用数据类型开发合作项目 遗留问题讨论 主讲人:杜金莲
该项目相关的3个问题详细分析可参考附件word文档
遗留问题:
1. 对于 Object类型中不能有数组类型属性的限制,下次会议讨论,要尽量分析解决;
问题原因:
在oracle向openGauss数据库类型转化方案中确定object类型在openGauss中转换成json格式
当对象类型的数据中嵌套数组类型的数据时,其定义如下:
create type debezium.arraychar as varray(255) of varchar2(255);
/
create type debezium.arrayarray as varray(255) of arraychar;
/
create table testarrayarray(
id int primary key,
name varchar(255),
a arrayarray);
create type debezium.arrayobj as object (
id int,
a arrayarray);
/
create table testobjarray(
id int primary key,
name varchar(255),
o arrayobj);
insert into testobjarray values(5,'eee',
arrayobj(44,
arrayarray(arraychar('a'),arraychar('a','b'),arraychar('a','bb','ccc'))
)
);
xstream获得的日志信息是以xml的形式表达的,如下:
44
a
a
b
a
bb
ccc
如果数据库中某一行数据对于对象类型的列赋值时,数组只赋予了一个元素,则其在xml的表达形式下是无法确定该元素是数组还是其它类型,因此会造成数据解析上的错误,从而使得转换成json时产生错误。如下所示:
上述插入语句预期结果:
{"A":[["a"],["a","b"],["a","bb","ccc"]],"ID":44}
实际结果:
{"A":[{"VARCHAR2":"a"},["a","b"],["a","bb","ccc"]],"ID":44}
原因在于XML中ARRAYOBJECT/A/ARRAYCHAR下仅包含一个节点,无法判断该类型是数组。
2. LOB和自定义类型不能为主键的问题,下次会议继续讨论,需要再详细说明;
问题原因:对于lob类型,通过debezium捕获其值,发现若该值更新,则能捕获到新值,但旧值不能捕获到,显示为__debezium_unavailable_value
因此,当lob类型所在列不是主键时,更新或者不更新该列,不影响整个update语句的where条件;
但当lob类型所在列是主键时,对该列是否更新,旧值都不能拿到,因此会影响整个update语句的where条件拼接部分,
因此lob类型不能作为主键,自定义类型也是同样的表现,因此也不能作为主键。
3. 验证oracle的long类型是否支持更大的范围,比如2G,如果支持更大的范围,text类型存在数据丢失的问题,需重新设计类型转换关系。
已验证通过Navicate导入的功能插入1.9GB数据时显示成功执行,还需校验导出的数据是否和输入一致,同时还需验证xstream和debezium是否能够支持承载如此大的数据,并决定是否更换数据类型映射关系
(原有的映射是long->text,其中long支持的最大字节数为2GB-1,text支持的大小为1GB-1,可能存在精度丢失的问题)
(2)众智项目: openGauss-DataStudio 适配存储过程覆盖率工具开发合作项目--主讲人:郑齐俱
1)关于内核插件DBE_PLDEBUGGER的特性说明 评审
2)DS 功能演示
由于时间关系,该议题未进行讲解,顺延至下周二(2022.8.23 中午10:00会议)
Thanks & Best regards!
窦欣 (Dou Xin)
Mobile: 18710890246
E-mail: douxin5@huawei.com
Department: openGauss Program
-----原始约会-----
发件人: openGauss conference [mailto:public@opengauss.org]
发送时间: 2022年8月12日 15:44
收件人: tools@opengauss.org
主题: [Tools] 20220816 tools sig会议
时间: 2022年8月16日星期二 10:00-13:30(UTC+08:00) 北京,重庆,香港特别行政区,乌鲁木齐。
地点:
您好!
openGauss Tools SIG 邀请您参加 2022-08-16 10:00 召开的Zoom会议
会议主题:20220816 tools sig会议
会议内容:
(1)众智项目--openGauss-Oracle在线迁移工具支持在线迁移常用数据类型开发合作项目 遗留问题讨论 主讲人:杜金莲
遗留问题:
1. 对于 Object类型中不能有数组类型属性的限制,下次会议讨论,要尽量分析解决;
2. LOB和自定义类型不能为主键的问题,下次会议继续讨论,需要再详细说明;
3. 验证oracle的long类型是否支持更大的范围,比如2G,如果支持更大的范围,text类型存在数据丢失的问题,需重新设计类型转换关系。
(2)众智项目: openGauss-DataStudio 适配存储过程覆盖率工具开发合作项目--主讲人:郑齐俱
1)关于内核插件DBE_PLDEBUGGER的特性说明 评审
2)DS 功能演示
会议链接:https://us06web.zoom.us/j/83200985898?pwd=ZVpBai9jd3RPU05iT240VjVLekVFdz09
温馨提醒:建议接入会议后修改参会人的姓名,也可以使用您在gitee.com的ID
提前申报议题请编辑:https://etherpad.opengauss.org/p/Tools-meetings
更多资讯尽在:https://opengauss.org/zh/
Hello!
openGauss Tools SIG invites you to attend the Zoom conference will be held at 2022-08-16 10:00,
The subject of the conference is 20220816 tools sig会议,
Summary:
(1)众智项目--openGauss-Oracle在线迁移工具支持在线迁移常用数据类型开发合作项目 遗留问题讨论 主讲人:杜金莲
遗留问题:
1. 对于 Object类型中不能有数组类型属性的限制,下次会议讨论,要尽量分析解决;
2. LOB和自定义类型不能为主键的问题,下次会议继续讨论,需要再详细说明;
3. 验证oracle的long类型是否支持更大的范围,比如2G,如果支持更大的范围,text类型存在数据丢失的问题,需重新设计类型转换关系。
(2)众智项目: openGauss-DataStudio 适配存储过程覆盖率工具开发合作项目--主讲人:郑齐俱
1)关于内核插件DBE_PLDEBUGGER的特性说明 评审
2)DS 功能演示
You can join the meeting at https://us06web.zoom.us/j/83200985898?pwd=ZVpBai9jd3RPU05iT240VjVLekVFdz09.
Note: You are advised to change the participant name after joining the conference or use your ID at gitee.com.
Add topics: https://etherpad.opengauss.org/p/Tools-meetings
More information: https://opengauss.org/en/
939
Age (days ago)
939
Last active (days ago)
0 comments
1 participants
participants (1)
-
douxin (A)