pgsql: Add locking clause for SB views for update/delete - Mailing list pgsql-committers

From Stephen Frost
Subject pgsql: Add locking clause for SB views for update/delete
Date
Msg-id E1YQoJm-0005wI-R9@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Add locking clause for SB views for update/delete

In expand_security_qual(), we were handling locking correctly when a
PlanRowMark existed, but not when we were working with the target
relation (which doesn't have any PlanRowMarks, but the subquery created
for the security barrier quals still needs to lock the rows under it).

Noted by Etsuro Fujita when working with the Postgres FDW, which wasn't
properly issuing a SELECT ... FOR UPDATE to the remote side under a
DELETE.

Back-patch to 9.4 where updatable security barrier views were
introduced.

Per discussion with Etsuro and Dean Rasheed.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/6f9bd50eabb0a4960e94c83dac8855771c9f340d

Modified Files
--------------
src/backend/optimizer/prep/prepsecurity.c     |   35 +++-
src/test/regress/expected/rowsecurity.out     |   64 +++---
src/test/regress/expected/updatable_views.out |  264 +++++++++++++------------
3 files changed, 206 insertions(+), 157 deletions(-)


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: pgsql: Fix over-optimistic caching in fetch_array_arg_replace_nulls().
Next
From: Stephen Frost
Date:
Subject: pgsql: Add locking clause for SB views for update/delete