Hi, On 2021-05-20 09:16:50 -0400, Andrew Dunstan wrote: > We certainly shouldn't want that. But we do need it for the target > unless we wipe out everything in the source that refers to it.
Is there a reason not to go for the wipe? I don't think the type of functions we have in regress.so are necessarily ones we'd even expect to work in the next version? Here's references to explicit files I see after an installcheck: SELECT oid::regproc, prosrc, probin FROM pg_proc WHERE probin IS NOT NULL AND probin NOT LIKE '$libdir%'; ┌───────────────────────────┬───────────────────────────┬────────────────────────────────────────────────────────────────────────────┐ │ oid │ prosrc │ probin │ ├───────────────────────────┼───────────────────────────┼────────────────────────────────────────────────────────────────────────────┤ │ check_primary_key │ check_primary_key │ /home/andres/build/postgres/dev-optimize/vpath/src/test/regress/refint.so │ │ check_foreign_key │ check_foreign_key │ /home/andres/build/postgres/dev-optimize/vpath/src/test/regress/refint.so │ │ autoinc │ autoinc │ /home/andres/build/postgres/dev-optimize/vpath/src/test/regress/autoinc.so │ │ trigger_return_old │ trigger_return_old │ /home/andres/build/postgres/dev-optimize/vpath/src/test/regress/regress.so │ │ ttdummy │ ttdummy │ /home/andres/build/postgres/dev-optimize/vpath/src/test/regress/regress.so │ │ set_ttdummy │ set_ttdummy │ /home/andres/build/postgres/dev-optimize/vpath/src/test/regress/regress.so │ │ make_tuple_indirect │ make_tuple_indirect │ /home/andres/build/postgres/dev-optimize/vpath/src/test/regress/regress.so │ │ test_atomic_ops │ test_atomic_ops │ /home/andres/build/postgres/dev-optimize/vpath/src/test/regress/regress.so │ │ test_fdw_handler │ test_fdw_handler │ /home/andres/build/postgres/dev-optimize/vpath/src/test/regress/regress.so │ │ test_support_func │ test_support_func │ /home/andres/build/postgres/dev-optimize/vpath/src/test/regress/regress.so │ │ test_opclass_options_func │ test_opclass_options_func │ /home/andres/build/postgres/dev-optimize/vpath/src/test/regress/regress.so │ │ test_enc_conversion │ test_enc_conversion │ /home/andres/build/postgres/dev-optimize/vpath/src/test/regress/regress.so │ │ binary_coercible │ binary_coercible │ /home/andres/build/postgres/dev-optimize/vpath/src/test/regress/regress.so │ │ widget_in │ widget_in │ /home/andres/build/postgres/dev-optimize/vpath/src/test/regress/regress.so │ │ widget_out │ widget_out │ /home/andres/build/postgres/dev-optimize/vpath/src/test/regress/regress.so │ │ int44in │ int44in │ /home/andres/build/postgres/dev-optimize/vpath/src/test/regress/regress.so │ │ int44out │ int44out │ /home/andres/build/postgres/dev-optimize/vpath/src/test/regress/regress.so │ │ pt_in_widget │ pt_in_widget │ /home/andres/build/postgres/dev-optimize/vpath/src/test/regress/regress.so │ │ overpaid │ overpaid │ /home/andres/build/postgres/dev-optimize/vpath/src/test/regress/regress.so │ │ interpt_pp │ interpt_pp │ /home/andres/build/postgres/dev-optimize/vpath/src/test/regress/regress.so │ │ reverse_name │ reverse_name │ /home/andres/build/postgres/dev-optimize/vpath/src/test/regress/regress.so │ └───────────────────────────┴───────────────────────────┴────────────────────────────────────────────────────────────────────────────┘ (21 rows) Testing the pg_upgrade path for these doesn't seem to add meaningful coverage, and several seem likely to cause problems across versions? Greetings, Andres Freund