【标题】(请简要描述下实现的内容)
issue修复:COMMENT ON对存储过程注释后,gs_dump导出内容导入失败问题修复
【实现内容】:
使被comment on添加过注释的存储过程,可以在gs_dump后重新成功导入
【根因分析】:
opengauss语法规则中没有COMMENT ON PROCEDURE,只有COMMENT ON FUNCTION。
gs_dump在导出时,若检测到当前对象是procedure,将输出COMMENT ON PROCEDURE。
【实现方案】:
由于COMMENT ON FUNCTION对存储过程同样生效,因此在对象为存储过程时,更改gs_dump输出结果未COMMENT ON FUNCTION
【关联需求或issue】:
#I5LQU2:创建行存压缩表,对表并发执行insert/update/delete/vacuum/analyze/vacuum full,出现报错
【开发自验报告】:
- 请附上自验结果(内容或者截图)
- 是否可以添加fastcheck测试用例,如是,请补充fastcheck用例
是,已添加 - 是否涉及资料修改,如是,在docs仓库补充资料
否,不涉及 - 是否考虑升级场景(系统表修改、日志持久化以及修改执行态数据格式)
否,不涉及 - 是否考虑在线扩容等扩展场景
否,不涉及 - 是否考虑异常场景/并发场景/前向兼容/性能场景
否,不涉及 - 是否对其他模块产生影响
否,不涉及
【其他说明】:
除COMMENT ON语句外,此修改将导致函数导出时涉及的SECURITY LABEL ON PROCEDURE...与ALTER EXTENSION...ADD PROCEDURE...语句变更为:
SECURITY LABEL ON FUNCTION...与ALTER EXTENSION...ADD FUNCTION...
实际上,原语句是会引发错误的,原因与COMMENT ON一样,openGauss不存在SECURITY LABEL ON PROCEDURE和ALTER EXTENSION ADD PROCEDURE语法(详见gram.y),这里的PROCEDURE在导入时将引发语法错误。因此,此改动将同时修正这两个问题。
暂无评论