From: | Fabien COELHO <coelho(at)cri(dot)ensmp(dot)fr> |
---|---|
To: | Peter Eisentraut <peter_e(at)gmx(dot)net>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>, Neil Conway <neilc(at)samurai(dot)com> |
Cc: | PostgreSQL Developers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Aclitem "high level description" |
Date: | 2004-05-03 09:39:08 |
Message-ID: | Pine.LNX.4.58.0405031055260.9381@sablons.cri.ensmp.fr |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers pgsql-hackers |
Dear committers, dear hackers,
> Subject: Re: [COMMITTERS] pgsql-server/src backend/utils/adt/acl.c ...
> > Ergo, my recommendation is to revert this change altogether. Fabien
> > should figure out the high-level description of what he wants to know
Please find attached as somehow requested a plpgsql implementation for a
"high-level description" (by that, I understand "relationnal", not
"functionnal") of acl in postgres.
The pg_{database,class,namespace,language,proc}_acl views are just
intermediate for the construction of the description from current acl
implementation. I'm not sure the implementation is right about the default
settings, but the spirit is there.
The actual descriptions are pg_{public,group,user}_acl, and pg_granted_acl
and pg_acl are examples of how to use these "high level descriptions".
You may notice that "high level" means two different things. High level
functions from the back-end point of view (has_privileves stuff), and high
level relationnal (something you can query). I need the second stuff.
Also, I must admit that I don't find it really motivating to have to
reimplement all this in C and to have it rejected for some reason such as
"we may change things in this area in some hypothetical future time", as
it was the motivation for rejecting 10 lines of code for 5 aclitem
accessor functions.
A general comment about pg_catalog is that it looks like it was designed
by a C programmer and cast later as an afterthought to a relationnal view.
It makes it quite uneasy to manipulate these tables for any other purpose
that the one that was foreseen by the designer from its internal point of
view, especially as it is not normalized and as opaque types are used.
Anyway, thanks in advance for your comments about this description, and
suggestions about the probability of acceptance it could have (if
implemented properly in C) in the backend, so as to replace quite infamous
aclitem accessors.
Have a nice day,
--
Fabien Coelho - coelho(at)cri(dot)ensmp(dot)fr
Attachment | Content-Type | Size |
---|---|---|
aclitem_rows.sql | text/plain | 4.9 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2004-05-03 13:25:23 | pgsql-server/src/test/regress pg_regress.sh |
Previous Message | Neil Conway | 2004-05-03 08:47:54 | pgsql-server/doc/src/sgml release.sgml |
From | Date | Subject | |
---|---|---|---|
Next Message | jihuang | 2004-05-03 10:12:21 | ERROR: heapgettup: failed ReadBuffer |
Previous Message | Philip Warner | 2004-05-03 09:33:40 | Re: ANALYZE locks pg_listener in EXCLUSIVE for long |