Declare assorted array functions using anycompatible not anyelement.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 4 Nov 2020 21:09:55 +0000 (16:09 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 4 Nov 2020 21:09:55 +0000 (16:09 -0500)
commit9e38c2bb5093ceb0c04d6315ccd8975bd17add66
tree78afafa32e3f4a615281401b37890ac4775dfffc
parent5c292e6b90433c760a3e15027646c7b94afd0cdd
Declare assorted array functions using anycompatible not anyelement.

Convert array_append, array_prepend, array_cat, array_position,
array_positions, array_remove, array_replace, and width_bucket
to use anycompatiblearray.  This is a simple extension of commit
5c292e6b9 to hit some other places where there's a pretty obvious
gain in usability from doing so.

Ideally we'd also modify other functions taking multiple old-style
polymorphic arguments.  But most of the remainder are tied into one
or more operator classes, making any such change a much larger can of
worms than I desire to open right now.

Discussion: https://postgr.es/m/77675130-89da-dab1-51dd-492c93dcf5d1@postgresfriends.org
doc/src/sgml/func.sgml
doc/src/sgml/xaggr.sgml
src/include/catalog/catversion.h
src/include/catalog/pg_operator.dat
src/include/catalog/pg_proc.dat
src/test/regress/expected/arrays.out
src/test/regress/expected/polymorphism.out
src/test/regress/sql/arrays.sql
src/test/regress/sql/polymorphism.sql