Re: [GENERAL] Nested tables - Mailing list pgsql-general

From Ed Loehr
Subject Re: [GENERAL] Nested tables
Date
Msg-id 38C04B83.B0D8CD9C@austin.rr.com
Whole thread Raw
In response to Nested tables  (Jason Vasquez <VASQUEZ_JASON@Lilly.com>)
List pgsql-general
Ed Loehr wrote:
>
> Jason Vasquez wrote:
> > Basically, I'd like to set up an ACL-like property for each record. A table
> > could be strucured like this:
> >
> > Table ACL:
> >    Attribute   |    Type     |          Modifier
> > ---------------+-------------+----------------------------
> >  uniqid        | varchar(12) | not null
> >  date_created  | timestamp   | not null
> >  date_modified | timestamp   | not null
> >  read          | boolean     | not null default 'f'::bool
> >  write         | boolean     | not null default 'f'::bool
> >  execute       | boolean     | not null default 'f'::bool
> >  delete        | boolean     | not null default 'f'::bool
> >
> > Table myItem:
> >    Attribute    |    Type     | Modifier
> > ----------------+-------------+----------
> >  uniqid         | varchar(12) | not null
> >  date_created   | timestamp   | not null
> >  date_modified  | timestamp   | not null
> >  author         | text        | not null
> >  title          | text        | not null
> >  access_control | acl         | not null
> >
> > PostgreSQL lets me create the class myItem with a "acl" field type, but I
> > can't figure out how to insert multiple values (or any values!) into the
> > access_control field...
>
> Hmmm.  Why would you want that?  Do you really mean to insert multiple
> records, each with an individual access_control value?  At the risk of
> completely oversimplifying your problem, my guess is that you're
> looking for the notion of a foreign key in myItem, i.e.,
>
> Table ACL:
>    uniqid   integer not null unique,  -- or use pgsql 'serial' type...
>    ...
>
> Table myItem:
>    uniqid      integer not null unique,
>    ...
>    ACL_uniqid  integer not null  -- a foreign key into ACL

Well, I snooped around a bit and apparently there is a built-in type
called 'acl'.  So either I spoke up when I had no idea what I was
talking about (and no idea that I had no idea) but you did, or you got
unlucky and named a table by the same name as a pgsql built-in type.
Chances are it's the former.

Cheers,
Ed Loehr

pgsql-general by date:

Previous
From: Ed Loehr
Date:
Subject: Re: [GENERAL] Nested tables
Next
From: "omid omoomi"
Date:
Subject: Re: [GENERAL] Nested tables