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
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/9e38c2bb5093ceb0c04d6315ccd8975bd17add66
Modified Files
--------------
doc/src/sgml/func.sgml | 50 ++++++++++++++++--------------
doc/src/sgml/xaggr.sgml | 4 +--
src/include/catalog/catversion.h | 2 +-
src/include/catalog/pg_operator.dat | 13 ++++----
src/include/catalog/pg_proc.dat | 40 +++++++++++++++---------
src/test/regress/expected/arrays.out | 12 +++++++
src/test/regress/expected/polymorphism.out | 10 +++---
src/test/regress/sql/arrays.sql | 2 ++
src/test/regress/sql/polymorphism.sql | 10 +++---
9 files changed, 86 insertions(+), 57 deletions(-)