Re: "Reverse" inheritance? - Mailing list pgsql-general

From Tim Uckun
Subject Re: "Reverse" inheritance?
Date
Msg-id CAGuHJrNXBAZxXU8ivLGLQ3RhXGSkyA8=OXo4StUtdEq6a=SW3g@mail.gmail.com
Whole thread Raw
In response to Re: "Reverse" inheritance?  (vinny <vinny@xs4all.nl>)
Responses Re: "Reverse" inheritance?  (vinny <vinny@xs4all.nl>)
List pgsql-general
>I agree with the barking up the wrong tree, building a physical tree in tables doesn't sound right
given that you will have to create a new branch in the tree when a new version/variation of ubuntu comes out.

This doesn't bother me that much. If can say create table ubuntu_17_04 inherits ubuntu and have it return all the parents data as I described it would be awesome

>Also think about how you are going to do basic queries like listing all known unix variants; if that is hidden in the table names
then you'll have to issue DDL queries to do the work of SELECT queries, which just sounds wrong to me.

Yes this might be a problem but one I could easily overcome.

>I'd go for a tree, possibly using recursive CTE's to dig it.

I was thinking a window function but yea I am sure there is a way to do it with a flat table.

On Tue, Apr 4, 2017 at 6:43 PM, vinny <vinny@xs4all.nl> wrote:
I agree with the barking up the wrong tree, building a physical tree in tables doesn't sound right
given that you will have to create a new branch in the tree when a new version/variation of ubuntu comes out.

Also think about how you are going to do basic queries like listing all known unix variants; if that is hidden in the table names
then you'll have to issue DDL queries to do the work of SELECT queries, which just sounds wrong to me.

I'd go for a tree, possibly using recursive CTE's to dig it.


On 2017-04-04 05:19, Tim Uckun wrote:
I have thought of doing something like a single table inheritance and it
could be done but I thought this might be a little more elegant.

On Tue, Apr 4, 2017 at 2:15 PM, David G. Johnston <
david.g.johnston@gmail.com> wrote:

On Mon, Apr 3, 2017 at 7:07 PM, Tim Uckun <timuckun@gmail.com> wrote:

I am trying to make postgres tables work like an object hierarchy. As an
example I have done this.


​I suspect you are barking up the wrong tree ;)

You are probably better off incorporating something like the "ltree" type
to encode the taxonomy.

https://www.postgresql.org/docs/current/static/ltree.html

I haven't had a chance to leverage it myself but the concept it embodies
is solid.

David J.



pgsql-general by date:

Previous
From: vinny
Date:
Subject: Re: "Reverse" inheritance?
Next
From: Kyotaro HORIGUCHI
Date:
Subject: Re: Unexpected interval comparison