!1953 修改debug5模式下,insert into select特定数据报错

Merge pull request !1953 from 侯宗田/debug5_hou
This commit is contained in:
opengauss-bot
2022-10-28 02:59:53 +00:00
committed by Gitee
4 changed files with 18 additions and 1 deletions

View File

@ -6951,7 +6951,8 @@ static void get_insert_query_def(Query* query, deparse_context* context)
*/
foreach (l, query->rtable) {
rte = (RangeTblEntry*)lfirst(l);
if (rte->rtekind == RTE_SUBQUERY) {
if (rte->rtekind == RTE_SUBQUERY && !(rte->pulled_from_subquery)) {
/* subquery rte pulled up from nested subquery is ignored here */
is_fqs_inselect = true;
if (select_rte != NULL) {
ereport(ERROR, (errcode(ERRCODE_RESTRICT_VIOLATION), errmsg("too many subquery RTEs in INSERT")));

View File

@ -0,0 +1,6 @@
drop table if exists brinindex_t1;
set log_min_messages to debug5;
create table brinindex_t1(c1 numrange,c2 int,c3 text);
insert into brinindex_t1 select format('[%s,%s]',b*1000,b*1000+3.1415926)::numrange,a,a || 'brinindextest' from (select a,random() as b from generate_series(1,10000) as a);
drop table brinindex_t1;
reset log_min_messages;

View File

@ -0,0 +1,7 @@
drop table if exists brinindex_t1;
NOTICE: table "brinindex_t1" does not exist, skipping
set log_min_messages to debug5;
create table brinindex_t1(c1 numrange,c2 int,c3 text);
insert into brinindex_t1 select format('[%s,%s]',b*1000,b*1000+3.1415926)::numrange,a,a || 'brinindextest' from (select a,random() as b from generate_series(1,10000) as a);
drop table brinindex_t1;
reset log_min_messages;

View File

@ -1007,3 +1007,6 @@ test: aioptimizer
test: aioptimizer_small
test: pgfincore
test: rename_table
# debug instrument
test: test_debug5