Re: [COMMITTERS] pgsql: Use a bitmask to represent role attributes

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Stephen Frost <sfrost(at)snowman(dot)net>, Robert Haas <robertmhaas(at)gmail(dot)com>, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [COMMITTERS] pgsql: Use a bitmask to represent role attributes
Date: 2014-12-23 17:06:33
Message-ID: 20141223170633.GA29601@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

On Tue, Dec 23, 2014 at 11:34:09AM -0500, Tom Lane wrote:
> Stephen Frost <sfrost(at)snowman(dot)net> writes:
> > If that's the only consideration for this, well, that's certainly quite
> > straight-forward to change in the other direction too. The new function
> > suggested by Andres actually makes it really easy to get a textual list
> > of all the role attributes which a role has from the bitmask too.
>
> We could have that regardless of the representation, if the function is
> defined along the lines of "given a user OID, give me a text string
> representing the user's attributes". However, that only helps for
> pg_dumpall and any other clients whose requirement is exactly satisfied
> by a string that fits into CREATE/ALTER USER. The current formatting
> of psql's \du, for example, absolutely requires adding more client-side
> code every time we add a property; whether the catalog representation is
> bools or a bitmask really isn't going to change the pain level much there.

I am with Tom on this --- there is more wasted space in the 'name'
column pg_authid.rolname than by shoving 40 boolean values into a
bitmap. Adding the complexity of a bitmap doesn't make sense here. I
also apologize for the late feedback.

Offtopic, what I would really _love_ to see improved is our display of
object permissions:

Access privileges
Schema | Name | Type | Access privileges | Column privileges | Policies
--------+--------+-------+---------------------------+-------------------+----------
public | crypto | table | postgres=arwdDxt/postgres+| |
| | | =r/postgres | |

That is nasty user display --- it looks like line noise.

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ Everyone has their own god. +

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message José Luis Tallón 2014-12-23 17:45:26 Re: [COMMITTERS] pgsql: Use a bitmask to represent role attributes
Previous Message Tom Lane 2014-12-23 16:34:09 Re: [COMMITTERS] pgsql: Use a bitmask to represent role attributes

Browse pgsql-hackers by date

  From Date Subject
Next Message José Luis Tallón 2014-12-23 17:34:08 Re: Proposal: two new role attributes and/or capabilities?
Previous Message Mike Blackwell 2014-12-23 16:50:40 Re: [PATCH] explain sortorder