Search Postgresql Archives

Re: Self referencing composite datatype

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: pgsql-general-owner@xxxxxxxxxxxxxx [mailto:pgsql-general-
> owner@xxxxxxxxxxxxxx] On Behalf Of David Johnston
> Sent: Wednesday, August 07, 2013 10:35 AM
> To: pgsql-general@xxxxxxxxxxxxxx
> Subject: Re:  Self referencing composite datatype
> 
> Sameer Thakur wrote
> > Hello,
> > I wanted to create a composite datatype to represent a Node. So it
> > would have a few attributes and an array of type Node which is the
> > children of this node.
> > create type Node as (r integer, s integer, children Node []); But i
> > get error type Node[] does not exist. I understand that Node is not
> > defined hence the error.
> > But how do i get around this problem?
> 
> In theory if you are using 9.1 or later you can first create the node type and
> then alter it to include a children attribute with the self-referencing type-
> array.
> 
> begin;
> 
> create type node as (r integer, s integer); alter type node add attribute
> children node[];
> 
> end;
> 
> I'm running 9.0 so cannot readily test this at the moment.
> 
> David J.
> 

Under 9.2.2 I'm getting an error:

ERROR:  composite type node cannot be made a member of itself

********** Error **********

ERROR: composite type node cannot be made a member of itself
SQL state: 42P16

Regards,
Igor Neyman


-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux