Re: BUG #17800: ON CONFLICT DO UPDATE fails to detect incompatible fields that leads to a server crash
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Michael Paquier <michael@paquier.xyz>
Cc: exclusion@gmail.com, pgsql-bugs@lists.postgresql.org
Date: 2023-02-21T04:49:26Z
Lists: pgsql-bugs
Michael Paquier <michael@paquier.xyz> writes: > On Sat, Feb 18, 2023 at 08:00:00AM +0000, PG Bug reporting form wrote: >> But when executing: >> UPDATE t SET (a, b) = (SELECT t.a, t.b || '+'); >> I get: >> ERROR: attribute 1 of type tp1 has wrong type >> DETAIL: Table has type text, but query expects integer. > Reproduced here. I think there may be two different bugs here. The coredump in the ON CONFLICT case goes back to v11 for me (and v10 doesn't support the primary-key-on-partition case at all, so this error may be aboriginal to the feature). But I only see this "wrong type" failure in v14 and later. I didn't try bisecting yet. regards, tom lane
Commits
-
Fix MULTIEXPR_SUBLINK with partitioned target tables, yet again.
- ffec64ba86c4 11.20 landed
- a033f9165c2c 15.3 landed
- 9eaba06027ae 14.8 landed
- 904b171a4655 12.15 landed
- 87f3667ec079 16.0 landed
- 1e199c259947 13.11 landed
-
Repair rare failure of MULTIEXPR_SUBLINK subplans in inherited updates.
- 3f7323cbbdd3 13.9 cited