postgresql/src/backend/rewrite
Tom Lane f0271cb154 Reject cases where a query in WITH rewrites to just NOTIFY.
Since the executor can't cope with a utility statement appearing
as a node of a plan tree, we can't support cases where a rewrite
rule inserts a NOTIFY into an INSERT/UPDATE/DELETE command appearing
in a WITH clause of a larger query.  (One can imagine ways around
that, but it'd be a new feature not a bug fix, and so far there's
been no demand for it.)  RewriteQuery checked for this, but it
missed the case where the DML command rewrites to *only* a NOTIFY.
That'd lead to crashes later on in planning.  Add the missed check,
and improve the level of testing of this area.

Per bug #17094 from Yaoguang Chen.  It's been busted since WITH
was introduced, so back-patch to all supported branches.

Discussion: https://postgr.es/m/17094-bf15dff55eaf2e28@postgresql.org
2021-07-09 11:02:26 -04:00
..
Makefile Row-Level Security Policies (RLS) 2014-09-19 11:18:35 -04:00
rewriteDefine.c Disallow converting an inheritance child table to a view. 2021-02-06 15:17:02 -05:00
rewriteHandler.c Reject cases where a query in WITH rewrites to just NOTIFY. 2021-07-09 11:02:26 -04:00
rewriteManip.c Update copyright for 2016 2016-01-02 13:33:40 -05:00
rewriteRemove.c Update copyright for 2016 2016-01-02 13:33:40 -05:00
rewriteSupport.c Update copyright for 2016 2016-01-02 13:33:40 -05:00
rowsecurity.c Perform RLS subquery checks as the right user when going via a view. 2019-04-02 08:20:55 +01:00