Re: Convert pltcl from strings to objects

Поиск
Список
Период
Сортировка
От Jim Nasby
Тема Re: Convert pltcl from strings to objects
Дата
Msg-id 56D20238.1060909@BlueTreble.com
обсуждение исходный текст
Ответ на Re: Convert pltcl from strings to objects  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Ответы Re: Convert pltcl from strings to objects  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
On 2/25/16 9:30 AM, Alvaro Herrera wrote:
> Jim Nasby wrote:
>
>>> Here we have another case. prodesc is a global thing. And it is shared
>>> between different operations. Problem was that there is no partcular
>>> owner, and we have to wait when last operation which deals with it
>>> would finish. It looks like perfect job for reference counting.
>>
>> I've just tried to wrap my head around what's going on with prodesc and
>> failed... specifically, I don't understand this claim in the comment:
>>
>> * Add the proc description block to the hashtable.  Note we do not
>> * attempt to free any previously existing prodesc block.  !!This is
>> * annoying, but necessary since there could be active calls using
>> * the old prodesc.!!
>>
>> What else could be referencing it? I realize it's stored in pltcl_proc_htab,
>> but AFAICT that's backend-local. So I don't understand what else could be
>> referencing it.
>
> Try to open a cursor that uses the function, fetch a few tuples from it;
> then change the function and fetch more rows from the cursor.  I suppose
> the open cursor could contain a reference to the function's prodesc.
>
> Refcounting the prodesc would let it live until the cursor's closed,
> then free it.

Hadn't thought about cursors; I suspect you're right about that. I 
wounder if other PLs would handle that correctly.

I'm also not sure how the reference would get decremented... via 
ResourceOwner somehow?
-- 
Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX
Experts in Analytics, Data Architecture and PostgreSQL
Data in Trouble? Get it in Treble! http://BlueTreble.com



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

Предыдущее
От: Chapman Flack
Дата:
Сообщение: Re: PostgreSQL extension API? Documentation?
Следующее
От: Jim Nasby
Дата:
Сообщение: Re: Sanity checking for ./configure options?