With this query you can view all casts involving varchar:

SELECT castsource::regtype, casttarget::regtype, castfunc::regprocedure, 
castcontext FROM pg_cast WHERE 'varchar'::regtype IN (castsource, casttarget) 
ORDER BY 1, 2;

Note that varchar mostly "borrows" the cast functions from the text type.  The 
exception is that there is a separate set of SQL-level functions for casting 
between name and varchar and vice versa.  But these are actually matched to 
the same C-level functions as the casts between text and name (name_text() 
and text_name()).

Does anyone recall a reason for this special case or is it just another dark 
area in the casting maze?  If the latter, I would like to remove the extra 
functions and redefine the casts between varchar and name to use the 
SQL-level casting functions for the text type.

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to