Hello Andrew,
 
When do you expect this patch to go in production and available for public use? 
I would keep an eye for its release.
 
Sanjay Sharma> Date: Tue, 1 Apr 2008 18:40:24 -0400> From: [EMAIL PROTECTED]> 
To: pgsql-hackers@postgresql.org> Subject: [HACKERS] column level privileges> > 
> Apologies if this gets duplicated - original seems to have been dropped > due 
to patch size - this time I am sending it gzipped.> > cheers> > andrew> > 
-------- Original Message --------> Subject: column level privileges> Date: 
Tue, 01 Apr 2008 08:32:25 -0400> From: Andrew Dunstan <[EMAIL PROTECTED]>> To: 
Patches (PostgreSQL) <[EMAIL PROTECTED]>> > > > This patch by Golden Lui was 
his work for the last Google SoC. I was his > mentor for the project. I have 
just realised that he didn't send his > final patch to the list.> > I guess 
it's too late for the current commit-fest, but it really needs > to go on a 
patch queue (my memory on this was jogged by Tom's recent > mention of 
$Subject).> > I'm going to see how much bitrot there is and see what changes 
are > necessary to get it to apply.> > cheers> > andrew> > > -------------> 
Here is a README for the whole patch.> > According to the SQL92 standard, there 
are four levels in the privilege > hierarchy, i.e. database, tablespace, table, 
and column. Most commercial > DBMSs support all the levels, but column-level 
privilege is hitherto > unaddressed in the PostgreSQL, and this patch try to 
implement it.> > What this patch have done:> 1. The execution of GRANT/REVOKE 
for column privileges. Now only > INSERT/UPDATE/REFERENCES privileges are 
supported, as SQL92 specified. > SELECT privilege is now not supported. This 
part includes:> 1.1 Add a column named 'attrel' in pg_attribute catalog to 
store > column privileges. Now all column privileges are stored, no matter > 
whether they could be implied from table-level privilege.> 1.2 Parser for the 
new kind of GRANT/REVOKE commands.> 1.3 Execution of GRANT/REVOKE for column 
privileges. Corresponding > column privileges will be added/removed 
automatically if no column is > specified, as SQL standard specified.> 2. 
Column-level privilege check.> Now for UPDATE/INSERT/REFERENCES privilege, 
privilege check will be > done ONLY on column level. Table-level privilege 
check was done in the > function InitPlan. Now in this patch, these three kind 
of privilege are > checked during the parse phase.> 2.1 For UPDATE/INSERT 
commands. Privilege check is done in the > function 
transformUpdateStmt/transformInsertStmt.> 2.2 For REFERENCES, privilege check 
is done in the function > ATAddForeignKeyConstraint. This function will be 
called whenever a > foreign key constraint is added, like create table, alter 
table, etc.> 2.3 For COPY command, INSERT privilege is check in the function > 
DoCopy. SELECT command is checked in DoCopy too.> 3. While adding a new column 
to a table using ALTER TABLE command, set > appropriate privilege for the new 
column according to privilege already > granted on the table.> 4. Allow pg_dump 
and pg_dumpall to dump in/out column privileges.> 5. Add a column named 
objsubid in pg_shdepend catalog to record ACL > dependencies between column and 
roles.> 6. modify the grammar of ECPG to support column level privileges.> 7. 
change psql's \z (\dp) command to support listing column privileges > for 
tables and views. If \z(\dp) is run with a pattern, column > privileges are 
listed after table level privileges.> 8. Regression test for column-level 
privileges. I changed both > privileges.sql and expected/privileges.out, so 
regression check is now > all passed.> > Best wishes> Dong> -- > Guodong Liu> 
Database Lab, School of EECS, Peking University> Room 314, Building 42, Peking 
University, Beijing, 100871, China> > 
_________________________________________________________________
Technology : Catch up on updates on the latest Gadgets, Reviews, Gaming and 
Tips to use technology etc.
http://computing.in.msn.com/

Reply via email to