Thread: Foreign key data type mismatches

Foreign key data type mismatches

From
Peter Eisentraut
Date:
I was just annoyed to find out that a foreign key doesn't check whether
the referenced column has a sufficiently similar data type, it only checks
whether an = operator exists.  This masks schema design errors and typos.
Should this be tightened up, for example using the castability
characteristics between the two data types?

-- 
Peter Eisentraut   peter_e@gmx.net



Re: Foreign key data type mismatches

From
Andreas Pflug
Date:
Peter Eisentraut wrote:

>I was just annoyed to find out that a foreign key doesn't check whether
>the referenced column has a sufficiently similar data type, it only checks
>whether an = operator exists.  This masks schema design errors and typos.
>Should this be tightened up, for example using the castability
>characteristics between the two data types?
>  
>

Sounds like a good idea. IMHO normally only *equal* data types should be 
referenced in a good data model design, but there's probably the need 
for some relaxed check option too.

Regards,
Andreas




Re: Foreign key data type mismatches

From
Bruce Momjian
Date:
Andreas Pflug wrote:
> Peter Eisentraut wrote:
> 
> >I was just annoyed to find out that a foreign key doesn't check whether
> >the referenced column has a sufficiently similar data type, it only checks
> >whether an = operator exists.  This masks schema design errors and typos.
> >Should this be tightened up, for example using the castability
> >characteristics between the two data types?
> >  
> >
> 
> Sounds like a good idea. IMHO normally only *equal* data types should be 
> referenced in a good data model design, but there's probably the need 
> for some relaxed check option too.

Yes, we already talked about throwing a warning if the primary/foreign
key data types are mismatched.

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
359-1001+  If your life is a hard drive,     |  13 Roberts Road +  Christ can be your backup.        |  Newtown Square,
Pennsylvania19073
 


Re: Foreign key data type mismatches

From
Stephan Szabo
Date:
On Mon, 1 Dec 2003, Peter Eisentraut wrote:

> I was just annoyed to find out that a foreign key doesn't check whether
> the referenced column has a sufficiently similar data type, it only checks
> whether an = operator exists.  This masks schema design errors and typos.
> Should this be tightened up, for example using the castability
> characteristics between the two data types?

Maybe, but IIRC the spec only requires comparability between the types
involved. Since we don't use the same rules as the spec for that,
existance of equality comparison was treated as the closest match to the
requirement at the time.