On Sat, 2004-10-09 at 05:35, Tom Lane wrote:
> Oliver Elphick <olly@lfix.co.uk> writes:
> > I tried to use regclass() in a plpgsql function to derive a tablename
> > from its oid so as to build a command string, but I am unable to use the
> > value returned because it cannot be cast to anything. Therefore I will
> > have to use a complex query on the catalog to do the same work.
>
> Hmm? plpgsql is about as permissive as you can get on this point.
> Just assign the result to a variable of the desired type, and it will
> do it if the textual representations are at all compatible. Example:
>
> regression=# create function foo(oid) returns text as '
...
>
> I'm on record that we should allow (explicit) casting to and from text
> for all types, using the types' I/O functions to implement it. But
> plpgsql already provides essentially that mechanism in its assignment
> operations. You just hafta do the explicit assignment...
Thanks for the example. I was trying to do
cmd = ''SELECT * FROM '' || regclass(someoid);
--
Oliver Elphick olly@lfix.co.uk
Isle of Wight http://www.lfix.co.uk/oliver
GPG: 1024D/A54310EA 92C8 39E7 280E 3631 3F0E 1EC0 5664 7A2F A543 10EA
======================================== "Every good gift and every perfect gift is from above, and cometh down
fromthe Father of lights, with whom is no variableness, neither shadow of turning."
James 1:17