SRF patch (was Re: [HACKERS] troubleshooting pointers)

Поиск
Список
Период
Сортировка
От Joe Conway
Тема SRF patch (was Re: [HACKERS] troubleshooting pointers)
Дата
Msg-id 3CDC77B7.3000807@joeconway.com
обсуждение исходный текст
Ответы Re: SRF patch (was Re: [HACKERS] troubleshooting pointers)  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-patches
Tom Lane wrote:
> Um.  I don't like that; it assumes not only that ExecutorEnd is the only
> kind of callback needed, but also that there is at most one function
> per ExprContext that needs a shutdown callback.  Neither of these
> assumptions hold water IMO.
>
> The design I had in mind was more like this: add to ExprContext a list
> header field pointing to a list of structs along the lines of
>
>     struct exprcontext_callback {
>         struct exprcontext_callback *next;
>         void (*function) (Datum);
>         Datum arg;
>     }
>
> and then call each specified function with given argument during
> FreeExprContext.  Probably ought to be careful to do that in reverse
> order of registration.  We'd also need to invent a RescanExprContext
> operation to call the callbacks during a Rescan.  The use of Datum
> (and not, say, void *) as PG's standard callback arg type was settled on
> some time ago --- originally for on_proc_exit IIRC --- and seems to have
> worked well enough.

Here's the patch, per my post to HACKERS.

It builds cleanly on my dev box, and passes all regression tests.

Thanks,

Joe


Вложения

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

Предыдущее
От: sugita@sra.co.jp
Дата:
Сообщение: getopt_long patch for pg_dump and psql
Следующее
От: "Rod Taylor"
Дата:
Сообщение: Re: pg_depend patch