Markus, * Markus Wanner ([EMAIL PROTECTED]) 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
colprivs_wip.2008110102.diff.gz
Description: Binary data
signature.asc
Description: Digital signature