On Fri, Mar 04, 2005 at 03:40:17PM -0500, Tom Lane wrote: > "Jim C. Nasby" <decibel@xxxxxxxxxxx> writes: > > decibel=# create cast (interval as rrs.seconds) WITH FUNCTION rrs.interval_to_seconds(interval) AS IMPLICIT; > > CREATE CAST > > decibel=# select cast('1 month'::interval AS seconds); > > ERROR: cannot cast type interval to seconds > > Given the current coercion rules, we should probably disallow attempts > to define casts that involve domains. Casts are on base types. The > down-cast from a domain to its base type is hardwired, and the up-cast > from base type to domain is too (with invocation of any constraints > that may apply). Adding random user-defined casts to this would > probably just create confusion and ambiguity. In particular, this > was already meaningless: > > decibel=# create domain rrs.seconds as double precision; > CREATE DOMAIN > decibel=# create cast (double precision as rrs.seconds) WITHOUT FUNCTION AS IMPLICIT; > CREATE CAST > > since the presence of the cast might be thought to justify coercing > floats to "seconds" without invoking domain constraints. Yeah, I figured it was probably an issue with it being a domain. I was looking for a way to do this without the extra work involved in defining a full-blown type. I guess the good news is I should be able to re-use all the double-precision functions and what-not for 'seconds'. BTW, is there a reason 'double' isn't an alias for 'double precision'? I'm pretty sure every other database I've used (other than oracle of course) supports 'double'. " precision" is just too much extra typing after all... :P -- Jim C. Nasby, Database Consultant decibel@xxxxxxxxxxx Give your computer some brain candy! www.distributed.net Team #1828 Windows: "Where do you want to go today?" Linux: "Where do you want to go tomorrow?" FreeBSD: "Are you guys coming, or what?" ---------------------------(end of broadcast)--------------------------- TIP 6: Have you searched our list archives? http://archives.postgresql.org