Re: why does plperl cache functions using just a bool for is_trigger

Поиск
Список
Период
Сортировка
От Andrew Dunstan
Тема Re: why does plperl cache functions using just a bool for is_trigger
Дата
Msg-id 4CC4BBB9.4050702@dunslane.net
обсуждение исходный текст
Ответ на Re: why does plperl cache functions using just a bool for is_trigger  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: why does plperl cache functions using just a bool for is_trigger  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers

On 10/24/2010 06:44 PM, Tom Lane wrote:
> Jan Urbański<wulczer@wulczer.org>  writes:
>> I see that plperl uses a triple of (function oid, is_trigger flag, user
>> id) as a hash key for caching compiled functions. OTOH pltcl and plpgsql
>> both use (oid, trigger relation oid, user id). Is there any reason why
>> just using a bool as plperl does would be wrong?
> plpgsql needs to consider the trigger relation OID because datatypes of
> the trigger relation's columns will make their way into cached plans
> for the function.  The same function, if applied as a trigger on two
> different rels, could therefore have different cached plans so it needs
> two separate cache entries.
>
> In PLs where this kind of dependency isn't possible, there's no need for
> separate function cache entries.
>
> I'm not certain that plperl is actually correct to do it that way,
> but that's the basic idea.

Why do we need the is_trigger flag at all for the plperl hash key? At 
first glance it strikes me as unnecessary.

cheers

andrew


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Range Types, discrete and/or continuous
Следующее
От: Greg Stark
Дата:
Сообщение: Re: ask for review of MERGE