Re: Self referencing composite datatype

From: Alban Hertroys <haramrae(at)gmail(dot)com>
To: Sergey Konoplev <gray(dot)ru(at)gmail(dot)com>
Cc: Sameer Thakur <samthakur74(at)gmail(dot)com>, Postgres General <pgsql-general(at)postgresql(dot)org>
Subject: Re: Self referencing composite datatype
Date: 2013-08-08 06:38:14
Message-ID: 0EFEC07D-92C9-482F-8A8D-65545ADEBA4A@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Aug 8, 2013, at 4:11, Sergey Konoplev <gray(dot)ru(at)gmail(dot)com> wrote:

> create table node as (
> id integer primary key,
> r integer, s integer,
> children integer[] element references node
> );
>
> so you could download 9.3rc2 and experimant with it.
>
> Now (on <=9.2.x) you can create the table without FK
>
> create table node as (
> id integer primary key,
> r integer, s integer,
> children integer[]
> );
>
> and check integrity by triggers.

Or, instead of attempting to reference all child nodes from the parent, reference the parent node from each child node.
That's been supported in PG versions like forever and can be queried fairly efficiently using recursive CTE's since PG 9.

Alban Hertroys
--
If you can't see the forest for the trees,
cut the trees and you'll find there is no forest.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Sergey Konoplev 2013-08-08 06:43:04 Re: Self referencing composite datatype
Previous Message Chris Travers 2013-08-08 06:24:35 Re: Adding ip4r to Postgresql core?