to be a multirange or not be, that's the question

Started by Jaime Casanovaabout 4 years ago2 messages
#1Jaime Casanova
jcasanov@systemguards.com.ec

Ok, subject was a bit philosophical but this message I just found is
quite confusing.

"""
regression=# select cast(null as anyrange) &> cast(null as anymultirange);
ERROR: argument declared anymultirange is not a multirange type but type anymultirange
"""

--
Jaime Casanova
Director de Servicios Profesionales
SystemGuards - Consultores de PostgreSQL

#2David G. Johnston
david.g.johnston@gmail.com
In reply to: Jaime Casanova (#1)
Re: to be a multirange or not be, that's the question

On Saturday, November 6, 2021, Jaime Casanova <jcasanov@systemguards.com.ec>
wrote:

Ok, subject was a bit philosophical but this message I just found is
quite confusing.

"""
regression=# select cast(null as anyrange) &> cast(null as anymultirange);
ERROR: argument declared anymultirange is not a multirange type but type
anymultirange
"""

I get that it is hard to parse but it is unambiguously correct. It does
seem to presume that one understands how polymorphic pseudo-types work (the
supplied query was written without that knowledge applied). I can envision
some improvements here though it would depend a lot on the actual
implementation. I’m also curious as to why we get as far the operator
invocation when casting literals to polymorphic pseudo-types is supposedly
an invalid thing to do.

David J.