]> granicus.if.org Git - postgresql/commit
Add locking clause for SB views for update/delete
authorStephen Frost <sfrost@snowman.net>
Thu, 26 Feb 2015 02:36:40 +0000 (21:36 -0500)
committerStephen Frost <sfrost@snowman.net>
Thu, 26 Feb 2015 02:36:40 +0000 (21:36 -0500)
commitf16270aded0af5f3b19719bee3f67c8cc19b20aa
treeddb53a6752d8cff317bb0b11f6e35d277d7801f5
parent2164a0de2929e39ffc462eb1e19d71f93621fdf1
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.
src/backend/optimizer/prep/prepsecurity.c
src/test/regress/expected/updatable_views.out