Re: BUG #17646: create rule named "_RETURN" will cause pg core
Ilya Anfimov <ilan@tzirechnoy.com>
From: Ilya Anfimov <ilan@tzirechnoy.com>
To: pgsql-bugs@lists.postgresql.org
Date: 2022-10-17T14:33:38Z
Lists: pgsql-bugs
On Mon, Oct 17, 2022 at 10:17:55AM -0400, Tom Lane wrote: > PG Bug reporting form <noreply@postgresql.org> writes: > > here is a test case > > > create table t (id integer); > > create view v1 as select * from t; > > create or replace rule "_RETURN" as on UPDATE to v1 do instead select * from > > t; > > Meh. We should be preventing you from doing that. > > (Although the core dump is also not great --- something should've noticed > the bogosity of the plan earlier than this.) Id doesn't look much of a plan bogosity, but rather implicit deletion of the "_RETURN" on select rule. Consider the behaviour of the direct drop rule: ilan=*> create table t (id integer); CREATE TABLE ilan=*> create view v1 as select * from t; CREATE VIEW ilan=*> DROP RULE "_RETURN" ON v1; ERROR: cannot drop rule _RETURN on view v1 because view v1 requires it ПОДСКАЗКА: You can drop view v1 instead. > > regards, tom lane >
Commits
-
Reject non-ON-SELECT rules that are named "_RETURN".
- ecf4ce689a7c 10.23 landed
- e9377e3e53e6 11.18 landed
- b21615d1e9b0 13.9 landed
- 797e313dc9ae 16.0 landed
- 65c1106d8c5b 12.13 landed
- 4a41a069e7ac 15.1 landed
- 2f26cec48843 14.6 landed
-
Guard against table-AM-less relations in planner.
- eec34661182d 16.0 landed
- 99b6b705d439 12.13 landed
- 8c611602bd35 14.6 landed
- 62b263bf779e 13.9 landed
- 2e3326929b0b 15.1 landed