Hi pgAdmin hackers,
Just as a reminder, pgScript is a Google Summer of Code project and my goal is
to integrate it into pgAdmin.
http://www.postgresqldocs.org/wiki/Gsoc08-pgscript
=============
1) Code reuse
=============
This week I isolated some pgAdmin files that I am planning to reuse in the
standalone version of pgScript:
db
pgConn
pgQueryThread
pgSet
utils
md5
misc
I deleted a few things within those files in order to make them work with
pgScript. I left the copyright notice at the top of each one.
This should be OK since pgScript is also Artistic-licensed.
==============
2) Integration
==============
I played with pgAdmin code and here is what I did:
* I created a new icon and a new menu entry in the main window.
* When this menu entry or icon is clicked, it opens a new form frmPgScript which
is mainly based on frmQuery minus a few useless things (no Explain or
History output, just a Run & Cancel button, ...).
* This form is also based on ctlSQLBox but I added a m_pgscript data member to
tell whether it is a pgScript ctlSQLBox or the regular one (Query tool);
if it is pgScript one then, during instantiation, I add some keywords to the
list of colorized keywords.
So here are the files I modified:
* ctlSQLBox.h
* ctlSQLBox.cpp
* frmMain.cpp
The files I added:
* frmPgScript.h
* frmPgScript.cpp
* pgs.xpm (icon)
pgScript header files are supposed to be in pgadmin/include/pgscript directory.
pgScript source files are supposed to be in pgadmin/pgscript directory.
First, how does it sound? Am I completely wrong. Would you see something
different?
Then, if everything above is OK, I have several questions. Basically how would
compilation be managed? I mean there are several possibilities:
* Either pgScript can reside in pgAdmin repository or pgScript files would
be provided as a patch (archive) and files would have to be added manually
to pgAdmin.
* If pScript resides in pgAdmin repository, how would users choose whether to
compile pgAdmin with or without pgScript? Pre-processor symbol? This would
be fine in order not to add the icon and the entry menu but would not prevent
pgScript files (in include/pgscript/ and pgscript/) from being compiled even
if they are not used.
More generally I need your opinion about packaging.
Best regards,
Mickael