Re: feature requests (possibly interested in working on this): functional foreign keys - Mailing list pgsql-general

From Thomas Kellerer
Subject Re: feature requests (possibly interested in working on this): functional foreign keys
Date
Msg-id kf02g5$4l0$1@ger.gmane.org
Whole thread Raw
In response to Re: feature requests (possibly interested in working on this): functional foreign keys  (Geoff Winkless <pgsqlgeneral@geoff.dj>)
Responses Re: Re: feature requests (possibly interested in working on this): functional foreign keys  (Geoff Winkless <pgsqlgeneral@geoff.dj>)
List pgsql-general
Geoff Winkless, 07.02.2013 11:46:
> On 7 February 2013 09:38, Chris Travers <chris.travers@gmail.com
> <mailto:chris.travers@gmail.com>> wrote:
>
> 1:  The foreign key depends on the function so the function cannot be
> dropped first absent CASCADE
>
> 2: If the function is redefined, one would have to check all rows to
> verify that they meet the new function's requirements.  This could
> pose a performance issue with DDL.
>
> There are obvious workarounds.  One could use a trigger and a foreign
> key.
>
> But my questions are:
>
> 1.  Is there enough use in something like this to even try to tackle
> it?
>
> 2.  Are there any other major showstoppers I haven't thought of?
>
> Purely from a user perspective IMO it seems like a good idea and a
> logical progression from index expressions. You could even make use
> of the equivalent index expression if it existed, or (better) insist
> on it, because the calculated value would have to be UNIQUE anyway
> (otherwise you end up in all sorts of trouble).
>

Wouldn't the ability to have virtual columns (aka computed or generated columns) inside a table be a generalization of
this?

The feature would need some kind of "virtual column" to support the FKs anyway, if I'm not mistaken (because the FK
valueneeds to be stored somewhere in order to be able to look it up). 

So I think exposing the ability to declare a virtual column would open up even more possibilities (and then in turn
allowthose virtual columns to be used in a FK constraint). 

Thomas

pgsql-general by date:

Previous
From: Scott Marlowe
Date:
Subject: Re: REINDEX deadlock - Postgresql -9.1
Next
From: Scott Marlowe
Date:
Subject: Re: REINDEX deadlock - Postgresql -9.1