pgsql: Add locking clause for SB views for update/delete

From: Stephen Frost <sfrost(at)snowman(dot)net>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Add locking clause for SB views for update/delete
Date: 2015-02-26 02:36:50
Message-ID: E1YQoJm-0005wJ-RF@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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
------
REL9_4_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/f16270aded0af5f3b19719bee3f67c8cc19b20aa

Modified Files
--------------
src/backend/optimizer/prep/prepsecurity.c | 35 +++-
src/test/regress/expected/updatable_views.out | 264 +++++++++++++------------
2 files changed, 170 insertions(+), 129 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Stephen Frost 2015-02-26 04:36:28 pgsql: Add hasRowSecurity to copyfuncs/outfuncs
Previous Message Tom Lane 2015-02-25 19:19:19 pgsql: Fix over-optimistic caching in fetch_array_arg_replace_nulls().