Re: Status of plperl inter-sp calling

Поиск
Список
Период
Сортировка
От Tim Bunce
Тема Re: Status of plperl inter-sp calling
Дата
Msg-id 20100106084434.GL2505@timac.local
обсуждение исходный текст
Ответ на Re: Status of plperl inter-sp calling  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Status of plperl inter-sp calling  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
On Tue, Jan 05, 2010 at 06:54:36PM -0500, Tom Lane wrote:
> Tim Bunce <Tim.Bunce@pobox.com> writes:
> > On Thu, Dec 31, 2009 at 09:47:24AM -0800, David E. Wheeler wrote:
> >> Definite benefit, there. How does it handle the difference between
> >> IMMUTABLE | STABLE | VOLATILE, as well as STRICT functions?
> 
> > It doesn't at the moment. I think IMMUTABLE, STABLE and VOLATILE can be
> > (documented as being) ignored in this context.
> 
> Just for the record, I think that would be a seriously bad idea.
> There is a semantic difference there (having to do with snapshot
> management), and ignoring it would mean that a function could behave
> subtly differently depending on how it was called.  It's the kind of
> thing that would be a nightmare to debug, too, because you'd never
> see a problem except when the right sort of race condition occurred
> with another transaction.
> 
> I see downthread that you seem to have an approach without this gotcha,
> so that's fine, but I wanted to make it clear that you can't just ignore
> volatility.

Ok, thanks Tom.

For my own benefit, being a PostgreSQL novice, could you expand a little?
For example, given two stored procedures, A and V, where V is marked
VOLATILE and both are plperl. How would having A call V directly, within
the plperl interpreter, cause problems?

Tim.


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

Предыдущее
От: Boszormenyi Zoltan
Дата:
Сообщение: Re: ecpg compile error
Следующее
От: Craig Ringer
Дата:
Сообщение: Re: libpq naming on Win64