Re: [BUGS] Patch to allow C extension modules to initialize/finish

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: [BUGS] Patch to allow C extension modules to initialize/finish
Дата
Msg-id 26529.1154640648@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Patch to allow C extension modules to initialize/finish  ("Ralf S. Engelschall" <rse@engelschall.com>)
Ответы Re: [BUGS] Patch to allow C extension modules to initialize/finish
Re: [BUGS] Patch to allow C extension modules to initialize/finish
Список pgsql-hackers
"Ralf S. Engelschall" <rse@engelschall.com> writes:
> Hence I propose the patch below (applies to PostgreSQL 8.1.4) which
> mimics the dlopen(3) and dlclose(3) behaviour of some Unix platforms
> and resolves and calls _PG_init and _PG_fini functions of an extension
> module right after/before the pg_dlopen/pg_dlclose calls in the FMGR.

This seems like a reasonably good idea, and we have got uses for at
least the "init" case in most or all of our PLs.  It's nominally too
late for 8.2 feature freeze, but I said just a couple days ago that
we shouldn't take a very hard line on that.  Does anyone object to
considering this for 8.2?

One question I have is whether it really works as expected in all cases.
In particular what if the library is "preloaded" into the postmaster?
Both plpgsql and plperl seem to think they might need to make a
distinction between things to do at library load time and things to do
per-backend ... and yet, neither of them *actually* have anything they
need to do per-backend.

Also, what about Windows?  I assume that DSOs don't remain attached
across the pseudo-fork/exec, will that mess anything up?
        regards, tom lane


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: [PATCHES] tg_trigtuple/tg_newtuple settings in AFTER triggers
Следующее
От: Ron Mayer
Дата:
Сообщение: Re: O_NOATIME