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-08 14:47:59
Message-ID: BAY116-W22D6CD73756FB7CCB4D393FFFD0@phx.gbl
Views: Raw Message | Whole Thread | Download mbox
Lists: pgsql-hackers

I am sorry about this, This missed my attention. Here is my reply to your mail.
> Date: Fri, 28 Nov 2008 08:42:39 -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> > On Tue, Sep 9, 2008 at 3:04 AM, MUHAMMAD ASIF <anaeem(dot)it(at)hotmail(dot)com> wrote:> > I am currently working in EnterpriseDB ( During the integration of pldebugger ( ) with postgres on windows I faced a problem that plugins are not being copied to the lib/plugins directory. Plugins should be copied in (Installation dir)lib/plugins to work properly.> > To solve this problem I added PLUGINS logic in the Windows Perl build scripts of PostgreSQL 8.3.3. It searches for PLUGINS variable in the contrib Makefile and processes "PLUGINS" as "MODULES" and copies the generated plugin library to the (Installation dir)lib/plugins.> > Please find the attached plugin.patch file. Thanks.> > Hi,> > 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/ 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 ( ) 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 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 as other shared objects are being handled on Unix and Windows. We added PLUGIN logic in and windows perl build scripts so that there is no need to handle plugins separately by new contrib modules.

> > There's also this comment on the Wiki (not sure why it wasn't posted> to the mailing list...): "Dave Page says: This doesn't work with the> edb-debugger plugin, which is the only such plugin around AFAIK. It> needs to ignore comments on the PLUGINS line, and handle multiple> targets (plugin_debugger, pldbgapi, targetinfo etc). Not sure if we> want that complexity though." Any comments?
Dave was refering pldebugger code that uses comments in its Makefile.
pldebugger/Makefile : Line # 36
PLUGINS = plugin_debugger # plugin_profiler plugin_tracer

Make tool ignores the comments but windows perl scripts don’t understand "#" in process of extracting module names.
It is a separate functionality to enhance the scripts so that it can understand commented code with "#".I would love to make these changes separately but it don’t seems to be in the scope of PLUGINS functionality.

> > Thanks,> > ...Robert> > -- > Sent via pgsql-hackers mailing list (pgsql-hackers(at)postgresql(dot)org)> To make changes to your subscription:>
I am sending you patches that i tested with postgresql-8.3.4. I am looking forward to your quries :).Thanks.

Best Regards,
M. Asif Naeem

Discover the new Windows Vista

Attachment Content-Type Size application/x-zip-compressed 1.9 KB

In response to


Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2008-12-08 14:49:00 Re: ALTER composite type does not work, but ALTER TABLE which ROWTYPE is used as a type - works fine
Previous Message Grzegorz Jaskiewicz 2008-12-08 14:44:17 Re: Polymorphic types vs. domains