diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2021-07-09 11:02:26 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2021-07-09 11:02:26 -0400 |
commit | 9c729bd3084917f31113a434567504f2f9e266d1 (patch) | |
tree | df48753d143c229099fcb00c45bced43d1fcaf58 /src/backend/commands/trigger.c | |
parent | c0385c6a7e13bee763855a9bceedc71602ab1572 (diff) | |
download | postgresql-9c729bd3084917f31113a434567504f2f9e266d1.tar.gz postgresql-9c729bd3084917f31113a434567504f2f9e266d1.zip |
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
Diffstat (limited to 'src/backend/commands/trigger.c')
0 files changed, 0 insertions, 0 deletions