pgsql: Declare assorted array functions using anycompatible not anyelem

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Declare assorted array functions using anycompatible not anyelem
Date: 2020-11-04 21:10:02
Message-ID: E1kaQ2c-0005lx-Eg@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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(-)

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2020-11-04 23:11:25 pgsql: Remove underflow error in float division with infinite divisor.
Previous Message Fujii Masao 2020-11-04 21:02:05 Re: pgsql: Get rid of the dedicated latch for signaling the startup process