Re: New patch for Column-level privileges

From: Stephen Frost <sfrost(at)snowman(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: KaiGai Kohei <kaigai(at)ak(dot)jp(dot)nec(dot)com>, Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec>, Markus Wanner <markus(at)bluegap(dot)ch>, Alex Hunsaker <badalex(at)gmail(dot)com>, PostgreSQL-development Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: New patch for Column-level privileges
Date: 2009-01-13 14:01:22
Message-ID: 20090113140122.GA4656@tamriel.snowman.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Tom, er al,

* Tom Lane (tgl(at)sss(dot)pgh(dot)pa(dot)us) wrote:
> I'm thinking make_var is not the place to do this. The places that are
> supposed to be taking care of permissions are the ones that do this:
>
> /* Require read access --- see comments in setTargetTable() */
> rte->requiredPerms |= ACL_SELECT;

Argh. That's what I had started out with, but I couldn't figure out how
to handle the JOIN case. I'm a bit mystified by what KaiGai found
though and havn't had a chance to look at it yet, but I thought I had
tested the JOIN cases and I had added them to the regression tests.
Guess I missed something.

> It's possible that we've missed some --- in particular, right at the
> moment I am not sure that whole-row Vars are handled properly.

I added specific regression test for whole-row Vars, so I'd be concerned
if something isn't working there.

> And maybe we could refactor a little bit to save some code.
> But those are basically the same places that ought to be adding
> bits to the column bitmaps.

I tend to agree, provided we can handle JOIN clauses sanely at those
places. I'll try and look at KaiGai's patch today and provide feedback.

Thanks,

Stephen

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Eisentraut 2009-01-13 14:20:15 Re: per-database locale: createdb switches
Previous Message Emanuel Calvo Franco 2009-01-13 13:33:58 Re: solaris libpq threaded build fails