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
|
Список | 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 по дате отправления: