Re: PLUGINS Functionlity in Win32 build scripts

From: MUHAMMAD ASIF <anaeem(dot)it(at)hotmail(dot)com>
To: <robertmhaas(at)gmail(dot)com>
Cc: <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: PLUGINS Functionlity in Win32 build scripts
Date: 2008-12-17 19:24:46
Message-ID: BLU110-W58D4159FA3D47C143C5B7CFFF20@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


Purpose of this Plugins change is to add support in postgresql source to build plugin and install in (install dir)/lib/plugins. We made these changes for a plugin module i.e. pldebugger and we found this a useful feature that can help postgresql in adding plugins easily.
Attached file (foo.zip) is a test contrib module code that can be used to test PLUGINS logic ( patches.zip patch I have sent you in the last email). Following are the steps to build foo.zip i.e
a. Apply patches plugins_make.patch and plugins_msvc.patch.
b. Unzip and copy the foo directory in the contrib directory
c. Build and Install the system
It will build foo library and place it in lib/plugins directory.You can test it on both windows and linux/unix platforms.Thanks.

Best Regards,
Asif Naeem

> Date: Tue, 9 Dec 2008 23:36:42 -0500
> From: robertmhaas(at)gmail(dot)com
> To: anaeem(dot)it(at)hotmail(dot)com
> Subject: Re: [HACKERS] PLUGINS Functionlity in Win32 build scripts
> CC: pgsql-hackers(at)postgresql(dot)org
>
>>> I've been assigned to review this patch, but I confess I'm a little
>>> murky on what problem it's trying to solve. Can you explain what I
>>> need to do to recreate the problem?
>> In postgreSQL, Plugin modules should be installed in (Installation
>> dir)lib/plugins to run properly. There is logic in src/makefiles/pgxs.mk for
>> handling shared objects implemented as e.g. "Modules" variable that are
>> installed in (Installation dir)/lib. There should be some way to handle
>> plugins as well. We faced this issue during the integration of contrib
>> module pldebugger ( http://pgfoundry.org/frs/?group_id=1000175 ) with the
>> edb-postgresql code. pldebugger/Makefile handles plugins by itself,
>> Unix/Linux don't mind it because it build through make. On windows, perl
>> scripts are used to build the system that relies on Makefiles that uses
>> pgxs.mk variables e.g "Modules" etc. It fails to build pldebugger that
>> implements its own plugin build logic in its Makefile. Right now for us
>> there is only one plugin module but in future there may be more.Instead of
>> any workaround we come up to a better solution to handle plugins
>> automatically by pgxs.mk as other shared objects are being handled on Unix
>> and Windows. We added PLUGIN logic in pgxs.mk and windows perl build scripts
>> so that there is no need to handle plugins separately by new contrib
>> modules.
>
> I am a bit dubious about the idea of adding supposedly generic
> functionality to cater to a single client, but the bigger problem is
> that even after reading this I still don't really know what I'm
> supposed to be looking at. I think you're saying that pldebugger
> contains some code that could be made simpler and less easily broken
> if this patch were applied. Is that correct? If so, please tell me
> where to download the pldebugger code and which file(s) to look in for
> the code that could be improved.
>
> ...Robert
>
> --
> Sent via pgsql-hackers mailing list (pgsql-hackers(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-hackers

_________________________________________________________________
Discover the new Windows Vista
http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE

Attachment Content-Type Size
foo.zip application/zip 1.0 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Gierth 2008-12-17 19:30:20 uuids on freebsd
Previous Message Simon Riggs 2008-12-17 19:24:00 rmgr hooks (v2)