Re: DOMAINs and CASTs

Gelman <igny03@verizon.net>

From: "Gelman" <igny03@verizon.net>
To: <pgsql-hackers@postgresql.org>
Date: 2011-05-15T01:56:05Z
Lists: pgsql-hackers
----- Original Message ----- 
From: "Darren Duncan" <darren@darrenduncan.net>
To: "Jaime Casanova" <jaime@2ndquadrant.com>
Cc: "PostgreSQL-development" <pgsql-hackers@postgresql.org>
Sent: Saturday, May 14, 2011 9:46 PM
Subject: Re: [HACKERS] DOMAINs and CASTs


> Darren Duncan wrote:
>> I think it would be best that the generic cast syntax only be useable for 
>> casts defined on the base type, and if you want a domain-specific one you 
>> should use the function syntax such as your datetime2int().
>>
>> That way it is easier for users to predict what behavior will occur, and 
>> implementation will be easier too.
>
> Replying to myself, I offer another alternative:
>
> What you ask for is indeed supported, but that if for a given input value 
> more than one cast applies to it, particularly for 2 overlapping domains, 
> then which cast is invoked is undefined, so for example the DBMS may just 
> use the first one it finds.
>
> It is then up to the user to ensure that when they define casts over 
> domains that they just define ones that either produce the same outputs 
> for the same overlapping inputs (the best answer) or they ensure that they 
> don't overlap in their input domains.
>
> -- Darren Duncan
>
> -- 
> Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-hackers