Fix pg_upgrade to detect non-upgradable anyarray usages.
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 5 Jul 2022 17:06:31 +0000 (13:06 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 5 Jul 2022 17:06:31 +0000 (13:06 -0400)
commit09878cdd489ff7aca761998e7cb104f4fd98ae02
tree47bc083778011fc66040dc65f690e0b651aa3e90
parent8d9f9634ef21ab0023e2bd98e799f5ad2eec4539
Fix pg_upgrade to detect non-upgradable anyarray usages.

When we changed some built-in functions to use anycompatiblearray
instead of anyarray, we created a dump/restore hazard for user-defined
operators and aggregates relying on those functions: the user objects
have to be modified to change their signatures similarly.  This causes
pg_upgrade to fail partway through if the source installation contains
such objects.  We generally try to have pg_upgrade detect such hazards
and fail before it does anything exciting, so add logic to detect
this case too.

Back-patch to v14 where the change was made.

Justin Pryzby, reviewed by Andrey Borodin

Discussion: https://postgr.es/m/3383880.QJadu78ljV@vejsadalnx
src/bin/pg_upgrade/check.c