Re: Functions Immutable but not parallel safe?

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: David Rowley <david(dot)rowley(at)2ndquadrant(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Functions Immutable but not parallel safe?
Date: 2016-11-24 23:13:22
Message-ID: CA+TgmoZntCXrL21xhMk9vbKaccVrCUNcnrWjXQqmmGvm=yJN7g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Nov 24, 2016 at 5:29 AM, David Rowley
<david(dot)rowley(at)2ndquadrant(dot)com> wrote:
> There's 11 functions which are marked immutable, but are marked as
> parallel unsafe.
>
> postgres=# select proname from pg_proc where provolatile = 'i' and
> proparallel = 'u';
> proname
> -----------------------------
> _pg_expandarray
> _pg_keysequal
> _pg_truetypid
> _pg_truetypmod
> _pg_char_max_length
> _pg_char_octet_length
> _pg_numeric_precision
> _pg_numeric_precision_radix
> _pg_numeric_scale
> _pg_datetime_precision
> _pg_interval_type
> (11 rows)
>
> I'm finding hard to imagine a reason why these might be unsafe, but
> failed. I do notice they're all only used in information_schema.
>
> Could it just perhaps be that these just missed the verification
> process the other functions went through to determine their parallel
> safety?

Yes, I think that's it. I went through pg_proc.h, but never looked at
information_schema.sql.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andreas Karlsson 2016-11-24 23:15:34 Re: Broken SSL tests in master
Previous Message Robert Haas 2016-11-24 23:03:01 Re: UNDO and in-place update