: Fix that deleting view will core when explain_perf_mode is not EXPLAIN_NORMAL.
Offering: openGaussDev More detail: Fix that deleting view will core when explain_perf_mode is not EXPLAIN_NORMAL. Match-id-e8eddf898bbef7bec3e1d746a29aaa49ded93ef6
This commit is contained in:
parent
c426a575e3
commit
a4da772704
|
@ -454,6 +454,15 @@ void ExplainQuery(
|
|||
*/
|
||||
if (es.format == EXPLAIN_FORMAT_TEXT)
|
||||
appendStringInfoString(es.str, "Query rewrites to nothing\n");
|
||||
|
||||
/*
|
||||
* In centralized mode, non-stream plans only support EXPLAIN_NORMAL.
|
||||
* So set explain_perf_mode to EXPLAIN_NORMAL here.
|
||||
*/
|
||||
if (t_thrd.explain_cxt.explain_perf_mode != EXPLAIN_NORMAL &&
|
||||
!(IS_STREAM_PLAN && u_sess->exec_cxt.under_stream_runtime)) {
|
||||
t_thrd.explain_cxt.explain_perf_mode = EXPLAIN_NORMAL;
|
||||
}
|
||||
} else {
|
||||
ListCell* l = NULL;
|
||||
|
||||
|
|
|
@ -1911,6 +1911,14 @@ create table test(a int);
|
|||
create view v_test as select * from test;
|
||||
CREATE OR REPLACE RULE v_delete as ON DELETE TO v_test DO INSTEAD NOTHING;
|
||||
delete from v_test;
|
||||
set explain_perf_mode=pretty;
|
||||
explain delete from v_test;
|
||||
QUERY PLAN
|
||||
---------------------------
|
||||
Query rewrites to nothing
|
||||
(1 row)
|
||||
|
||||
reset explain_perf_mode;
|
||||
drop table test cascade;
|
||||
NOTICE: drop cascades to view v_test
|
||||
-- end
|
||||
|
|
|
@ -424,6 +424,10 @@ create view v_test as select * from test;
|
|||
CREATE OR REPLACE RULE v_delete as ON DELETE TO v_test DO INSTEAD NOTHING;
|
||||
delete from v_test;
|
||||
|
||||
set explain_perf_mode=pretty;
|
||||
explain delete from v_test;
|
||||
reset explain_perf_mode;
|
||||
|
||||
drop table test cascade;
|
||||
|
||||
-- end
|
||||
|
|
Loading…
Reference in New Issue