【标题】: 修复IAEZOR所示的大数据量下执行游标表达报错的问题

【实现内容】: 修复IAEZOR所示的大数据量下执行游标表达报错的问题。
【根因分析】: 对于sql select a, cursor (xx) from table1, table1的每一行都要创建一个protal,prota需要推带session的hash表中存放,大数据量的时候直接撑破内存。
【实现方案】: 对于select a, cursor (xx) from table1此种场景,其实游标是没有意义的,因此没必要创建protal,可以直接返回。
【关联需求或issue】: https://e.gitee.com/opengaussorg/dashboard?issue=IAEZOR
This commit is contained in:
wangfeihuo
2024-07-25 22:28:27 +08:00
parent dbd6d13ce3
commit ffd64175d3
11 changed files with 173 additions and 128 deletions

View File

@ -291,6 +291,7 @@ struct ParseState {
bool has_uservar;
bool is_outer_parse_state; /*is parse state is from outer scope, for cursor expression case*/
List* cursor_expression_para_var;
int p_expr_transform_level; /* indicast the expr transform level in the target list */
};
/* An element of p_relnamespace or p_varnamespace */