!1953 修改debug5模式下,insert into select特定数据报错
Merge pull request !1953 from 侯宗田/debug5_hou
This commit is contained in:
@ -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")));
|
||||
|
6
src/test/regress/input/test_debug5.source
Normal file
6
src/test/regress/input/test_debug5.source
Normal 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;
|
7
src/test/regress/output/test_debug5.source
Normal file
7
src/test/regress/output/test_debug5.source
Normal 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;
|
@ -1007,3 +1007,6 @@ test: aioptimizer
|
||||
test: aioptimizer_small
|
||||
test: pgfincore
|
||||
test: rename_table
|
||||
|
||||
# debug instrument
|
||||
test: test_debug5
|
||||
|
Reference in New Issue
Block a user