Fix bugs in polymorphic-argument resolution for multiranges.
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 27 Jul 2021 19:01:49 +0000 (15:01 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 27 Jul 2021 19:01:49 +0000 (15:01 -0400)
commit336ea6e6ff1109e7b83370565e3cb211804fda0c
tree76935126ebbff90cb4fb91743069144ff4e4c0e6
parent674f6fe8e65a37289432fa373e5d742a36751ae8
Fix bugs in polymorphic-argument resolution for multiranges.

We failed to deal with an UNKNOWN-type input for
anycompatiblemultirange; that should throw an error indicating
that we don't know how to resolve the multirange type.

We also failed to infer the type of an anycompatiblerange output
from an anycompatiblemultirange input or vice versa.

Per bug #17066 from Alexander Lakhin.  Back-patch to v14
where multiranges were added.

Discussion: https://postgr.es/m/17066-16a37f6223a8470b@postgresql.org
src/backend/parser/parse_coerce.c
src/test/regress/expected/polymorphism.out
src/test/regress/expected/rangefuncs.out
src/test/regress/sql/polymorphism.sql