On 07-01-2015 AM 08:33, Jim Nasby wrote:
> On 1/6/15, 1:00 AM, Ashutosh Bapat wrote:
>>
>> Even checking whether the output of the function is in the right order
>> or not, has its cost. I am suggesting that we can eliminate this cost
>> as well. For example, PostgreSQL does not check whether a function is
>> really immutable or not.
> 
> Actually, it does:
> 
> select test();
> ERROR:  UPDATE is not allowed in a non-volatile function
> CONTEXT:  SQL statement "UPDATE i SET i=i+1"
>     PL/pgSQL function test() line 3 at SQL statement
> STATEMENT:  select test();
> ERROR:  UPDATE is not allowed in a non-volatile function
> CONTEXT:  SQL statement "UPDATE i SET i=i+1"
> PL/pgSQL function test() line 3 at SQL statement
> 

I think Ashutosh's point is that there is no dedicated executor node to
perform this check. ISTM, the above error is raised during planning
itself as part of the initialization of state for a function.

Thanks,
Amit



-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to