pgsql: Use a bitmask to represent role attributes - Mailing list pgsql-committers

From Alvaro Herrera
Subject pgsql: Use a bitmask to represent role attributes
Date
Msg-id E1Y3PQG-0006Hc-Ff@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Use a bitmask to represent role attributes

The previous representation using a boolean column for each attribute
would not scale as well as we want to add further attributes.

Extra auxilliary functions are added to go along with this change, to
make up for the lost convenience of access of the old representation.

Catalog version bumped due to change in catalogs and the new functions.

Author: Adam Brightwell, minor tweaks by Álvaro
Reviewed by: Stephen Frost, Andres Freund, Álvaro Herrera

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/1826987a46d079458007b7b6bbcbbd852353adbb

Modified Files
--------------
doc/src/sgml/catalogs.sgml                     |  127 ++++++++----
doc/src/sgml/func.sgml                         |  127 ++++++++++++
src/backend/access/transam/xlogfuncs.c         |    5 +-
src/backend/catalog/Catalog.pm                 |    2 +-
src/backend/catalog/Makefile                   |    2 +-
src/backend/catalog/aclchk.c                   |  125 ++++++------
src/backend/catalog/genbki.pl                  |    3 +
src/backend/catalog/information_schema.sql     |    7 +-
src/backend/catalog/objectaddress.c            |    2 +-
src/backend/catalog/system_views.sql           |   28 +--
src/backend/commands/dbcommands.c              |   27 +--
src/backend/commands/user.c                    |  244 ++++++++++++++----------
src/backend/commands/variable.c                |    8 +-
src/backend/replication/logical/logicalfuncs.c |   16 +-
src/backend/replication/slotfuncs.c            |    3 +-
src/backend/rewrite/rowsecurity.c              |    2 +-
src/backend/utils/adt/acl.c                    |  200 +++++++++++++++++--
src/backend/utils/adt/ri_triggers.c            |    2 +-
src/backend/utils/init/miscinit.c              |   23 +--
src/backend/utils/init/postinit.c              |    2 +-
src/backend/utils/misc/superuser.c             |    4 +-
src/bin/pg_dump/pg_dumpall.c                   |   14 +-
src/include/catalog/acldefs.h                  |   72 +++++++
src/include/catalog/catversion.h               |    2 +-
src/include/catalog/pg_authid.h                |   34 ++--
src/include/catalog/pg_proc.h                  |   13 ++
src/include/nodes/parsenodes.h                 |   28 +--
src/include/utils/acl.h                        |   14 +-
src/include/utils/builtins.h                   |    6 +
src/test/regress/expected/rules.out            |   28 +--
30 files changed, 798 insertions(+), 372 deletions(-)


pgsql-committers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: pgsql: get_object_address: separate domain constraints from table const
Next
From: Alvaro Herrera
Date:
Subject: pgsql: Add SQL-callable pg_get_object_address