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
Description: OpenPGP digital signature