Re: Cast possible only throught a function - Mailing list pgsql-bugs

From Tom Lane
Subject Re: Cast possible only throught a function
Date
Msg-id 9272.1059228593@sss.pgh.pa.us
Whole thread Raw
In response to Cast possible only throught a function  ("Mendola Gaetano" <mendola@bigfoot.com>)
List pgsql-bugs
"Mendola Gaetano" <mendola@bigfoot.com> writes:
> but I notice that the following function return correctly
> doing the integer -> interval cast in one "shot":

What plpgsql is doing is roughly comparable to

regression=# select '0'::interval;
 interval
----------
 00:00:00
(1 row)

This is not the same as a SQL type conversion --- that works only when a
cast function is defined in pg_cast.

plpgsql is pretty lax about datatype considerations.  It is willing to
try to convert anything to anything else by running the first type's
output procedure (to get text) and then the second type's input
procedure.  In straight SQL you'd have to specify a cast to text to
get the equivalent behavior.

            regards, tom lane

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: libpq.a must be ranlibed after installation
Next
From: Theodore Petrosky
Date:
Subject: Re: libpq.a must be ranlibed after installation