1 .一种DDL事务的执行方法,其特征在于,包括:
获取并响应针对数据库的数据定义语言DDL事务;
查找所述数据库中与所述DDL事务关联的源数据结构;
修改所述源数据结构的表结构和行结构,得到目标数据结构,其中,所述表结构用于存
储元数据,所述行结构用于索引所述元数据;
在所述数据库中对所述目标数据结构执行所述DDL事务。
2 .根据权利要求1所述的方法,其特征在于,查找所述数据库中与所述DDL事务关联的
源数据结构包括:
解析所述DDL事务,得到所述DDL事务的事务类型和执行对象;
根据所述事务类型和所述执行对象在所述数据库中进行匹配,得到与所述DDL事务关
联的源数据结构。
3 .根据权利要求1所述的方法,其特征在于,修改所述源数据结构的表结构和行结构,
得到目标数据结构,包括:
解析所述源数据结构中的表结构和行结构,其中,所述表结构和所述行结构包括若干
内部列;
在所述表结构的内部列和所述行结构的内部列中分别增加版本列,得到中间数据结
构,其中,所述版本列用于存储所述DDL事务执行的所述表结构内的元数据的版本号;
在所述中间数据结构中增设逻辑映射表,得到目标数据结构,其中,所述逻辑映射表用
于记录所述元数据的字段顺序和磁盘存储的物理字段顺序的映射关系。
4 .根据权利要求1所述的方法,其特征在于,在所述数据库中对所述目标数据结构执行
所述DDL事务包括:
解析所述DDL事务,得到所述DDL事务的事务类型和执行对象;
依据所述事务类型和所述执行对象对所述目标数据结构执行所述DDL事务;
在所述DDL事务执行完后,生成所述DDL事务执行的执行记录表,其中,所述执行记录表
包括所述DDL事务执行的表结构内的元数据的版本号;
将所述版本号插入表结构和行结构对应的版本列中。
5 .根据权利要求4所述的方法,其特征在于,依据所述事务类型和所述执行对象对所述
目标数据结构执行所述DDL事务包括:
在所述数据库中基于所述执行对象匹配所述DDL事务的待执行对象;
若所述事务类型为新增列、删除列或交换列顺序,在逻辑映射表中查找与所述待执行
对象匹配的目标字段,根据所述事务类型对所述目标字段进行新增、删除或交换顺序;若所
述事务类型为修改列的类型,解析所述待执行对象的类型,根据所述目标数据结构将所述
待执行对象的类型转化为目标列类型;若所述事务类型为修改列的目标默认值、目标字符
或目标名称,获取所述DDL事务携带的目标默认值、目标字符或目标名称,将所述目标默认
值、目标字符集或目标名称替换所述待执行对象的历史默认值、历史字符或历史名称。
6 .根据权利要求1所述的方法,其特征在于,在对所述目标数据结构执行所述DDL事务
之后,所述方法还包括:
遍历所述目标数据结构的行结构,基于所述行结构的版本号计算所述行结构的版本
数;
权 利 要 求 书
1/2 页
2
文档被以下合辑收录
相关文档
评论