一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

创建自定义数据类型的方法及装置与流程

2022-04-09 06:13:59 来源:中国专利 TAG:

技术特征:
1.一种创建自定义数据类型的方法,包括:s100,创建自定义数据类型头,包括创建成员属性和创建成员函数头;s200,创建自定义类型函数体,包括:判断数据类型是否存在,若不存在,则报错;若存在,则判断函数体是否存在,若不存在,则创建函数体;若存在,则判断是否进行replace,若否,则报错,若是,更新函数体。2.根据权利要求1所述的创建自定义数据类型的方法,其特征在于,步骤s100中,创建成员属性具体包括:s111,根据自定义数据类型,在pg_type表、pg_class表和pg_attribute表中插入相应的数据;s112,获取pg_type表中自定义数据类型的oid,取得类型名、类型模式,在pg_namespace表中创建与类型名、类型模式相同的伪模式;s113,判断是否有成员函数头,没有则结束,有则创建成员函数头。3.根据权利要求2所述的创建自定义数据类型的方法,其特征在于,步骤s100中,创建成员函数头具体包括:s121,从pg_namespace中获取与类型名、类型模式相同的伪模式,为成员函数头定义promemberkind值;s122,进行函数创建流程,在pg_proc表中插入相应数据;s123,从创建完函数头返回的数据结构中取得函数的oid,把oid更新到pg_namespace表的nspobjecthead字段中。4.根据权利要求3所述的创建自定义数据类型的方法,其特征在于,步骤s200中,判断函数体是否存在包括:s211,根据自定义数据类型的类型名、类型模式从pg_namespace表中获取nspobjecthead字段值;s212,判断成员函数是否在创建的类型头里有声明,如果没有声明,提示错误,如果有声明,则更新或创建函数体。5.根据权利要求4所述的创建自定义数据类型的方法,其特征在于,函数体的创建方法包括:s221,填充pg_proc表中的prosrc字段值;s222,从返回的数据结构中取得函数的oid,并更新到pg_namespace表的nspobjectbody字段中。6.根据权利要求1所述的创建自定义数据类型的方法,其特征在于,所述方法还包括:在创建自定义数据类型时,判断自定义数据类型是否存在,若不存在,则执行步骤s100,若存在,则判断是否进行replace功能,若不进行,则报错,若进行,则对自定义数据类型进行更新。7.根据权利要求6所述的创建自定义数据类型的方法,其特征在于,对自定义数据类型进行更新包括:更新成员属性,包括对pg_type表、pg_class表和pg_attribute表中对应数据进行更新;更新成员函数头,包括:
判断自定义数据类型成员函数头是否和原有成员函数头相同,若是,则结束;若否,则移除原成员函数并创建新的成员函数头,更新pg_namespace表的nspobjecthead字段。8.一种创建自定义数据类型的装置,包括:第一创建模块,用于创建自定义数据类型头,包括创建成员属性和创建成员函数头;第二创建模块,用于创建自定义类型函数体,包括:判断数据类型是否存在,若不存在,则报错;若存在,则判断函数体是否存在,若不存在,则创建函数体;若存在,则判断是否replace功能,若否,则报错,若是,更新函数体。9.根据权利要求8所述的创建自定义数据类型的装置,其特征在于,所述装置还包括:判断模块,用于在创建自定义数据类型时,判断自定义数据类型是否存在,若不存在,则通过所述第一创建模块创建自定义数据类型头;更新模块,用于在判断自定义数据类型存在时,且判断进行replace功能时,对自定义数据类型进行更新。10.根据权利要求9所述的创建自定义数据类型的装置,其特征在于,所述更新模块包括:属性更新模块,用于更新成员属性,包括对pg_type表、pg_class表和pg_attribute表中对应数据进行更新;函数更新模块,用于更新成员函数头,包括:判断自定义数据类型成员函数头是否和原有成员函数头相同,若是,则结束;若否,则移除原成员函数并创建新的成员函数头,更新pg_namespace表的nspobjecthead字段。

技术总结
本发明提出了一种创建自定义数据类型的方法及装置,方法,包括:S100,创建自定义数据类型头,包括创建成员属性和创建成员函数头;S200,创建自定义类型函数体,包括:判断数据类型是否存在,若不存在,则报错;若存在,则判断函数体是否存在,若不存在,则创建函数体;若存在,则判断是否进行replace,若否,则报错,若是,更新函数体。本发明在原来功能的基础上,重新设计语法和功能,无论是使用postgresql创建自定义数据类型的语法还是使用oracle创建自定义数据类型的语法都可以兼容。极大的提高了数据库的兼容性,提升了产品竞争力。提升了产品竞争力。提升了产品竞争力。


技术研发人员:颜学彪 敖兵 罗陶
受保护的技术使用者:瀚高基础软件股份有限公司
技术研发日:2021.12.24
技术公布日:2022/4/8
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献