select-meta中的用例在语法解析判断为FALURE

select-meta中的一个用例在语法解析阶段就判断为FALURE,请问要怎么解决

  1. SELECT * AND A EXISTENT COLUMN
    select *, age from Select_meta;
    -ID | AGE | AGE
    +FAILURE

能描述得更具体一些么,比如你的observer版本,表的schema信息,包括一些错误日志和报错的截图都可以贴一下

这里应该是需要你处理select *,col 的语句,题目的要求应该是不支持该语法,你处理为FAILURE就行

代码就是从github的仓库test分支拉下来的,具体版本我也不太清楚
建表语句为create table t(id int, age int);
对于select *,age from t; 语句
parse.cpp中的 parse 方法直接返回为 SQL_SYNTAX,然后在ParseStage::handle_request方法将响应设置为FALURE,但是测试要求返回 ID|AGE|AGE,如下图所示

但是我处理为FAILURE是错误的,题目中的用例要求返回的是ID|AGE|AGE,如图


而这种语法在语法解析阶段又会被解析为语法错误,我就不太明白要怎么处理了,提测页面为MiniOB-2022

已解决,修改了yacc_sql.y,增加一条产生式即可

看错了,这里是需要支持这种解析,增加对select *,col 语法的支持即可

可以分享一下具体yacc_sql.y,增加一条产生式的细节吗?万分感谢!

select_attr中添加以下代码即可
| STAR attr_list {
RelAttr attr;
relation_attr_init(&attr, NULL, “*”);
selects_append_attribute(&CONTEXT->ssql->sstr.selection, &attr);
}