Re: Performance problem in textanycat/anytextcat

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Performance problem in textanycat/anytextcat
Дата
Msg-id 5177.1274036340@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Performance problem in textanycat/anytextcat  (Robert Haas <robertmhaas@gmail.com>)
Ответы Re: Performance problem in textanycat/anytextcat  (Robert Haas <robertmhaas@gmail.com>)
Список pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes:
> On Sun, May 16, 2010 at 1:11 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> No, only the ones that are built on top of other functions that aren't
>> immutable.

> Built on top of?  I don't get it.  It seems like anything of the form
> immutablefunction(volatilefunction()) is vulnerable to this,

Uh, no, you misunderstand completely.  The problematic case is where the
function's own expansion contains a non-immutable function.  In
particular, what we have for these functions is that textanycat(a,b)
expands to a || b::text, and depending on what the type of b is, the
cast from that to text might not be immutable.  This is entirely
independent of whether the argument expressions are volatile or not.
Rather, the problem is that inlining the function definition could
by itself increase the expression's apparent volatility.  (Decreasing
the volatility is not problematic.  Increasing it is.)
        regards, tom lane


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

Предыдущее
От: Jaime Casanova
Дата:
Сообщение: Re: Performance problem in textanycat/anytextcat
Следующее
От: Robert Haas
Дата:
Сообщение: Re: Performance problem in textanycat/anytextcat