Re: WIP: Column-level Privileges

From: Stephen Frost <sfrost(at)snowman(dot)net>
To: Markus Wanner <markus(at)bluegap(dot)ch>
Cc: PostgreSQL-development Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: WIP: Column-level Privileges
Date: 2008-11-02 03:45:17
Message-ID: 20081102034517.GR4452@tamriel.snowman.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Markus,

* Markus Wanner (markus(at)bluegap(dot)ch) wrote:
> Sorry, this took way longer than planned.

Beleive me, I understand. :)

> testdb=# GRANT TRUNCATE (single_col) ON test TO malory;
> GRANT

This has been fixed in the attached patch.

> Some privilege regression tests currently fail with your patch, but I
> think that's expected.

All regression tests should pass now.

> Documentation and new regression tests for column level privileges are
> still missing. If you want, Stephen, I can work on that.

If you could work on the documentation, that'd be great! I've updated
the regression tests to include some testing of the column level
privileges. Feel free to suggest or add to them though, and if you find
anything not working as you'd expect, please let me know!

There are a few outstanding items that I can think of-

The error-reporting could be better (eg, give the specific column that
you don't have rights on, rather than just saying you don't have rights
on the relation), but I wasn't sure if people would be happy with the
change to existing error messages that would imply. Basically, rather
than getting told you don't have rights on the relation, you would be
told you don't have rights on the first column in the relation that you
don't have the necessary rights on. It's a simple change, if people are
agreeable to it. Having it give the table-level message only when there
aren't column-level privileges is possible, but makes the code rather
ugly..

Documentation, of course.

More testing, more review, etc, etc, making sure everything is working
as expected, more complex queries than what I've done to make sure
things happen correctly. Tom has me rather nervous based on his
previous comments about the rewriter/optimizer causing problems, and I
barely touched them.. I also wonder if you could use joins or something
to extract information about columns you're not supposed to have access
to, or where clauses, etc..

Anyhow, updated patch attached.

Thanks,

Stephen

Attachment Content-Type Size
colprivs_wip.2008110102.diff.gz application/octet-stream 23.5 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Stephen Frost 2008-11-02 04:13:14 Re: WIP: Column-level Privileges
Previous Message Vladimir Sitnikov 2008-11-02 02:56:23 Re: Windowing Function Patch Review -> Performance Comparison.