文库搜索
切换导航
首页
频道
联系我们
国家标准目录
国际ISO标准目录
行业标准目录
地方标准目录
首页
联系我们
国家标准目录
国际ISO标准目录
行业标准目录
地方标准目录
批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210437817.X (22)申请日 2022.04.25 (71)申请人 北京海量数据技 术股份有限公司 地址 100083 北京市海淀区学院路3 0号科 大天工大厦B座6层01室 申请人 广州海量数据库技 术有限公司 (72)发明人 余鹏 何小栋 (74)专利代理 机构 北京尚钺知识产权代理事务 所(普通合伙) 11723 专利代理师 王海荣 (51)Int.Cl. G06F 16/22(2019.01) G06F 16/242(2019.01) G06F 16/2455(2019.01) G06F 16/28(2019.01) (54)发明名称 OpenGaus s数据库中实现事 件触发器的方法 (57)摘要 本发明涉及关系型数据库管 理技术领域, 涉 及一种Open Gauss数据库中实现事件触发器的方 法。 本方法包括在数据库中增加一个元数据表用 来缓存事件触发器的元信息, 在每个线程中内置 一个哈希表用来存储事件触发器的函数ID和事 件触发器函数地址的映射, 对事件触发器进行管 理包括对命令进行语法解析、 验证命令权限、 根 据命令类型调用相应的管理函数对元数据表和 线程内置的哈希表进行操作, 在执行查询计划阶 段, 根据不同的事件和操作对象来调用相应的事 件触发器, 当与某个事件触发器相关的事件在该 事件触发器所在的数据库中发生时, 触发并执行 该事件触发器。 本发明解决了OpenGauss数据库 中无法实现事 件触发器的问题。 权利要求书2页 说明书6页 附图1页 CN 114741395 A 2022.07.12 CN 114741395 A 1.一种OpenGauss数据库中实现事件触发器的方法, 其特征在于, 所述方法包括下述步 骤: S1: 在OpenGaus s数据库中增 加一个元 数据表; S2: 在每个线程中 内置一个哈希 表; S3: 对事件触发器进行 管理; S4: 对事件触发器进行触发。 2.根据权利要求1所述的方法, 其特 征在于, S1中所述元数据表用来缓存事件触发器的元信息, 通过该元数据表可实现事件触发器 元信息的快速查询; S2中所述哈希表用来存储事件触发器的函数ID和事件触发器函数地址的映射, 通过该 哈希表可在线程内根据函数ID快速获得对应的事 件触发器的函数地址 。 3.根据权利要求1所述的方法, 其特 征在于, S3中所述对 事件触发器进行 管理, 包括: (1)对命令进行语法解析或语义分析; (2)验证命令的权限, 若命令无权限则报错退 出; (3)对于有权限的命令, 根据该命令的类型调用相应的管理函数对元数据表和线程内 置的哈希 表进行操作。 4.根据权利要求3所述的方法, 其特征在于, (1)中所述命令包括指定事件触发器的函 数主体的命令、 指定事件触发器的操作类型 的命令、 以及指定事件触发器的事件触发时机 的命令。 5.根据权利要求4所述的方法, 其特征在于, 所述事件触发器的操作类型包括事件触发 器的创建、 删除、 修改、 插 入, 其中: 事件触发器的创建是指创建一个新的事 件触发器; 事件触发器的删除是指查找到相应的记录并删除该记录, 同时对线程内置哈希表中对 应的条目进行删除; 事件触发器的修改是指查找到相应的记录并对其进行修改, 同时对线程内置哈希表中 对应的条目进行修改; 事件触发器的插 入是指查找到相应的记录并将其 直接插入元数据表和哈希 表。 6.根据权利要求1所述的方法, 其特征在于, S4中所述对事件触发器进行触发是指在执 行查询计划阶段, 根据不同的事件和操作对 象来调用相应的事件触发器, 当与某个事件触 发器相关的事件在该事件触发器所在的数据库中发生时, 则该事件触发器就会被触发并执 行, 其中: 所述与事件触发器相关的事件包括ddl_command_start事件、 ddl_command_end事件、 sql_drop事 件、 以及table_rewrite事 件。 7.根据权利要求6所述的方法, 其特征在于, 所述ddl_command_start事件在CREATE、 ALTER、 DROP、 SECURITY LABEL、 COMMENT、 GRANT或REVOKE命令执行之前发生, 与ddl_ command_start事件相关的事件触发器通过EventTriggerDDLCommandStart函数实现, EventTriggerDDLCommandStart函数在事件执行的开始处, 针对顶层交互命令或完整查询 来调用, 通过EventTrig gerDDLCommandStar t函数实现事 件触发器的过程如下: (1)调用EventTriggerCommonSetup函数查找元数据表中ddl_command_start事件对应权 利 要 求 书 1/2 页 2 CN 114741395 A 2的事件触发器需要执 行的函数列表, 查找到对应的函数列表则进入下一 步, 否则直接退 出; (2)通过调用相应的函数依次执行上述函数列表中的函数, 全部执行完毕后进入下一 步; (3)释放资源并退 出。 8.根据权利要求6所述的方法, 其特征在于, 所述ddl_command_end事件在同一组命令 执 行 之 后 发 生 ,与 d d l _ c o m m a n d _ e n d 事 件 相 关 的 事 件 触 发 器 通 过 EventTriggerDDLCo mmandEnd函数 实现, EventTriggerDDLCommandEnd函数在事件执行完毕 后, 针对顶层交互命令或完整查询来调用, 通过EventTriggerDDLCommandEnd函数实现事件 触发器的过程如下: (1)调用EventTriggerCommonSetup函数查找元数据表中ddl_command_end事件对应的 事件触发器需要执 行的函数列表, 查找到对应的函数列表则进入下一 步, 否则直接退 出; (2)通过调用相应的函数依次执行上述函数列表中的函数, 全部执行完毕后进入下一 步; (3)释放资源并退 出。 9.根据权利 要求6所述的方法, 其特征在于, 所述sql_drop事件在删除数据库对象后并 在与ddl_command_en d事件相关的事件触发器触发之前发生, 与sql_drop事件相关的事件 触发器通过Ev entTriggerSQLDrop函数实现, 在执行删除时, 当删除对象是事件触发器支持 的类型, 则将删除对象地址存储在事件触发器的执行对象列表中, EventTriggerSQLDrop函 数在事件 执行完毕后, 针对顶层交互命令或完整查询来调用, 通过EventTriggerSQLDrop函 数实现事 件触发器的过程如下: (1)判断执 行对象列表是否为空, 若执 行对象列表为空则直接返回, 否则进入下一 步; (2)调用EventTriggerCommonSetup函数查找元数据表中sql_drop事件对应的事件触 发器需要执 行的函数列表, 查找到对应的函数列表则进入下一 步, 否则直接退 出; (3)通过调用EventTriggerInvoke函数依次执行上述函数列表中的函数, 全部执行完 毕后进入下一 步; (4)释放资源并退 出。 10.根据权利要求6所述的方法, 其特征在于, 所述table_rewrite事件在表被命令 ALTER TABLE和ALTER TYPE的动作之前发生, 与table_rewrite事件相关的事件触发器通过 EventTriggerTableRewrite函数实现, EventTriggerTableRewrite函数在 ATRewriteTables函数中调用, 通过EventTriggerTableRewrite函数实现事件触发器的过 程如下: (1)调用EventTriggerCommonSetup 函数查找元数据表中table_rewrite事件对应的事 件触发器需要执 行的函数列表, 查找到对应的函数列表则进入下一 步, 否则直接退 出; (2)在当前 上下文中记录事 件触发器的表o id和reaso n, 然后进入下一 步; (3)通过调用EventTriggerInvoke函数依次执行上述函数列表中的函数, 全部执行完 毕后进入下一 步; (4)释放资源并退 出。权 利 要 求 书 2/2 页 3 CN 114741395 A 3
专利 OpenGauss数据库中实现事件触发器的方法
文档预览
中文文档
10 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
赞助2元下载(无需注册)
温馨提示:本文档共10页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
下载文档到电脑,方便使用
赞助2元下载
本文档由 人生无常 于
2024-03-18 00:08:48
上传分享
举报
下载
原文档
(434.3 KB)
分享
友情链接
T-GHDQ 1—2017 高寒地区纯电动乘用车技术条件.pdf
GB-T 30271-2013 信息安全技术 信息安全服务能力评估准则.pdf
GB-T 41479-2022 信息安全技术 网络数据处理安全要求.pdf
GB-T 16880-1997 光掩模缺陷分类和尺寸定义的准则.pdf
GB-T 33009.3-2016工业自动化和控制系统网络安全集散控制系统(DCS)第3部分评估指南.pdf
GB-T 19113-2022 桑蚕鲜茧分级 茧层量法.pdf
等保三级-安全管理-安全管理制度.doc
赛迪顾问 2019中国安全运营中心调研分析报告 2020.pdf
T-CEC 596—2022 量子IPSec VPN设备功能与检测技术规范.pdf
GB 50174-2017数据中心设计规范.pdf
奇安信 中国政企机构数据安全风险分析报告.pdf
DB32-T 4155.7-2021 全民健康信息平台共享数据集规范 第7部分:医疗门诊 江苏省.pdf
DB21-T 3728.2—2023 信息技术 初级职业技能人员能力评价要求 第2部分:软件开发 辽宁省.pdf
GB-T 42445-2023 工业自动化和控制系统安全 IACS环境下的补丁管理 IEC TR 62443-2-3-2015.pdf
T-CSTM 00839—2022 材料基因工程 术语.pdf
DB42-T 1726-2021 自然资源“一张图”数据应用服务规范 湖北省.pdf
GB-T 37596-2019 航空航天用镁合金锻件.pdf
BSIMM 软件安全构建成熟度模型 .pdf
T-ISEAA 001-2020 网络安全等级保护测评高风险判定指引.pdf
GB-T 18801-2022 空气净化器.pdf
1
/
3
10
评价文档
赞助2元 点击下载(434.3 KB)
回到顶部
×
微信扫码支付
2
元 自动下载
点击进入官方售后微信群
支付 完成后 如未跳转 点击这里下载
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们
微信(点击查看客服)
,我们将及时删除相关资源。