Re: plans for PostgreSQL 12 - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Re: plans for PostgreSQL 12
Date
Msg-id 58d491d2-6a68-4636-6cc2-2d5d6b30d555@iki.fi
Whole thread Raw
In response to Re: plans for PostgreSQL 12  (Pavel Stehule <pavel.stehule@gmail.com>)
Responses Re: plans for PostgreSQL 12
List pgsql-hackers
On 04/06/18 09:12, Pavel Stehule wrote:
> 2018-06-04 8:35 GMT+02:00 Simon Riggs <simon@2ndquadrant.com>:
>>
>> Sounds good. I think this would need to be restricted by operator and
>> datatype, since in general you won't know if the datatype functions
>> need a snapshot or not. Immutable functions for the operators ought to
>> do it, but I think that might not be enough.
> 
> It requires introduction of new "safe" functions (& operators). Immutable
> functions are not enough safe.
> 
> CREATE OR REPLACE FUNCTION public.fx()
>   RETURNS integer
>   LANGUAGE plpgsql
>   IMMUTABLE
> AS $function$
> BEGIN
>    RETURN (SELECT count(*) FROM pg_class);
> END;
> $function$
> 
> postgres=# SELECT fx();
> ┌─────┐
> │ fx  │
> ╞═════╡
> │ 343 │
> └─────┘
> (1 row)

That function is incorrectly marked as IMMUTABLE. In that situation, 
it's enough that we throw a sane error like "ERROR: no snapshot available".

- Heikki


pgsql-hackers by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: plans for PostgreSQL 12
Next
From: Pavel Stehule
Date:
Subject: Re: plans for PostgreSQL 12