Thread: Casting Point to Text
Hi all, PG 7.4 beta4 (not had a chance to upgrade yet :-( how do i cast something of type point to text? db=# select '(1,2)'::point::text; ERROR: cannot cast type point to text db=# select text('(1,2)'::point); ERROR: function text(point) does not exist HINT: No function matches the given name and argument types. You may need to add explicit type casts. the only way i have been able to achieve it is to write a plpgsql function: create function to_s(point) returns text as 'begin return $1; end;' language plpgsql; while this appears to work fine - I am wondering if I am missing something fundamental - specifically whether or not there is an inbuilt way to do it (which I guess there must be for the plpgsql function to work)? thanks for your help Martin
Martin Hart <martin@zsdfherg.com> writes: > db=# select '(1,2)'::point::text; > ERROR: cannot cast type point to text > the only way i have been able to achieve it is to write a plpgsql function: > while this appears to work fine - I am wondering if I am missing something > fundamental - specifically whether or not there is an inbuilt way to do it > (which I guess there must be for the plpgsql function to work)? plpgsql is effectively doing regression=# select textin(point_out('(1,2)'::point)); textin -------- (1,2) (1 row) There is not a one-step cast function for this. (Not for any fundamental reason, just a lack of round tuits.) regards, tom lane
On Tuesday 09 December 2003 14:56, Tom Lane wrote: > plpgsql is effectively doing > > regression=# select textin(point_out('(1,2)'::point)); > textin > -------- > (1,2) > (1 row) > > There is not a one-step cast function for this. (Not for any > fundamental reason, just a lack of round tuits.) > > regards, tom lane thanks for the info. Is this the sort of thing that the core team will accept patches for (missing casts etc)? If so, and it is easy enough for me to get my head round :-) I'll work on it. Cheers, Martin
Martin Hart <martin@zsdfherg.com> writes: > thanks for the info. Is this the sort of thing that the core team will accept > patches for (missing casts etc)? If so, and it is easy enough for me to get > my head round :-) I'll work on it. Go for it. There might be some resistance if you proposed adding implicit or automatic casts, but I can't see anyone objecting to providing more explicit casts. regards, tom lane