Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > Tom Lane wrote:
> >> What makes you think you can't call 'em from SQL?
> 
> > Yes, I guess I mean does it make sense to call them from SQL?  Their
> > purpose is for internal use, no?
> 
> People have actually used them for purposes of cross-type conversion
> where there's I/O compatibility but no built-in cast.  For instance
> you can't
>       regression=# select '(1,2)'::point::text;
>       ERROR:  cannot cast type point to text
> but you can
>       regression=# select textin(point_out('(1,2)'::point));
>        textin 
>       --------
>        (1,2)
>       (1 row)
> Before you look down your nose at that, consider it's *exactly* what
> plpgsql does whenever it needs to do a type conversion.
> 
> I think this decision was taken many years ago when indeed you couldn't
> use the things from SQL, but it's an obsolete point of view.  It's not
> like the functions are typically named in a way that conflicts with
> other functions.  If I do "\df int4in", what exactly do you think I'm
> looking for, and why should psql not show it to me?

Interesting.  I do remember them not working in SQL in the past.  So it
seems they do now, and I guess we should display them.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

               http://archives.postgresql.org

Reply via email to