Um. Sooner or later we ought to do something about the whole automatic-casting-to-and-from-text issue. Datatypes shouldn't have to supply both I/O procedures and text cast procedures.
I thought automatic (i.e. implicit) casting-to-and-from-text was a no-no because it could cause strange and unintended conversion to take place, no? I do believe that explict casting to text should be allowed -- the result of any OUT function can be represented as text, can't it? A C-language version of the following should do it:
create or replace function any2text(anyelement) returns text as ' begin return $1; end; ' language plpgsql;
And if we could cast text to cstring, it could be the input of any IN function. Hmmm, I guess you can cast any literal to cstring though:
select int4in('1'::cstring); int4in -------- 1 (1 row)
Right, in the short term you can make it work inside a plpgsql function, since plpgsql is pretty darn lax about casting. But it'd be nice if it worked more generally.
So what would that look like, and still be "safe".
Joe
---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])