> On 1 June 2018 at 17:53, Tom Lane <t...@sss.pgh.pa.us> wrote: > Ashutosh Bapat <ashutosh.ba...@enterprisedb.com> writes: >> I think the patch is right if we were to handle only SQLValueFunction, >> but the bigger picture here is that we aren't evaluating stable >> functions before run-time partition pruning happens. > > I agree though that it seems strange to special-case SQLValueFunction > rather than any-stable-expression. As long as the evaluation happens > at executor start (i.e. with the query's run-time snapshot) it should > be reasonable to simplify any stable expression.
Just to clarify for myself, for evaluating any stable function here would it be enough to handle all function-like expressions (FuncExpr / OpExpr / DistinctExpr / NullIfExpr) and check a corresponding function for provolatile, like in the attached patch?
partpruning_stable_func.patch
Description: Binary data