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

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

From
Jaime Casanova
Date:
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



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

From
"David G. Johnston"
Date:
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.