From: | Stephen Frost <sfrost(at)snowman(dot)net> |
---|---|
To: | Etsuro Fujita <fujita(dot)etsuro(at)lab(dot)ntt(dot)co(dot)jp> |
Cc: | Dean Rasheed <dean(dot)a(dot)rasheed(at)gmail(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, "pgsql-hackers(at)postgresql(dot)org >> PostgreSQL-development" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Odd behavior of updatable security barrier views on foreign tables |
Date: | 2015-02-10 19:06:43 |
Message-ID: | 20150210190643.GL3854@tamriel.snowman.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Etsuro,
* Etsuro Fujita (fujita(dot)etsuro(at)lab(dot)ntt(dot)co(dot)jp) wrote:
> On 2015/02/10 7:23, Dean Rasheed wrote:
> >Sorry, I didn't have time to look at this properly. My initial thought
> >is that expand_security_qual() needs to request a lock on rows coming
> >from the relation it pushes down into a subquery if that relation was
> >the result relation, because otherwise it won't have any locks, since
> >preprocess_rowmarks() only adds PlanRowMarks to non-target relations.
>
> That seems close to what I had in mind; expand_security_qual() needs
> to request a FOR UPDATE lock on rows coming from the relation it
> pushes down into a subquery only when that relation is the result
> relation and *foreign table*.
I had been trying to work out an FDW-specific way to address this, but I
think Dean's right that this should be addressed in
expand_security_qual(), which means it'll apply to all cases and not
just these FDW calls. I don't think that's actually an issue though and
it'll match up to how SELECT FOR UPDATE is handled today.
Thanks!
Stephen
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2015-02-10 20:00:35 | Manipulating complex types as non-contiguous structures in-memory |
Previous Message | Stephen Frost | 2015-02-10 19:05:29 | Re: Odd behavior of updatable security barrier views on foreign tables |