Re: Attribute of type record has wrong type error with MERGE ... WHEN NOT MATCHED BY SOURCE THEN DELETE
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andres Freund <andres@anarazel.de>
Cc: Dean Rasheed <dean.a.rasheed@gmail.com>, Tender Wang <tndrwang@gmail.com>,
Duncan Sands <duncan.sands@deepbluecap.com>,
pgsql-bugs@lists.postgresql.org
Date: 2025-03-13T01:39:05Z
Lists: pgsql-bugs
Attachments
- v1-fix-write-read-parse-tree-failure-15.patch (text/x-diff) patch v1
I wrote: > Double ugh: that doesn't fix it, because we also do a round of > WRITE_READ_PARSE_PLAN_TREES checks on the rewriter output. > Not sure how to fix this, unless we lobotomize that write/read > check somehow. After some thought, I'm inclined to suggest that we just remove the post-rewrite check in the affected branches. This is certainly not an ideal solution, but unless someone can think of a fundamentally different way to fix the original bug in these branches, I don't see a better way. There are some mitigating points: * Applying WRITE_READ_PARSE_PLAN_TREES here does not correspond to any actual system functionality requirement. We have to be able to write/read post-parse-analysis trees to store views and rules; and we have to be able to write/read plan trees to transfer them to parallel workers. But there's no real reason why we have to be able to do it for the purely-transient output of rewriting. * We aren't going to be changing the outfuncs/readfuncs code in these branches anymore anyway, for precisely the same reasons that this patchset can't do that. So it's not clear what the test is doing for us. So that's the best I've got for tonight. I've verified that the attached patch for v15 fixes this failure. regards, tom lane
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Repair commits 317aba70e et al for -DWRITE_READ_PARSE_PLAN_TREES.
- b200180dec98 13.21 landed
- 7713f4592ad0 15.13 landed
- 1a20bc94623e 14.18 landed
-
Build whole-row Vars the same way during parsing and planning.
- f4e7756ef9a4 18.0 landed
- fec43428c966 16.9 landed
- d3a29ae6a60c 14.18 landed
- ca0830e5a27a 17.5 landed
- ae0be2f0bd72 15.13 landed
- 39af32f7883f 13.21 landed
-
Preserve RangeTblEntry.relid when expanding a view RTE.
- 28a7e31d0cec 13.21 landed
- 584f17a9063e 14.18 landed
- 317aba70ef83 15.13 landed
-
Fix incorrect non-strict join recheck in MERGE WHEN NOT MATCHED BY SOURCE.
- d7d297f84496 17.1 cited