> "you seem to be imagining that changes in a query's plan on the basis of 
> changes
> in collected statistics have something to do with this. They do not."
1. My understanding of the above paragraph is that for the same view and 
different users, the proleakproof=false attribute of the function will not lead 
to inconsistent plans, but my actual test result is that proleakproof=false 
will lead to inconsistent plans。
2. What's the reason about the function timestamp_gt_timestampz may cause data 
leakage? Can you explain how it causes data leakage?
------------------------------------------------------------------
发件人:Laurenz Albe <laurenz.a...@cybertec.at>
发送时间:2022年10月17日(星期一) 15:20
收件人:qiumingcheng <qiumingch...@aliyun.com>; Tom Lane <t...@sss.pgh.pa.us>
抄 送:Julien Rouhaud <rjuju...@gmail.com>; pgsql-general 
<pgsql-general@lists.postgresql.org>
主 题:Re: 回复:回复:A question about leakproof
On Mon, 2022-10-17 at 13:17 +0800, qiumingcheng wrote:
> > you seem to be imagining that changes in a query's plan on the basis of 
> > changes
> > in collected statistics have something to do with this. They do not.
>
> Sorry, I may not fully understand what you mean. I mean that after my tests,
> the execution results of this SQL (explain select * from tb_a_date_v1) 
> execution plan
> are different under different users, which is really related to the parameter 
> proleakproof.
That's the idea behind leakproof: if a function is not leakproof, the optimizer
will not move it "inside" the view definition. Then the function is evaluated 
only
after the view definition. That may very well lead to a slower execution plan,
because it cannot use certain indexes on the underlying tables.
It is the price you have to pay for good security.
Yours,
Laurenz Albe

Reply via email to