Re: Improving RLS planning

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Dean Rasheed <dean(dot)a(dot)rasheed(at)gmail(dot)com>
Cc: Stephen Frost <sfrost(at)snowman(dot)net>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Improving RLS planning
Date: 2016-12-29 15:55:54
Message-ID: 26203.1483026954@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Dean Rasheed <dean(dot)a(dot)rasheed(at)gmail(dot)com> writes:
> On 28 December 2016 at 19:12, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> [ getting back to this patch finally... ] I made the suggested change
>> to that test case, and what I see is a whole lot of "NOTICE: snooped value
>> = whatever" outputs.
>>
>> I'd leave it as shown in the attached diff fragment, except that I'm
>> a bit worried about possible platform dependency of the output. The
>> hashing occurring in the subplans shouldn't affect output order, but
>> I'm not sure if we want a test output like this or not. Thoughts?

> How about replacing "a = 3" with "a < 7 AND a != 6". That then
> exercises more of the possible types of behaviour for quals: The "a <
> 7" qual is pushed down and used as an index condition. The "a != 6"
> qual is pushed down and used as a filter, because it's cheap and
> leakproof. The leakproof() qual isn't pushed down on cost grounds. The
> snoop() qual isn't pushed down on security grounds. Both snoop() and
> leakproof() are used as filters, along with "a != 6", and a SB subplan
> qual. "a != 6" is executed first because it has a security_level of 0,
> and is cheaper than the subplan. snoop() is executed later, despite
> being cheaper than the other filter quals, because it has a higher
> security_level, and leakproof() is executed last because it has the
> same security level as snoop() but is more expensive.

Will do, although I think that the next test case (the one with "a = 8")
already shows most of those behaviors.

Maybe this one's just redundant and we should drop it?

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Eisentraut 2016-12-29 15:57:27 Re: make more use of RoleSpec struct
Previous Message Joe Conway 2016-12-29 15:47:28 Re: Compiler warnings