Re: IMMUTABLE and PARALLEL SAFE function markings

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: IMMUTABLE and PARALLEL SAFE function markings
Дата
Msg-id 29696.1543279213@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: IMMUTABLE and PARALLEL SAFE function markings  (Vik Fearing <vik.fearing@2ndquadrant.com>)
Ответы Re: IMMUTABLE and PARALLEL SAFE function markings  (Vik Fearing <vik.fearing@2ndquadrant.com>)
Re: IMMUTABLE and PARALLEL SAFE function markings  (Andrew Gierth <andrew@tao11.riddles.org.uk>)
Список pgsql-hackers
Vik Fearing <vik.fearing@2ndquadrant.com> writes:
> On 27/11/2018 01:13, Stephen Frost wrote:
>> Parallel safe functions should be marked as such.  Immutable functions
>> should be marked as such.  We should not assume that one implies the
>> other, nor should we operate as if they do.

> Yes we should!  Unless you can produce a case where an immutable
> function is not parallel safe.

As far as that goes, I agree with the idea of adding an oprsanity test
that shows any built-in functions that are immutable but not parallel
safe, on the grounds Stephen mentioned: it's probably a mistake, and
if it isn't, we can add that function to the expected output.

I'm way less inclined to buy into the idea that it MUST be wrong, though.
Immutability is a promise about result stability and lack of side effects,
but it is not a promise about implementation details.  There could be an
implementation reason not to run something in a parallel worker.  Off the
top of my head, a possible example is "it's written in plfoo which hasn't
yet been made to work correctly in parallel workers".

            regards, tom lane


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Stephen Frost
Дата:
Сообщение: Re: IMMUTABLE and PARALLEL SAFE function markings
Следующее
От: Andres Freund
Дата:
Сообщение: Re: pg_config wrongly marked as not parallel safe?