Re: UPDATE is not allowed in a non-volatile function

Поиск
Список
Период
Сортировка
От Gaetano Mendola
Тема Re: UPDATE is not allowed in a non-volatile function
Дата
Msg-id 418A16EE.1080300@bigfoot.com
обсуждение исходный текст
Ответ на Re: UPDATE is not allowed in a non-volatile function  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Tom Lane wrote:> Thomas Hallgren <thhal@mailblocks.com> writes:>>>The Rationale for my opinion is that since there is a
needto accomplish>>what Gaetano needs, there should be declarative power to express it and>>thus, prevent "unsafe"
designs.We need a way to declare a function>>"stable with no _intrusive_ side effects".>>> What you think is
non-intrusivemay not be so at the database's level.>
 

Right, but the actual solution is far from be the good one.
If you claim that an immutable function "must not" do update because
otherwise the database could be in a inconsisten status, then we are in
trouble permitting a non-immutable function to be called by an
"immutable" one. I like see postgres stable as always was till now and
I prefer seen my code completelly broken than see someone call
a non-immutable function inside a "immutable" one and claim on this
list that he lost data.


I think a clean solution is enforce the check between functions call
( I prefer even only this one), and at the same time provide a "mutable"
attribute for tables ( a mutable table can be updated even inside an
immutable contest ).




Regards
Gaetano Mendola






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

Предыдущее
От: Yann Michel
Дата:
Сообщение: Re: Contribute to the development of PostgreSQL
Следующее
От: Simon Riggs
Дата:
Сообщение: Re: Minor TODO list changes