Re: BUG #17579: 15beta2: strange error when trying to use MERGE statement as a CTE

Alvaro Herrera <alvherre@alvh.no-ip.org>

From: Alvaro Herrera <alvherre@alvh.no-ip.org>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Richard Guo <guofenglinux@gmail.com>, borz_off@cs.msu.su, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2022-08-11T14:17:45Z
Lists: pgsql-bugs
In the meantime I noticed that DoCopy is subject to the same problem,
since it also uses PreparableStmt.  I'll post a patch in a bit.

On 2022-Aug-11, Tom Lane wrote:

> The parse error location seems quite oddly chosen.  Can you make
> it point at the MERGE instead?  I think exprLocation(cte->ctequery)
> might work, but not sure.

I tried, but couldn't find the location anywhere.  None of the nodes for
ModifyTable statements have location :-(  We could add one now -- while
it's a bit late for 15, we're likely going to have a catversion bump due
to the JSON revert, so it might be fine.

-- 
Álvaro Herrera               48°01'N 7°57'E  —  https://www.EnterpriseDB.com/
"Cuando mañana llegue pelearemos segun lo que mañana exija" (Mowgli)



Commits

  1. Reject MERGE in CTEs and COPY