| 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: | Whole Thread | Raw Message | 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? |