Re: [GENERAL] Nested tables
Ed Loehr <eloehr@austin.rr.com>
From: Ed Loehr <eloehr@austin.rr.com>
To: Jason Vasquez <VASQUEZ_JASON@Lilly.com>, pgsql-general@postgresql.org
Date: 2000-03-03T23:32:19Z
Lists: 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