已合并
B兼容性取消分类型批量执行策略,保持和mysql一致 #2347
B兼容性取消分类型批量执行策略,保持和mysql一致 #2347
已合并
wofanzheng创建于 1月8日
wofanzheng
wofanzheng成员
1月8日

【标题】(请简要描述下实现的内容)
修复alter table子命令执行策略与mysql一致
【实现内容】:
修复alter table子命令执行策略与mysql一致
【根因分析】:
在 dolphin B 兼容模式下,ALTER TABLE 语句的子命令应遵循用户书写顺序执行,尤其是包含 AFTER/FIRST 的列位置调整与依赖链时。现有实现将子命令按 AT_PASS_* 进行重排,导致依赖“前一条新增列”的子命令在执行时找不到列,引发报错。
【实现方案】:

  • Phase 1 (ATPrepCmd) 将子命令按 AT_PASS_* 分组。
  • Phase 2 (ATRewriteCatalogs) 按 pass 顺序执行,导致子命令重排。
  • 对 B 兼容语义而言,重排破坏了 ADD ... AFTER + CHANGE/MODIFY ... AFTER 的顺序依赖。
    在 B 兼容模式下记录“原始子命令顺序列表”,Phase 2 先按原序执行该列表,再进入常规 pass 流程处理后续生成的子命令(如 ALTER TYPE 引发的重建)。

【关联需求或issue】:
https://gitcode.com/opengauss/Plugin/issues/1584
【开发自验报告】:

  1. 请附上自验结果(内容或者截图)
    image.png
  2. 是否可以添加fastcheck测试用例,如是,请补充fastcheck用例
    是,在plugin仓添加
  3. 是否涉及资料修改,如是,在docs仓库补充资料
    不涉及
  4. 是否考虑升级场景(系统表修改、日志持久化以及修改执行态数据格式)
    不涉及
  5. 是否考虑在线扩容等扩展场景
    不涉及
  6. 是否考虑异常场景/并发场景/前向兼容/性能场景
    不涉及
  7. 是否对其他模块产生影响
    不涉及
  8. 是否需要回合补丁版本(5.0、6.0),涉及(结果错误|coredump|性能劣化|内存泄露|集群异常)相关修复请排查回合补丁分支
    不涉及

【其他说明】:无

likedislike
Pull Request已成功合入, 合并人@opengauss_bot
(感谢 wofanzheng 的贡献)
wofanzhengwofanzheng成员
1月8日 创建了 pull request,commit f2b5176c
opengauss_botopengauss_bot成员
1月8日 添加了label:sig/Plugin
opengauss_bot
opengauss_bot成员
1月8日 评论:

Welcome To openGauss Community

Hey @wofanzheng , thanks for your contribution to the community.

Bot Usage Manual

I'm the Bot here serving you. You can find the instructions on how to interact with me at Here . That means you can comment below every pull request or issue to trigger Bot Commands.

Contact Guide

If you have any questions, please contact the SIG: Plugin ,
and any of the maintainers: @Coderejector, @chenxiaobin19 ,
and any of the committers: @dodders, @dreamalloc, @huyinghao, @totaj, @wangfeihuo, @wmy_ld, @wuyuechuan, @xiong_xjun, @zhaojunv3z810 .

likedislike
opengauss_botopengauss_bot成员
1月8日 添加了label:ci-pipeline-running
opengauss_botopengauss_bot成员
1月8日 添加了label:codecheck-running
此处折叠了47条消息 查看更多
opengauss_botopengauss_bot成员
2月10日 添加了label:codecheck-running
opengauss_bot
opengauss_bot成员
2月10日 评论:

开源片段扫描

Check Name Build Details Check Result Check Detail
sca #32159 ✅ 通过 >>>
likedislike
opengauss_bot
opengauss_bot成员
2月10日 评论:

静态检查

Check Name Build Details Check Result Check Detail
CodeCheck #69268 ✅ 通过 >>>
likedislike
opengauss_botopengauss_bot成员
2月10日 添加了label:codecheck-success
opengauss_botopengauss_bot成员
2月10日 删除了label:codecheck-running