On 05/04/2017 05:03 PM, Craig Ringer wrote:
> On 5 May 2017 02:52, "Tom Lane" wrote:
>     I haven't been keeping close tabs either, but surely we still have
>     to have
>     the optimization fence in (at least) all these cases:
> 
>     * CTE contains INSERT/UPDATE/DELETE
>     * CTE contains SELECT FOR UPDATE/SHARE (else the set of rows that get
>       locked might change)
>     * CTE contains volatile functions
> 
>     I'm willing to write off cases where, eg, a function should have been
>     marked volatile and was not.  That's user error and there are plenty
>     of hazards of that kind already.  But if the optimizer has reason
>     to know that discarding the fence might change any query side-effects,
>     it mustn't.
> 
> I think everyone is in total agreement there. 

That's great, but if so, why do we need any change in syntax at all?

Joe

-- 
Crunchy Data - http://crunchydata.com
PostgreSQL Support for Secure Enterprises
Consulting, Training, & Open Source Development

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to