Re: Adding callback support.
От | Alvaro Herrera |
---|---|
Тема | Re: Adding callback support. |
Дата | |
Msg-id | 20050511213217.GA15877@dcc.uchile.cl обсуждение исходный текст |
Ответ на | Adding callback support. (Nicolai Petri <lists@petri.cc>) |
Список | pgsql-hackers |
On Tue, May 10, 2005 at 09:36:59AM +0200, Nicolai Petri wrote: > I'm currently building some stored procedures in C that uses some internal > hash tables - It could be really nice to be able to deallocate those > correctly when e.g. a memctx is destroyed. Would it be possible to add this > as a postgresql feature and how should it be done. Why don't you just create the hash table inside a context that has the right longevity? For example, TopTransactionContext. So at transaction end the hash table is automatically freed. > I also have some other tasks where I would like to do specific actions when a > transaction completes or aborts. This could be used for maintaining a > pgmemcache correctly and many other cases. Could this be combined with the > above feature so a generic callback framework was added ? Hmm, is there anything the following functions don't do for you: extern void RegisterXactCallback(XactCallback callback, void *arg); extern void UnregisterXactCallback(XactCallback callback, void *arg); extern void RegisterSubXactCallback(SubXactCallback callback, void *arg); extern void UnregisterSubXactCallback(SubXactCallback callback, void *arg); See src/backend/access/transam/xact.c -- Alvaro Herrera (<alvherre[@]dcc.uchile.cl>) "Ni aun el genio muy grande llegaría muy lejos si tuviera que sacarlo todo de su propio interior" (Goethe)
В списке pgsql-hackers по дате отправления: