Re: Extensions User Design

Поиск
Список
Период
Сортировка
От Dimitri Fontaine
Тема Re: Extensions User Design
Дата
Msg-id 87ljn8zrme.fsf@hi-media-techno.com
обсуждение исходный текст
Ответ на Re: Extensions User Design  (Josh Berkus <josh@agliodbs.com>)
Ответы Re: Extensions User Design  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Hi,

While backporting UUID stuff to 8.2 where I'll need it (I wish I could
have more impact on PostgreSQL upgrade schedules... who doesn't), I
faced a problem I didn't foresee, and that we maybe should think about.
 http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/backports/

The idea in this backport is to have UUID as an extension to 8.2, which
was plain easy to do once you remember about adding the
PG_FUNCTION_INFO_V1() macro calls where they fit. Then there's the
uuid-ossp contrib stuff, already packaged as an extension, but with code
dependancy to the UUID provided functions (uuid_in, uuid_out).

What I ended up doing was duplicating code in order not to have to tweak
local_preload_libraries, so that uuid-ossp.so is self-contained.

Any advice or missing knowledge about loading modules which depends on
code from another module not already loaded in the backend is welcome :)

Josh Berkus <josh@agliodbs.com> writes:
>>   - dependancy graph solving and automatic installation, with depends,
>>     recommends and suggest sections and with rules/setup to choose what to
>>     pull in by default...
>
> Uh-huh.  That'll be the day ...

So it seems we will have to teach the extension facility about loading
dependant extensions first when calling a function, which I guess we can
do as soon as we have the dependancies information in there?

(calling a function from 'MODULE_PATHNAME' will have the .so loaded, soI guess than knowing it depends on another
'MODULE_PATHNAME'willenable us to load those first)
 

Regards,
-- 
dim


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

Предыдущее
От: Simon Riggs
Дата:
Сообщение: Re: 8.5 development schedule
Следующее
От: Simon Riggs
Дата:
Сообщение: Re: 8.5 development schedule