This issue requires an assignee. Since you haven't specified one, we've assigned TestManager as the default assignee for this issue.


Welcome To openGauss Community
Hey @wuchenlong , 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: StorageEngine ,
and any of the maintainers: @CarrotGo, @chendong76, @chenxiaobin19, @congzhou2603, @dodders, @hwworkholic, @jemappellehc, @muyulinzhong, @quemingjian, @shenzheng4, @shirley_zhengx, @superlchf, @totaj, @wlff234, @wofanzheng, @ywzq1161327784 ,
and any of the committers: @CityYard, @libiao2024, @lijieac, @theothersideofsea, @wang_bowen, @weithu, @xiong_xjun, @yuanyazhi, @zhangzq131 .


ogsql vs gsql 负向对照实测(L-GSQL-02 / Case0033)
- 日期:2026-07-27
- ogsql:oGRAC
20.20.20.104,ogsql / as sysdba(7.0.0-RC3 e69c39a) - gsql:openGauss LTS
wcl0623端口15600,gsql -r(7.0.0-RC3 48ebd016) - 文档基准:gsql
gsql.md「命令自动补齐」不支持清单;ogsqlogsql_instructions.md「自动补全」 - 原始数据:
test_design/ogsql-readline-design-chain-v2/pty_auto/results/gsql_neg_probe.json - 脚本:
pty_auto/run_gsql_neg_probe.py(人工复核剔除 banner/系统列噪声)
对照总表(复核后)
| # | 场景(输入 + Tab) | gsql 手册 | ogsql 实测 | gsql 实测 | 复核结论 |
|---|---|---|---|---|---|
| 1 | 行首 S |
写「元命令选项 S 不补」 | 出 SQL 关键字列表(select/set/…) | 同样出 SELECT/SET/… | DOC_AMBIG:手册指 \d[S+] 的选项,不是行首 SQL 关键字 S |
| 2 | 行首 + |
同上 | 无动作 | 无动作 | BOTH_OK |
| 3 | create table t(id␠ 类型位 |
不补字段类型 | 不补类型 | 不补类型 | BOTH_OK / ALIGN |
| 4 | insert into t(c1,␠ 第二列空前缀 |
不补第二列 | 刷出大量系统对象(非表列 c2/c3) | 无有效列候选 | ogsql NOISE;gsql ALIGN |
| 4b | insert … (c1, c |
不补第二列 | 候选为 clear/col/column/conn,无 c2/c3 | 无动作 | ALIGN(未补表列) |
| 5 | select * from t1,␠ 第二表空前缀 |
不补第二表 | 无动作 | 无动作 | BOTH_OK |
| 5b | select * from t1, rl_gsql_t |
不补第二表 | 能补 rl_gsql_t2 |
不补 | MATCH_DIFF(ogsql 更强) |
| 6 | create tablespace … wi |
不补 WITH/参数 | 候选含 with/window(关键字) |
不补 | gsql ALIGN;ogsql NOISE/弱 DIFF |
| 7 | create index … lo / gl |
不补 local/global | lo→系统列噪声;gl→误补 global_tran_id |
无动作 | gsql ALIGN;ogsql NOISE |
| 8 | alter index … reb |
不补 rebuild | 无动作 | 无动作 | BOTH_OK / ALIGN |
| 9 | drop table if / if␠ |
不补 if exists | 不出现 exists |
if␠ 后出现 CASCADE/RESTRICT,仍无 exists |
ALIGN |
| 10 | … owned by t. / where t. |
不补表.列 | where t. 无动作 |
干净屏下未见列候选 | BOTH_OK |
| 11 | create operato |
不补自定义操作符 | 无动作 | 补成关键字 create operator |
DOC_AMBIG |
| 12 | 纯数字 123 |
不补常量/宏 | 无动作 | 无动作 | BOTH_OK |
结论标记说明
| 标记 | 含义 |
|---|---|
| ALIGN | 与 gsql 手册「不补」意图一致 |
| DOC_AMBIG | 手册措辞易误解;行为本身合理 |
| MATCH_DIFF | ogsql 比 gsql 强(会补),需在 ogsql 文档写清 |
| NOISE | 未补到正确目标,但刷出无关候选/误补 |
| BOTH_OK | 两边都不补目标,符合负向预期 |
请开发确认
- 文档补充:MATCH_DIFF 项(如 5b 多表第二表有前缀)是否在
ogsql_instructions.md写明支持? - 文档补充:负向/边界(类型位、IF EXISTS、rebuild、INSERT 列、INDEX local/global 等)是否补充「不支持」说明?
- 与 gsql 差异:冲突以 ogsql 功能文档为准;gsql 负向清单仅作对照,不直接当 ogsql 缺陷。
- 噪声/误补:C1 INSERT 空前缀、C2 INDEX lo/gl 等与 #288/#289/#290 同源,本单聚焦文档边界。
完整报告:test_design/ogsql-readline-design-chain-v2/pty_auto/results/GSQL_NEG_COMPARE.md


补充:256 候选截断与排序(用户手工 #20)
实测创建 257 张 kw_cap_* 表后,select * from kw_c + Tab 仅展示 256 个候选,无稳定排序(缺失项随系统视图返回顺序变化,如 KW_CAP_002 可能不在列表中)。
自动化证据:pty_auto/results/cap256_EVIDENCE.md、run_cap256_probe.py。
请在 ogsql_instructions.md 明确:
- 客户端上限 256(
OGSQL_MAX_COMPLETION_MATCHES) - 不保证排序;截断后缺失哪些候选非缺陷
需求文档 §5.2 已有实现说明,产品手册需对齐。


已在文档中增加相关介绍



文档已验收


回归版本:oGRAC Release 7.0.0-RC3 18ce0a2 build 2026-08-26 09:48:01
回归环境:对照本地官方文档仓 oGRAC-docs(已 sync,章节提交 ebc6ad6 2026-08-24 docs: align ogsql readline and DATA_BUFFER_SIZE documentation)
结论:通过(ogsql_instructions.md「自动补全」已补充支持范围、负向边界、与其他客户端不可互推的说明)
依据:oGRAC-docs docs/zh/tool_and_commandreference/client_tool/ogsql_instructions.md 节「自动补全」。
对照本单当初 D1–D10:
| 项 | 当初诉求 | 当前文档 |
|---|---|---|
| D1 短前缀关键字 | 写明支持 | 已写:SQL 关键字位置;普通关键字至少 1 个前缀字符 |
| D2 多表 FROM 有前缀 | 写明支持 | 已写:FROM 中逗号分隔的后续表同样支持补全 |
| D3 多表第二表空前缀 | 写明行为 | 已写:明确对象位置支持尚未输入前缀时列出候选 |
| D4 INSERT 列清单 | 写明范围 | 已写为支持:仅补全 INSERT 目标表的列(功能侧已修) |
| D5 CREATE TABLE 类型位 | 写明负向或能力 | 已写为支持:TEXT / UNSIGNED / AUTO_INCREMENT(功能侧已修) |
| D6 INDEX local/global | 写明边界 | 已写:可作为通用关键字出现,但不校验 CREATE INDEX 位置是否合法 |
| D7 ALTER INDEX rebuild | 写明 | 已写为支持按前缀补 REBUILD(功能侧已修) |
| D8 IF EXISTS | 写明不支持 | 已写:当前不提供 IF EXISTS 短语级补全 |
| D9 纯数字 | 写明不支持 | 已写:不把纯数字扩展为常量候选 |
| D10 tablespace WITH | 关键字列表≠语法支持 | 已写:候选中出现关键字不表示该位置语法合法 |
另已覆盖本单预期的:与其他客户端(含 gsql)能力不可互推;多行按完整逻辑输入判断上下文;bracketed paste 中的 Tab 不当补全键。


测试类型
资料
工具功能
测试版本
7.0.0-LTS
操作系统和硬件信息
openEuler 20.03 aarch64
测试环境
oGRAC双节点
被测功能
ogsql 交互式行编辑 / 自动补全 — 产品文档能力边界补充
预置条件
oGRAC 双节点 ONLINE;TTY 交互
ogsql / as sysdba。对照文档:oGRAC-docsogsql_instructions.md「自动补全」章节(当前仅 5 条正向说明,无「支持边界 / 不支持」清单)。本单为资料补充请求,非功能缺陷结论。操作步骤
请在
ogsql_instructions.md「自动补全」中补充下列实测能力边界(2026-07-27,oGRAC 7.0.0-RC3 e69c39a)。每条均可在SQL>下按一次或两次 Tab 复核。对照:openGauss
gsql.md对上述多数场景有「不支持」明文;ogsql 手册目前缺失对等说明,测试与用户只能猜测。预期输出
请在 ogsql 产品文档「自动补全」补充:
实际输出
日志信息
提单组织
测试团队