Remove the "opaque" pseudo-type and associated compatibility hacks.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 5 Mar 2020 20:48:56 +0000 (15:48 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 5 Mar 2020 20:48:56 +0000 (15:48 -0500)
commitbb03010b9f0766e10399174fe850b2506907c4e4
treeb74a4c09b4b9c93c890f6f504f12446b09d6ed89
parent84eca14bc4bdf71911cceb3a6286bc47db3a5a06
Remove the "opaque" pseudo-type and associated compatibility hacks.

A long time ago, it was necessary to declare datatype I/O functions,
triggers, and language handler support functions in a very type-unsafe
way involving a single pseudo-type "opaque".  We got rid of those
conventions in 7.3, but there was still support in various places to
automatically convert such functions to the modern declaration style,
to be able to transparently re-load dumps from pre-7.3 servers.
It seems unnecessary to continue to support that anymore, so take out
the hacks; whereupon the "opaque" pseudo-type itself is no longer
needed and can be dropped.

This is part of a group of patches removing various server-side kluges
for transparently upgrading pre-8.0 dump files.  Since we've had few
complaints about dropping pg_dump's support for dumping from pre-8.0
servers (commit 64f3524e2), it seems okay to now remove these kluges.

Discussion: https://postgr.es/m/4110.1583255415@sss.pgh.pa.us
22 files changed:
doc/src/sgml/datatype.sgml
doc/src/sgml/ref/create_language.sgml
doc/src/sgml/ref/create_trigger.sgml
doc/src/sgml/ref/create_type.sgml
src/backend/commands/functioncmds.c
src/backend/commands/proclang.c
src/backend/commands/trigger.c
src/backend/commands/typecmds.c
src/backend/utils/adt/pseudotypes.c
src/bin/pg_dump/pg_dump.c
src/bin/pg_dump/pg_dump.h
src/include/catalog/catversion.h
src/include/catalog/pg_proc.dat
src/include/catalog/pg_type.dat
src/include/commands/defrem.h
src/pl/plperl/plperl.c
src/pl/plpgsql/src/pl_handler.c
src/pl/plpython/plpy_main.c
src/test/regress/expected/create_type.out
src/test/regress/expected/opr_sanity.out
src/test/regress/sql/create_type.sql
src/test/regress/sql/opr_sanity.sql