Robert Haas <robertmh...@gmail.com> writes: > On Mon, Nov 26, 2018 at 8:49 PM Andrew Gierth > <and...@tao11.riddles.org.uk> wrote: >> I'm a bit more concerned by the fact that inlining the function isn't >> affecting the parallel safety of the query - the fact that parallel >> safety is being checked prior to inlining means that if inlining >> *introduces* a parallel hazard, it will go unnoticed?
> If a function is marked parallel-safe but internally calls > parallel-restricted or parallel-unsafe functions, it wasn't really > parallel-safe in the first place. So I think that if inlining > introduces a parallel hazard, the user has mislabeled some functions > and any resulting injury is self-inflicted. Hm. We intentionally allow SQL functions to be marked as less mutable than their internals, because sometimes that's useful for tricking the planner. However, IIRC we don't inline when we see that's the case. Maybe there needs to be a similar restriction for parallelism markings. Alternatively, could we postpone the parallelism checks till after function inlining? Do we even make any before that? regards, tom lane