Re: Enables to call Unregister*XactCallback() in Call*XactCallback()

Поиск
Список
Период
Сортировка
Искать
От
Andres Freund
Тема
Re: Enables to call Unregister*XactCallback() in Call*XactCallback()
Дата
Msg-id
20220403163923.zeyslujq6q4aik7u@alap3.anarazel.de
Ответ на
Список
Дерево обсуждения
Enables to call Unregister*XactCallback() in Call*XactCallback() Hao Wu <gfphoenix78@gmail.com>
Re: Enables to call Unregister*XactCallback() in Call*XactCallback() Andres Freund <andres@anarazel.de>
Re: Enables to call Unregister*XactCallback() in Call*XactCallback() Tom Lane <tgl@sss.pgh.pa.us>
Re: Enables to call Unregister*XactCallback() in Call*XactCallback() Nathan Bossart <nathandbossart@gmail.com>
Re: Enables to call Unregister*XactCallback() in Call*XactCallback() Tom Lane <tgl@sss.pgh.pa.us>
Re: Enables to call Unregister*XactCallback() in Call*XactCallback() Hao Wu <gfphoenix78@gmail.com>
Hi,

On 2022-03-29 14:48:54 +0800, Hao Wu wrote:
> It's a natural requirement to unregister the callback for transaction or
> subtransaction when the callback is invoked, so we don't have to
> unregister the callback somewhere.

You normally shouldn'd need to do this frequently - what's your use case?
UnregisterXactCallback() is O(N), so workloads registering / unregistering a
lot of callbacks would be problematic.

> Luckily, we just need a few lines of code to support this feature,
> by saving the next pointer before calling the callback.

That seems reasonable...

Greetings,

Andres Freund


В списке pgsql-hackers по дате отправления
От: Andres Freund
Дата:
Сообщение: Re: A qsort template
От: Joseph Koshakow
Дата:
FAQ