pgsql: RLS refactoring

Поиск
Список
Период
Сортировка
От Stephen Frost
Тема pgsql: RLS refactoring
Дата
Msg-id E1ZbwEg-0004Cx-Qq@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
RLS refactoring

This refactors rewrite/rowsecurity.c to simplify the handling of the
default deny case (reducing the number of places where we check for and
add the default deny policy from three to one) by splitting up the
retrival of the policies from the application of them.

This also allowed us to do away with the policy_id field.  A policy_name
field was added for WithCheckOption policies and is used in error
reporting, when available.

Patch by Dean Rasheed, with various mostly cosmetic changes by me.

Back-patch to 9.5 where RLS was introduced to avoid unnecessary
differences, since we're still in alpha, per discussion with Robert.

Branch
------
REL9_5_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/23a4b897f731e1a2be7fe989a34016d7a6287148

Modified Files
--------------
src/backend/commands/policy.c                      |   41 -
src/backend/executor/execMain.c                    |   20 +-
src/backend/nodes/copyfuncs.c                      |    1 +
src/backend/nodes/equalfuncs.c                     |    1 +
src/backend/nodes/outfuncs.c                       |    1 +
src/backend/nodes/readfuncs.c                      |    1 +
src/backend/rewrite/rewriteHandler.c               |    5 +-
src/backend/rewrite/rowsecurity.c                  |  816 ++++++++++----------
src/backend/utils/cache/relcache.c                 |    2 -
src/include/nodes/parsenodes.h                     |    1 +
src/include/rewrite/rowsecurity.h                  |    3 +-
.../test_rls_hooks/expected/test_rls_hooks.out     |   10 +-
src/test/modules/test_rls_hooks/test_rls_hooks.c   |    2 -
13 files changed, 447 insertions(+), 457 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: pgsql: Fix whitespace
Следующее
От: Stephen Frost
Дата:
Сообщение: pgsql: Enforce ALL/SELECT policies in RETURNING for RLS