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 .


已修复,功能正常

-- 清理旧对象(如存在)
DROP TABLE IF EXISTS rl_emp CASCADE;
DROP TABLE IF EXISTS rl_dept CASCADE;
-- 创建员工表 rl_emp
CREATE TABLE rl_emp (
emp_id INT PRIMARY KEY,
emp_name VARCHAR(50),
emp_dept_id INT,
emp_salary DECIMAL(10,2),
emp_hire_date DATE
);
-- 创建部门表 rl_dept
CREATE TABLE rl_dept (
dept_id INT PRIMARY KEY,
dept_name VARCHAR(50),
dept_loc VARCHAR(100)
);
-- 插入少量数据(可选)
INSERT INTO rl_emp VALUES (1, 'Alice', 10, 5000, '2020-01-15');
INSERT INTO rl_emp VALUES (2, 'Bob', 20, 6000, '2019-03-20');
INSERT INTO rl_dept VALUES (10, 'HR', 'Building A');
INSERT INTO rl_dept VALUES (20, 'IT', 'Building B');
COMMIT;
-- 场景A,FROM已指定rl_dept,却用另一张表的列前缀。输入以下语句后,在 emp_ 处按一次 Tab
select * from rl_dept where emp_

-- 场景 B:尚无 FROM 子句,直接列前缀。输入以下语句后,在 emp_ 处按一次 Tab
select emp_

-- 场景 C:WHERE 后空前缀(无输入)。输入以下语句后,在 where 后的空格处按一次 Tab
select * from rl_emp where



回归版本:oGRAC Release 7.0.0-RC3 18ce0a2 build 2026-08-26 09:48:01
回归环境:oGRAC 双节点(20.20.20.104 / 20.20.20.106),db=ONLINE,节点 20.20.20.104 执行
结论:通过(列补全按 FROM 表限定;WHERE 空前缀不再刷出 FROZEN_STATUS)
回归步骤(ogsql / as sysdba,Linux TTY)
SQL> select * from rl_dept where emp_<Tab> -- 不应出现 EMP_SALARY
SQL> select * from rl_dept where dept_<Tab> -- 应出现 dept_name
SQL> select * from test1 join rl_emp on test1.<Tab>
SQL> select * from rl_emp where <Tab> -- 不应出现 FROZEN_STATUS
实际输出
他表列 EMP_SALARY 不再出现在 rl_dept 语境;本表列可补;WHERE 空前缀补到 EMP_*,未见系统列 FROZEN_STATUS。


测试类型
工具功能
测试版本
7.0.0-LTS
操作系统和硬件信息
openEuler 20.03 aarch64
测试环境
oGRAC双节点
被测功能
ogsql Readline Tab 列名补全(按 SQL 上下文)
预置条件
oGRAC 双节点 ONLINE;TTY 交互
ogsql / as sysdba;已创建业务表rl_emp(emp_id,emp_name,…)、rl_dept(dept_id,dept_name,dept_loc)。官方说明:连接后根据 FROM/JOIN/SELECT 等上下文补全列名;需求设计 COLUMN 语境查询当前用户表列。操作步骤
预期输出
与 #288(
select * fro→frozen_status)同源:列候选池过宽且未按语句表过滤。实际输出
日志信息
提单组织
测试团队