Reject non-ON-SELECT rules that are named "_RETURN". DefineQueryRewrite() has long required that ON SELECT rules be named "_RETURN". But we overlooked the converse case: we should forbid non-ON-SELECT rules that are named "_RETURN". In particular this prevents using CREATE OR REPLACE RULE to overwrite a view's _RETURN rule with some other kind of rule, thereby breaking the view.
Per bug #17646 from Kui Liu. Back-patch to all supported branches. Discussion: https://postgr.es/m/[email protected] Branch ------ REL_12_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/65c1106d8c5bea72b30c257d992c0d42f1b52440 Modified Files -------------- src/backend/rewrite/rewriteDefine.c | 12 ++++++++++++ 1 file changed, 12 insertions(+)
