* Adam Guthrie (asguthrie@xxxxxxxxx) wrote: > On 24 February 2016 at 20:27, Stephen Frost <sfrost@xxxxxxxxxxx> wrote: > > Yeah, looks like a bug to me. My gut reaction is that we're pulling up > > a subquery in a way that isn't possible and that plan shouldn't be > > getting built/considered. > > Thanks - shall I go ahead and submit a bug report? Sure. > > As a work-around, until we fix it, you could create an sql function to > > check for the existance of the id in 'a' and use that in the policy > > definition. > > I've also discovered that using the following policy instead > > CREATE POLICY a_select ON b FOR SELECT > USING ( a_id IN (SELECT id FROM a) ); > > also seems to work around the issue. Yes, that also works, but it could get painful if 'a' gets large. An SQL function like: select exists (select * from a where a.id = $1); Would still use an indexed lookup against 'a'. Thanks! Stephen
Attachment:
signature.asc
Description: Digital signature