From: | Tony Theodore <tony(dot)theodore(at)gmail(dot)com> |
---|---|
To: | Chris Travers <chris(dot)travers(at)gmail(dot)com> |
Cc: | "pgsql-general(at)postgresql(dot)org general" <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Composite types or composite keys? |
Date: | 2013-11-18 04:07:41 |
Message-ID: | 70E0B608-EB1F-4C19-98F4-6422A2B4FB63@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 18 Nov 2013, at 2:24 pm, Chris Travers <chris(dot)travers(at)gmail(dot)com> wrote:
>
> I haven't done work with this so I am not 100% sure but it seems to me based on other uses I have for table inheritance that it might work well for enforcing interfaces for natural joins. The one caveat I can imagine is that there are two issues that occur to me there.
>
> 1. If you have two child tables which add a column of the same name, then your centralized enforcement gets messed up and you have a magic join which could take a while to debug....
>
> 2. The same goes if you have two child tables which also inherit a different parent table for a different natural join....
>
> To be honest I think being explicit about joins is usually a very good thing.
I can see how debugging a magic join would quickly outweigh any benefits and the “USING()” clause nicely reflects the foreign key definition, so I’ll stick with explicit joins.
Thanks,
Tony
From | Date | Subject | |
---|---|---|---|
Next Message | Ken Tanzer | 2013-11-18 04:10:16 | Re: What does this error message mean? |
Previous Message | Tom Lane | 2013-11-18 03:59:36 | Re: What does this error message mean? |