Thread: plPHP in core?
Hello, We at Command Prompt are in the process of completing a new rev of plPHP. The new rev will not require the PHP source. It will only require that PHP is installed. In other words it can be installed just like any other pl language. Are we interested in having plPHP in core? Sincerely, Joshua D. Drake -- Command Prompt, Inc., home of Mammoth PostgreSQL - S/ODBC and S/JDBC Postgresql support, programming shared hosting and dedicated hosting. +1-503-667-4564 - jd@commandprompt.com - http://www.commandprompt.com PostgreSQL Replicator -- production quality replication for PostgreSQL
Attachment
Joshua D. Drake wrote: > Hello, > > We at Command Prompt are in the process of completing > a new rev of plPHP. The new rev will not require the > PHP source. It will only require that PHP is installed. > > In other words it can be installed just like any other pl > language. > > Are we interested in having plPHP in core? Yes, I think so. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073
On Fri, Apr 01, 2005 at 07:11:14PM -0800, Joshua D. Drake wrote: Hi Joshua, > We at Command Prompt are in the process of completing > a new rev of plPHP. The new rev will not require the > PHP source. It will only require that PHP is installed. > > In other words it can be installed just like any other pl > language. > > Are we interested in having plPHP in core? Is the license compatible? -- Alvaro Herrera (<alvherre[@]dcc.uchile.cl>) "Now I have my system running, not a byte was off the shelf; It rarely breaks and when it does I fix the code myself. It's stable, clean and elegant, and lightning fast as well, And it doesn't cost a nickel, so Bill Gates can go to hell."
On Fri, 1 Apr 2005, Joshua D. Drake wrote: > Hello, > > We at Command Prompt are in the process of completing > a new rev of plPHP. The new rev will not require the > PHP source. It will only require that PHP is installed. > > In other words it can be installed just like any other pl > language. > > Are we interested in having plPHP in core? Is there a reason why it can no longer operate as a standalone language out of pgfoundry, like pl/java and pl/perl? ---- Marc G. Fournier Hub.Org Networking Services (http://www.hub.org) Email: scrappy@hub.org Yahoo!: yscrappy ICQ: 7615664
"Marc G. Fournier" <scrappy@postgresql.org> writes: > On Fri, 1 Apr 2005, Joshua D. Drake wrote: >> Are we interested in having plPHP in core? > Is there a reason why it can no longer operate as a standalone language > out of pgfoundry, like pl/java and pl/perl? PLs are sufficiently tightly tied to the core that it's probably easier to maintain them as part of our core CVS than otherwise. (Ask Joe Conway about PL/R. Thomas Hallgren is probably not that happy about maintaining pl/java out of core, either. And pl/perl *is* in core.) I'm thinking that a pl/PHP is much more interesting for the long term than, say, pl/tcl (mind you, I am a Tcl partisan from way back, but I see that many people are not so enlightened). Barring any licensing problems I think this is something to pursue. regards, tom lane
> In other words it can be installed just like any other pl > language. > > Are we interested in having plPHP in core? > Yes , it must come into the core as PHP developers would now get tempted to write functions inside database this would cut out adoption of Databases which do not have PHP type functions support. With full support pl/PHP must come into core. Yes licence issues are left to licence experts. -- With Best Regards, Vishal Kashyap. Lead Software Developer, http://saihertz.com, http://vishalkashyap.tk
Alvaro Herrera wrote: >On Fri, Apr 01, 2005 at 07:11:14PM -0800, Joshua D. Drake wrote: > >Hi Joshua, > > > >>We at Command Prompt are in the process of completing >>a new rev of plPHP. The new rev will not require the >>PHP source. It will only require that PHP is installed. >> >>In other words it can be installed just like any other pl >>language. >> >>Are we interested in having plPHP in core? >> >> > >Is the license compatible? > > Yes we have licensed it under the PostgreSQL & PHP license. Sincerely, Joshua D. Drake -- Command Prompt, Inc., home of Mammoth PostgreSQL - S/ODBC and S/JDBC Postgresql support, programming shared hosting and dedicated hosting. +1-503-667-4564 - jd@commandprompt.com - http://www.commandprompt.com PostgreSQL Replicator -- production quality replication for PostgreSQL
Attachment
Marc G. Fournier wrote: > On Fri, 1 Apr 2005, Joshua D. Drake wrote: > >> Hello, >> >> We at Command Prompt are in the process of completing >> a new rev of plPHP. The new rev will not require the >> PHP source. It will only require that PHP is installed. >> >> In other words it can be installed just like any other pl >> language. >> >> Are we interested in having plPHP in core? > > > Is there a reason why it can no longer operate as a standalone > language out of pgfoundry, like pl/java and pl/perl? Well plPerl is in core and also on pgFoundry as we continue to develop both. We would like to do the same for plPHP. Sincerely, Joshua D. Drake > > ---- > Marc G. Fournier Hub.Org Networking Services > (http://www.hub.org) > Email: scrappy@hub.org Yahoo!: yscrappy ICQ: > 7615664 -- Command Prompt, Inc., home of Mammoth PostgreSQL - S/ODBC and S/JDBC Postgresql support, programming shared hosting and dedicated hosting. +1-503-667-4564 - jd@commandprompt.com - http://www.commandprompt.com PostgreSQL Replicator -- production quality replication for PostgreSQL
Attachment
> >I'm thinking that a pl/PHP is much more interesting for the long term >than, say, pl/tcl (mind you, I am a Tcl partisan from way back, but >I see that many people are not so enlightened). Barring any licensing >problems I think this is something to pursue. > > Per the license issue it is licensed under the PHP and PostgreSQL licenses. Sincerely, Joshua D. Drake > regards, tom lane > >---------------------------(end of broadcast)--------------------------- >TIP 9: the planner will ignore your desire to choose an index scan if your > joining column's datatypes do not match > > -- Command Prompt, Inc., home of Mammoth PostgreSQL - S/ODBC and S/JDBC Postgresql support, programming shared hosting and dedicated hosting. +1-503-667-4564 - jd@commandprompt.com - http://www.commandprompt.com PostgreSQL Replicator -- production quality replication for PostgreSQL
Attachment
Joshua D. Drake wrote: > We at Command Prompt are in the process of completing > a new rev of plPHP. The new rev will not require the > PHP source. It will only require that PHP is installed. How can that be? > Are we interested in having plPHP in core? Personally, I'm not too excited about it. -- Peter Eisentraut http://developer.postgresql.org/~petere/
Tom Lane wrote: > PLs are sufficiently tightly tied to the core that it's probably > easier to maintain them as part of our core CVS than otherwise. > (Ask Joe Conway about PL/R. As a matter of fact, let's ask him. > Thomas Hallgren is probably not that > happy about maintaining pl/java out of core, either. And let's ask him, too. I'm not convinced that PLs are more tied to the core than say OpenFTS, and if we can't maintain that kind of thing externally, then this whole extension thing sounds like a failure to me. -- Peter Eisentraut http://developer.postgresql.org/~petere/
Peter Eisentraut <peter_e@gmx.net> writes: > I'm not convinced that PLs are more tied to the core than say OpenFTS, > and if we can't maintain that kind of thing externally, then this whole > extension thing sounds like a failure to me. It's *possible* to do it. Whether it's a net savings of effort is questionable. For instance, I've had to hack plperl and plpgsql over the past couple days to support OUT parameters, and the only reason I didn't have to hack the other two standard PLs is that they are a few features shy of a load already. I'm pretty sure pl/r and pl/java will need changes to support this feature too. If they were in core CVS then I'd consider it part of my responsibility to fix 'em ... but they aren't, so it isn't my problem, so it falls on Joe and Thomas to get up to speed on what I've been doing and do likewise. Is that really a win? The point here is really that we keep finding reasons to, if not flat-out change the interface to PLs, at least expand their responsibilities. Not to push it too hard, but we still have only one PL with a validator procedure, which IIRC was your own addition to that API. How come they don't all have validators? regards, tom lane
On Sat, 2 Apr 2005, Peter Eisentraut wrote: > I'm not convinced that PLs are more tied to the core than say OpenFTS, > and if we can't maintain that kind of thing externally, then this whole > extension thing sounds like a failure to me. As many times as Peter and I butt heads, on this I have to agree ... we're an "extensible database that requires the extensions to be in core" is effectively what is being said, which kinda defeats the 'extensible' nature ... ---- Marc G. Fournier Hub.Org Networking Services (http://www.hub.org) Email: scrappy@hub.org Yahoo!: yscrappy ICQ: 7615664
One key point to note here is Joshua already saying they wish, like plPerl, to continue maintaining the "core code" outside of the core distribution ... the way I read that is they just want to be 'in core' to piggy back on the distribution, not to make development/maintenance any easier ... > It's *possible* to do it. Whether it's a net savings of effort is > questionable. For instance, I've had to hack plperl and plpgsql > over the past couple days to support OUT parameters, and the only > reason I didn't have to hack the other two standard PLs is that they > are a few features shy of a load already. I'm pretty sure pl/r and > pl/java will need changes to support this feature too. If they were in > core CVS then I'd consider it part of my responsibility to fix 'em But, why should it be your responsibility to fix 'em? > ... but they aren't, so it isn't my problem, so it falls on Joe and > Thomas to get up to speed on what I've been doing and do likewise. > Is that really a win? Is it really a win that the only person 'up to speed' that can fix them is you? Seems a load that will grow heavier as more PLs (if more PLs) come online ... Also, since plPerlNG is maintained on PgFoundry, are the changes you are making to core getting migrated back to the main project itself? ---- Marc G. Fournier Hub.Org Networking Services (http://www.hub.org) Email: scrappy@hub.org Yahoo!: yscrappy ICQ: 7615664
"Marc G. Fournier" <scrappy@postgresql.org> writes: > Also, since plPerlNG is maintained on PgFoundry, are the changes you are > making to core getting migrated back to the main project itself? I don't know, and not being a maintainer of the pgfoundry project, it is *definitely* not my problem. But I cannot believe it's a good idea to have two supposedly authoritative CVS repositories for the same code... regards, tom lane
Tom Lane wrote: > The point here is really that we keep finding reasons to, if not > flat-out change the interface to PLs, at least expand their > responsibilities. Not to push it too hard, but we still have only > one PL with a validator procedure, which IIRC was your own addition > to that API. How come they don't all have validators? Point taken. The reason was, as explained the other day, that before the arrival of the "trigger" pseudotype it was not really possible to implement that in some cases. But I plan to follow up on that now. -- Peter Eisentraut http://developer.postgresql.org/~petere/
Tom Lane wrote: > Peter Eisentraut <peter_e@gmx.net> writes: > >>I'm not convinced that PLs are more tied to the core than say OpenFTS, >>and if we can't maintain that kind of thing externally, then this whole >>extension thing sounds like a failure to me. > > > It's *possible* to do it. Whether it's a net savings of effort is > questionable. For instance, I've had to hack plperl and plpgsql > over the past couple days to support OUT parameters, and the only > reason I didn't have to hack the other two standard PLs is that they > are a few features shy of a load already. I'm pretty sure pl/r and > pl/java will need changes to support this feature too. If they were in > core CVS then I'd consider it part of my responsibility to fix 'em > ... but they aren't, so it isn't my problem, so it falls on Joe and > Thomas to get up to speed on what I've been doing and do likewise. > Is that really a win? > So far we've been able to keep up with PostgreSQL changes because a) the interfaces are after all pretty well defined, and b) there is always a long enough delay between changes of the interfaces and their official release to make it possible for us to catch up. Cumbersome sure, but still not my primary concern. There's a couple of other reasons why it's bad to be an "outsider". a) If skilled core developers from time to time stumbled on compilation errors in PL/Java due to changes made in the backend, then I believe that this would result in some level of code review and perhaps lots of good criticism and ideas of improvement. b) I've been forced to do pull some tricks in PL/Java to work around things that I consider lacking in the interfaces. Having PL/Java in core would make it possible to work together more tightly in order to find good solutions/API's that can benefit all PL's. c) PL/Java would become (optional?) part of the build and the regression tests. It would be great to get early warnings when things change that break PL/Java. d) Bringing PL/Java into core will force a consistent documentation and, I imagine, a chapter of it's own in the main docs. I'm happy to write most of it but English is not my native language. Whatever I put into print will always benefit from a review. e) The article http://www.powerpostgresql.com/5_types describes another serious issue pretty well. While it's easy for an organization to become dependent on the "Community" based PostgreSQL, it's much more difficult to make such a decision with the "Solo" based PL/Java. In essence, I'm all for bringing PL/Java into core. While doing so I think it's imperative to maintain good API's between modules and backend. Bringing the PL's into core must be done while retaining good separation of concern. The extension mechanism is a good thing. It should be improved regardless where PL's end up. > The point here is really that we keep finding reasons to, if not > flat-out change the interface to PLs, at least expand their > responsibilities. Not to push it too hard, but we still have only > one PL with a validator procedure, which IIRC was your own addition > to that API. How come they don't all have validators? > For PL/Java, the answer is that we just haven't had the time to implement it. It should be done of course. Regards, Thomas Hallgren
In the past couple of years a lot of stuff has been removed from the core - even the ODBC driver (which is ways more important than, let's say, PL/PHP) has been removed from the core - so why should a new PL be integrated now if considerably more important components will remain external? Best regards, Hans Tom Lane wrote: > Peter Eisentraut <peter_e@gmx.net> writes: > >>I'm not convinced that PLs are more tied to the core than say OpenFTS, >>and if we can't maintain that kind of thing externally, then this whole >>extension thing sounds like a failure to me. > > > It's *possible* to do it. Whether it's a net savings of effort is > questionable. For instance, I've had to hack plperl and plpgsql > over the past couple days to support OUT parameters, and the only > reason I didn't have to hack the other two standard PLs is that they > are a few features shy of a load already. I'm pretty sure pl/r and > pl/java will need changes to support this feature too. If they were in > core CVS then I'd consider it part of my responsibility to fix 'em > ... but they aren't, so it isn't my problem, so it falls on Joe and > Thomas to get up to speed on what I've been doing and do likewise. > Is that really a win? > > The point here is really that we keep finding reasons to, if not > flat-out change the interface to PLs, at least expand their > responsibilities. Not to push it too hard, but we still have only > one PL with a validator procedure, which IIRC was your own addition > to that API. How come they don't all have validators? > > regards, tom lane > > ---------------------------(end of broadcast)--------------------------- > TIP 7: don't forget to increase your free space map settings -- Cybertec Geschwinde u Schoenig Schoengrabern 134, A-2020 Hollabrunn, Austria Tel: +43/664/393 39 74 www.cybertec.at, www.postgresql.at
Peter Eisentraut wrote: >Joshua D. Drake wrote: > > >>We at Command Prompt are in the process of completing >>a new rev of plPHP. The new rev will not require the >>PHP source. It will only require that PHP is installed. >> >> > >How can that be? > > I am not sure I understand the question but we are linking against the .so now. So as long as PHP is and PostgreSQL ./configure knows where to look we should be good. Sincerely, Joshua D. Drake > > >>Are we interested in having plPHP in core? >> >> > >Personally, I'm not too excited about it. > > > -- Command Prompt, Inc., home of Mammoth PostgreSQL - S/ODBC and S/JDBC Postgresql support, programming shared hosting and dedicated hosting. +1-503-667-4564 - jd@commandprompt.com - http://www.commandprompt.com PostgreSQL Replicator -- production quality replication for PostgreSQL
Attachment
pl-j ( the other java procedural language ) is definately interested in being in core. Dave Tom Lane wrote: >"Marc G. Fournier" <scrappy@postgresql.org> writes: > > >>On Fri, 1 Apr 2005, Joshua D. Drake wrote: >> >> >>>Are we interested in having plPHP in core? >>> >>> > > > >>Is there a reason why it can no longer operate as a standalone language >>out of pgfoundry, like pl/java and pl/perl? >> >> > >PLs are sufficiently tightly tied to the core that it's probably >easier to maintain them as part of our core CVS than otherwise. >(Ask Joe Conway about PL/R. Thomas Hallgren is probably not that >happy about maintaining pl/java out of core, either. And pl/perl >*is* in core.) > >I'm thinking that a pl/PHP is much more interesting for the long term >than, say, pl/tcl (mind you, I am a Tcl partisan from way back, but >I see that many people are not so enlightened). Barring any licensing >problems I think this is something to pursue. > > regards, tom lane > >---------------------------(end of broadcast)--------------------------- >TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org > > > >
Marc G. Fournier wrote: > > One key point to note here is Joshua already saying they wish, like > plPerl, to continue maintaining the "core code" outside of the core > distribution ... the way I read that is they just want to be 'in core' > to piggy back on the distribution, not to make development/maintenance > any easier ... Well that is not exactly what I meant but I see what you are saying. The reason plPerlNG is maintained outside of core and then resubmitted is that we worked on it longer than feature freeze and we made the features work with 7.4 as well. We have not done any work on it, in about 6 months?... I am thinking. >> ey >> are a few features shy of a load already. I'm pretty sure pl/r and >> pl/java will need changes to support this feature too. If they were in >> core CVS then I'd consider it part of my responsibility to fix 'em > > > But, why should it be your responsibility to fix 'em? This is a good point and I did submit to Tom that as we were the ones that submitted the new plPerl that we would have been happy to do that work. We just didn't know the work was being done. > > Is it really a win that the only person 'up to speed' that can fix > them is you? Seems a load that will grow heavier as more PLs (if more > PLs) come online ... This argument doesn't hold too much weight. Namely because there are only 3-5 really popular languages out there. They are marketing languages. The are languages you include because your database doesn't "sound" complete with out them. Regardless if you can download them separately. People are lazy. They don't want to download them separately. I see those as: plPgsql (for Oracle people) plPerl plPHP plJava plPython is cool and all (I love Python) but feature wise it is quite a bit behind the others and unless someone picks up active development it probably should be removed. FYI: Resources permitting we are looking at plPython If plJava can be integrated in a way that will allow it to be installed easily with the standard mechanism of ./configure --with-pljava then I believe it should be there as well. > > Also, since plPerlNG is maintained on PgFoundry, are the changes you > are making to core getting migrated back to the main project itself? I have not see a patch yet. Sincerely, Joshua D. Drake > > ---- > Marc G. Fournier Hub.Org Networking Services > (http://www.hub.org) > Email: scrappy@hub.org Yahoo!: yscrappy ICQ: > 7615664 > > ---------------------------(end of broadcast)--------------------------- > TIP 7: don't forget to increase your free space map settings -- Command Prompt, Inc., home of Mammoth PostgreSQL - S/ODBC and S/JDBC Postgresql support, programming shared hosting and dedicated hosting. +1-503-667-4564 - jd@commandprompt.com - http://www.commandprompt.com PostgreSQL Replicator -- production quality replication for PostgreSQL
Attachment
Tom Lane wrote: >"Marc G. Fournier" <scrappy@postgresql.org> writes: > > >>Also, since plPerlNG is maintained on PgFoundry, are the changes you are >>making to core getting migrated back to the main project itself? >> >> > >I don't know, and not being a maintainer of the pgfoundry project, >it is *definitely* not my problem. But I cannot believe it's a >good idea to have two supposedly authoritative CVS repositories >for the same code... > > Core is the authoritative repo for plPerl. pgFoundry is our R&D... our Linux 2.1 versus 2.2. Sincerely, Joshua D. Drake > regards, tom lane > >---------------------------(end of broadcast)--------------------------- >TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org > > -- Command Prompt, Inc., home of Mammoth PostgreSQL - S/ODBC and S/JDBC Postgresql support, programming shared hosting and dedicated hosting. +1-503-667-4564 - jd@commandprompt.com - http://www.commandprompt.com PostgreSQL Replicator -- production quality replication for PostgreSQL
Attachment
Hans-Jürgen Schönig wrote: > In the past couple of years a lot of stuff has been removed from the > core - even the ODBC driver (which is ways more important than, let's > say, PL/PHP) has been removed from the core - so why should a new PL > be integrated now if considerably more important components will > remain external? ODBC is a client side driver. It is not a server side driver. It does not require PostgreSQL to be installed. plPHP, plPerl, etc... all require PostgreSQL, they are a part of PostgreSQL whether in core or not. Sincerely, Joshua D. Drake > > Best regards, > > Hans > > > Tom Lane wrote: > >> Peter Eisentraut <peter_e@gmx.net> writes: >> >>> I'm not convinced that PLs are more tied to the core than say >>> OpenFTS, and if we can't maintain that kind of thing externally, >>> then this whole extension thing sounds like a failure to me. >> >> >> >> It's *possible* to do it. Whether it's a net savings of effort is >> questionable. For instance, I've had to hack plperl and plpgsql >> over the past couple days to support OUT parameters, and the only >> reason I didn't have to hack the other two standard PLs is that they >> are a few features shy of a load already. I'm pretty sure pl/r and >> pl/java will need changes to support this feature too. If they were in >> core CVS then I'd consider it part of my responsibility to fix 'em >> ... but they aren't, so it isn't my problem, so it falls on Joe and >> Thomas to get up to speed on what I've been doing and do likewise. >> Is that really a win? >> >> The point here is really that we keep finding reasons to, if not >> flat-out change the interface to PLs, at least expand their >> responsibilities. Not to push it too hard, but we still have only >> one PL with a validator procedure, which IIRC was your own addition >> to that API. How come they don't all have validators? >> >> regards, tom lane >> >> ---------------------------(end of broadcast)--------------------------- >> TIP 7: don't forget to increase your free space map settings > > > -- Command Prompt, Inc., home of Mammoth PostgreSQL - S/ODBC and S/JDBC Postgresql support, programming shared hosting and dedicated hosting. +1-503-667-4564 - jd@commandprompt.com - http://www.commandprompt.com PostgreSQL Replicator -- production quality replication for PostgreSQL
Attachment
Dave Cramer wrote: > pl-j ( the other java procedural language ) is definately interested > in being in core. > Is it actively developed? Not being rude... I just haven't heard much (almost nothing) about it. Sincerely, Joshua D. Drake > Dave > > Tom Lane wrote: > >> "Marc G. Fournier" <scrappy@postgresql.org> writes: >> >> >>> On Fri, 1 Apr 2005, Joshua D. Drake wrote: >>> >>> >>>> Are we interested in having plPHP in core? >>>> >>> >> >> >> >>> Is there a reason why it can no longer operate as a standalone >>> language out of pgfoundry, like pl/java and pl/perl? >>> >> >> >> PLs are sufficiently tightly tied to the core that it's probably >> easier to maintain them as part of our core CVS than otherwise. >> (Ask Joe Conway about PL/R. Thomas Hallgren is probably not that >> happy about maintaining pl/java out of core, either. And pl/perl >> *is* in core.) >> >> I'm thinking that a pl/PHP is much more interesting for the long term >> than, say, pl/tcl (mind you, I am a Tcl partisan from way back, but >> I see that many people are not so enlightened). Barring any licensing >> problems I think this is something to pursue. >> >> regards, tom lane >> >> ---------------------------(end of broadcast)--------------------------- >> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org >> >> >> >> -- Command Prompt, Inc., home of Mammoth PostgreSQL - S/ODBC and S/JDBC Postgresql support, programming shared hosting and dedicated hosting. +1-503-667-4564 - jd@commandprompt.com - http://www.commandprompt.com PostgreSQL Replicator -- production quality replication for PostgreSQL
Attachment
Joshua D. Drake wrote: > I am not sure I understand the question but we are > linking against the .so now. So as long as PHP > is and PostgreSQL ./configure knows where to look > we should be good. The question is, how can you build a PL/something module without having "something" installed at build time? One would assume that such code needs to include some header files and link with a library. I'm just curious about how you pulled that off. -- Peter Eisentraut http://developer.postgresql.org/~petere/
Very actively, http://plj.codehaus.org Dave Joshua D. Drake wrote: > Dave Cramer wrote: > >> pl-j ( the other java procedural language ) is definately interested >> in being in core. >> > Is it actively developed? Not being rude... I just haven't heard much > (almost nothing) about it. > > Sincerely, > > Joshua D. Drake > > > >> Dave >> >> Tom Lane wrote: >> >>> "Marc G. Fournier" <scrappy@postgresql.org> writes: >>> >>> >>>> On Fri, 1 Apr 2005, Joshua D. Drake wrote: >>>> >>>> >>>>> Are we interested in having plPHP in core? >>>>> >>>> >>>> >>> >>> >>> >>>> Is there a reason why it can no longer operate as a standalone >>>> language out of pgfoundry, like pl/java and pl/perl? >>>> >>> >>> >>> >>> PLs are sufficiently tightly tied to the core that it's probably >>> easier to maintain them as part of our core CVS than otherwise. >>> (Ask Joe Conway about PL/R. Thomas Hallgren is probably not that >>> happy about maintaining pl/java out of core, either. And pl/perl >>> *is* in core.) >>> >>> I'm thinking that a pl/PHP is much more interesting for the long term >>> than, say, pl/tcl (mind you, I am a Tcl partisan from way back, but >>> I see that many people are not so enlightened). Barring any licensing >>> problems I think this is something to pursue. >>> >>> regards, tom lane >>> >>> ---------------------------(end of >>> broadcast)--------------------------- >>> TIP 1: subscribe and unsubscribe commands go to >>> majordomo@postgresql.org >>> >>> >>> >>> > > >---------------------------(end of broadcast)--------------------------- >TIP 7: don't forget to increase your free space map settings > >
On Sat, 2 Apr 2005, Peter Eisentraut wrote: > Joshua D. Drake wrote: >> I am not sure I understand the question but we are >> linking against the .so now. So as long as PHP >> is and PostgreSQL ./configure knows where to look >> we should be good. > > The question is, how can you build a PL/something module without having > "something" installed at build time? One would assume that such code > needs to include some header files and link with a library. I'm just > curious about how you pulled that off. Oh you do need PHP installed you just don't need the source. As everyone knows ;) I am not a c-programmer and I do not know the finer details. I can of course find out from my developers. Sincerely, Joshua D. Drake > > -- Co-Founder Command Prompt, Inc. The wheel's spinning but the hamster's dead
Joshua D. Drake wrote: > Oh you do need PHP installed you just don't need the source. As > everyone knows ;) I am not a c-programmer and I do not know the finer > details. I can of course find out from my developers. Well, that doesn't solve the circular build dependency issue then. Before you can install PHP you already need PostgreSQL (libpq) installed. So nothing relevant to that issue has changed, as far as I can see. -- Peter Eisentraut http://developer.postgresql.org/~petere/
On Sat, 2 Apr 2005, Peter Eisentraut wrote: > Joshua D. Drake wrote: >> Oh you do need PHP installed you just don't need the source. As >> everyone knows ;) I am not a c-programmer and I do not know the finer >> details. I can of course find out from my developers. > > Well, that doesn't solve the circular build dependency issue then. > Before you can install PHP you already need PostgreSQL (libpq) > installed. So nothing relevant to that issue has changed, as far as I > can see. Uhhmmm no? You only need libpq installed if you want postgresql client side support but I will double check. Actually as I think about it... that is not the case even now. When we download the php source the base configure before compile is: ./configure --disable-all Thus no use of PostgreSQL whatsoever. Sincerely, Joshua D. Drake > > -- Co-Founder Command Prompt, Inc. The wheel's spinning but the hamster's dead
Joshua D. Drake wrote: > Actually as I think about it... that is not the case even now. When > we download the php source the base configure before compile is: > > ./configure --disable-all > > Thus no use of PostgreSQL whatsoever. I'm sure it is possible to get around it manually, but think about distributors. They probably compile PHP more to the tunes of --enable-everything. I don't think they will like it if we tell them that they need to switch to a two-stage build process or something. -- Peter Eisentraut http://developer.postgresql.org/~petere/
On Sat, 2 Apr 2005, Joshua D. Drake wrote: > This argument doesn't hold too much weight. Namely because there are only > 3-5 really popular languages out there. They are marketing languages. > The are languages you include because your database doesn't "sound" > complete with out them. Regardless if you can download them separately. > People are lazy. They don't want to download them separately. Actually, as I've stated many times before, and why I continue to argue against the "mega distribution", I *know* that ppl using the *BSDs download them indivdually, as that is how our ports are built: drwxr-xr-x 2 root wheel 512 Feb 4 04:59 p5-postgresql-plperl drwxr-xr-x 2 root wheel 512 Feb 4 04:59 postgresql-plpython drwxr-xr-x 3 root wheel 512 Jan 31 04:59 postgresql-plruby drwxr-xr-x 2 root wheel 512 Feb 4 04:59 postgresql-pltcl Unless postgresql isn't already installed ... In fact, a total break down right now o four ports looks like: drwxr-xr-x 2 root wheel 512 Feb 4 04:59 p5-postgresql-plperl drwxr-xr-x 2 root wheel 512 Feb 4 04:59 postgresql-contrib drwxr-xr-x 3 root wheel 512 Jan 24 04:59 postgresql-devel drwxr-xr-x 2 root wheel 512 Jan 31 04:59 postgresql-docs drwxr-xr-x 3 root wheel 512 Feb 11 04:59 postgresql-jdbc drwxr-xr-x 3 root wheel 512 Jan 31 04:59 postgresql-libpq++ drwxr-xr-x 3 root wheel 512 Jan 31 04:59 postgresql-libpqxx drwxr-xr-x 2 root wheel 512 Dec 6 04:59 postgresql-odbc drwxr-xr-x 2 root wheel 512 Feb 4 04:59 postgresql-plpython drwxr-xr-x 3 root wheel 512 Jan 31 04:59 postgresql-plruby drwxr-xr-x 2 root wheel 512 Feb 4 04:59 postgresql-pltcl drwxr-xr-x 3 root wheel 512 Dec 14 05:01 postgresql-relay drwxr-xr-x 3 root wheel 512 Feb 20 04:59 postgresql-tcltk drwxr-xr-x 2 root wheel 512 Feb 20 04:59 postgresql73-client drwxr-xr-x 3 root wheel 1024 Mar 19 04:59 postgresql73-server drwxr-xr-x 2 root wheel 512 Feb 20 04:59 postgresql74-client drwxr-xr-x 3 root wheel 1024 Mar 19 04:59 postgresql74-server drwxr-xr-x 2 root wheel 512 Feb 20 04:59 postgresql80-client drwxr-xr-x 3 root wheel 1024 Mar 19 04:59 postgresql80-server drwxr-xr-x 2 root wheel 512 Oct 24 04:59 postgresql_autodoc ---- Marc G. Fournier Hub.Org Networking Services (http://www.hub.org) Email: scrappy@hub.org Yahoo!: yscrappy ICQ: 7615664
Thomas Hallgren wrote: > Tom Lane wrote: >> are a few features shy of a load already. I'm pretty sure pl/r and >> pl/java will need changes to support this feature too. If they were in >> core CVS then I'd consider it part of my responsibility to fix 'em >> ... but they aren't, so it isn't my problem, so it falls on Joe and >> Thomas to get up to speed on what I've been doing and do likewise. >> Is that really a win? >> > So far we've been able to keep up with PostgreSQL changes because a) the > interfaces are after all pretty well defined, and b) there is always a > long enough delay between changes of the interfaces and their official > release to make it possible for us to catch up. Cumbersome sure, but > still not my primary concern. There's a couple of other reasons why it's > bad to be an "outsider". This has also been my experience. Every Postgres development cycle has seen a half dozen or so backend changes that break PL/R. It usually doesn't take too long to respond to the changes though. > a) If skilled core developers from time to time stumbled on compilation > b) I've been forced to do pull some tricks in PL/Java to work around > c) PL/Java would become (optional?) part of the build and the regression > d) Bringing PL/Java into core will force a consistent documentation and, Agreed. > e) The article http://www.powerpostgresql.com/5_types describes another > serious issue pretty well. While it's easy for an organization to become > dependent on the "Community" based PostgreSQL, it's much more difficult > to make such a decision with the "Solo" based PL/Java. This one is particularly important. I'm currently responsible for a commercial project at work that sits on the shoulders of a good deal of open source software. We've specifically needed to either avoid components with single or a small number of maintainers, or make a conscious decision to accept permanent responsibility to maintain the code should the "Solo" disappear (and dedicate enough resource to become comfortable with that code). Like it or not, I think everything relegated to pgfoundry suffers from this to some degree. There is no doubt in my mind that both PL/R and PL/Java would get much wider use (and therefore wider testing and code review) if they were packaged with the core Postgres distribution. >> responsibilities. Not to push it too hard, but we still have only >> one PL with a validator procedure, which IIRC was your own addition >> to that API. How come they don't all have validators? >> > For PL/Java, the answer is that we just haven't had the time to > implement it. It should be done of course. Agreed. Time has been hard for me to come by lately :( Joe
On Sat, 2 Apr 2005, Thomas Hallgren wrote: > b) I've been forced to do pull some tricks in PL/Java to work around things > that I consider lacking in the interfaces. Having PL/Java in core would make > it possible to work together more tightly in order to find good > solutions/API's that can benefit all PL's. Submitting bug reports, or asking on -hackers, would have the same effect ... > d) Bringing PL/Java into core will force a consistent documentation and, I > imagine, a chapter of it's own in the main docs. I'm happy to write most of > it but English is not my native language. Whatever I put into print will > always benefit from a review. There is nothing stop'ng a chapter being added now, and a pointer to where to download it could be easily added as part of it .. ---- Marc G. Fournier Hub.Org Networking Services (http://www.hub.org) Email: scrappy@hub.org Yahoo!: yscrappy ICQ: 7615664
On Sat, 2 Apr 2005, Dave Cramer wrote: > pl-j ( the other java procedural language ) is definately interested in > being in core. Yet anothre good reason *not* to be including PLs ... similar to why we moved libpq++ out of core ... I may be wrong, but I doubt that pl-j has the same feature set as pl-java, or vs versa ... so, what do we do? each time someone argues for a better widget, we swap out the old and include the new? there is no guarantee that plPHP will be the only PHP based PL out there, any more then the other PLs, or language libraries ... *If* something *requires* the physical postgresql source code to be available (not just the isntalled headers/libraries), like libpq does, then it makes sense to be part of the core distribution ... but, IMHO, the core distribution shouldn't be 'the means to validation' of an interface, since it unfairly negates work that someone else might be working on (ie. in this case, Dave's pl-j alternative to pl-java) ... ---- Marc G. Fournier Hub.Org Networking Services (http://www.hub.org) Email: scrappy@hub.org Yahoo!: yscrappy ICQ: 7615664
Marc G. Fournier wrote: > > d) Bringing PL/Java into core will force a consistent documentation > > and, I imagine, a chapter of it's own in the main docs. I'm happy > > to write most of it but English is not my native language. Whatever > > I put into print will always benefit from a review. > > There is nothing stop'ng a chapter being added now, Actually there is: We don't ship documentation for software that we don't ship. -- Peter Eisentraut http://developer.postgresql.org/~petere/
On Sat, 2005-04-02 at 21:48 +0200, Peter Eisentraut wrote: > Marc G. Fournier wrote: > > > d) Bringing PL/Java into core will force a consistent documentation > > > and, I imagine, a chapter of it's own in the main docs. I'm happy > > > to write most of it but English is not my native language. Whatever > > > I put into print will always benefit from a review. > > > > There is nothing stop'ng a chapter being added now, > > Actually there is: We don't ship documentation for software that we > don't ship. Very well, rephrase that a little. There is nothing stopping additional links to documentation from being added to the PostgreSQL website in the documentation section. --
Rod Taylor wrote: > There is nothing stopping additional links to documentation from > being added to the PostgreSQL website in the documentation section. That is true, but that does not foster consistent documentation, which is what Thomas Hallgren wanted. -- Peter Eisentraut http://developer.postgresql.org/~petere/
On Sat, 2 Apr 2005, Peter Eisentraut wrote: > Rod Taylor wrote: >> There is nothing stopping additional links to documentation from >> being added to the PostgreSQL website in the documentation section. > > That is true, but that does not foster consistent documentation, which > is what Thomas Hallgren wanted. I know that you are working on a pgtranslation project thruogh pgfoundry ... would it be an idea to maybe setup a 'documentation framework/skeleton' that other projects could use to base their docs on? In fact, just coming to mind, GNUs info documentation ... when I add a new GNU product to the server ,it gets 'auto-added' to the main index page, and have similar/same formats to give a consistency across different pieces of software ... ---- Marc G. Fournier Hub.Org Networking Services (http://www.hub.org) Email: scrappy@hub.org Yahoo!: yscrappy ICQ: 7615664
Peter Eisentraut wrote: >Joshua D. Drake wrote: > > >>Actually as I think about it... that is not the case even now. When >>we download the php source the base configure before compile is: >> >>./configure --disable-all >> >>Thus no use of PostgreSQL whatsoever. >> >> > >I'm sure it is possible to get around it manually, but think about >distributors. They probably compile PHP more to the tunes of >--enable-everything. I don't think they will like it if we tell them >that they need to switch to a two-stage build process or something. > > Well I can't speak to anything but Linux. Most Linux distributions (at least the significant ones) break PHP up into several different packages and things like mysql and php are specifically different packages. Yes those packages would require libpq but that has nothing to do with plPHP. Sincerely, Joshua D. Drake -- Command Prompt, Inc., home of Mammoth PostgreSQL - S/ODBC and S/JDBC Postgresql support, programming shared hosting and dedicated hosting. +1-503-667-4564 - jd@commandprompt.com - http://www.commandprompt.com PostgreSQL Replicator -- production quality replication for PostgreSQL
Attachment
On Sat, 2 Apr 2005, Joshua D. Drake wrote: > Peter Eisentraut wrote: > >> Joshua D. Drake wrote: >> >>> Actually as I think about it... that is not the case even now. When >>> we download the php source the base configure before compile is: >>> >>> ./configure --disable-all >>> >>> Thus no use of PostgreSQL whatsoever. >>> >> >> I'm sure it is possible to get around it manually, but think about >> distributors. They probably compile PHP more to the tunes of >> --enable-everything. I don't think they will like it if we tell them that >> they need to switch to a two-stage build process or something. >> > Well I can't speak to anything but Linux. Most Linux > distributions (at least the significant ones) break PHP > up into several different packages and things like mysql > and php are specifically different packages. This is correct for FreeBSD also ... you build a 'central php' and add modules as seperate ports that are enabled thorugh an extensions.ini file ... Same thing happens with the various 'components' of postgresql, each are built/installed as seperate packages, where if the appropriate headers are already installed on teh machine, the core distribution doesn't have to be re-downloaded/extracted ... ---- Marc G. Fournier Hub.Org Networking Services (http://www.hub.org) Email: scrappy@hub.org Yahoo!: yscrappy ICQ: 7615664
>>>d) Bringing PL/Java into core will force a consistent documentation >>>and, I imagine, a chapter of it's own in the main docs. I'm happy >>>to write most of it but English is not my native language. Whatever >>>I put into print will always benefit from a review. >> >>There is nothing stop'ng a chapter being added now, > > > Actually there is: We don't ship documentation for software that we > don't ship. How about we start a new standard extensions manual on pgFoundry, and give the documentors from all the main extension projects commits on it. That way it's all in one place :) Or at least a PL's manual... Chris
Marc G. Fournier wrote: > On Sat, 2 Apr 2005, Dave Cramer wrote: > >> pl-j ( the other java procedural language ) is definately interested >> in being in core. > So your objectives has changed then? As I recall it, Laszlo thought it important to keep some level of database independence with PL/J and didn't really care to become part of core, hence numerous dependencies to remote components, use of maven instead of make, etc. Looking at the feasibility of a PL/Java + PL/J merge, I found the way PL/J is build up a major obstacle. > Yet another good reason *not* to be including PLs ... similar to why we > moved libpq++ out of core ... I may be wrong, but I doubt that pl-j has > the same feature set as pl-java, or vs versa ... so, what do we do? each > time someone argues for a better widget, we swap out the old and include > the new? there is no guarantee that plPHP will be the only PHP based PL > out there, any more then the other PLs, or language libraries ... > Not sure I understand this point. To state that PostgreSQL ships with plPHP would be a very powerful statement. To me that's in the same ballpark as saying PostgreSQL now has a autovacuum feature. Sure, another autovacuum feature might be created somewhere. If it is, and if it is superior to what you have, and if the people behind it wants it submitted into core, what would you do? If you bring plPHP into core you will make a serious statement. To most people it will mean "there's no point in writing another". After that, a new external PHP might still be built for two reasons: a) The core version is seriously neglected. b) A completely new take on the plPHP (plPHPng :-) ) is underway. In both cases, the result is likely to become something that you want to use as a replacement. You can stipulate the terms for such a replacement to take place (such as backward compatibility). So what's the problem? > *If* something *requires* the physical postgresql source code to be > available (not just the isntalled headers/libraries), like libpq does, > then it makes sense to be part of the core distribution ...> Personally, I think that good separation of concern is utterly important *even if* a module should be part of a core. PL/Java used to require source to compile but that's no longer true (thanks to pgxs). Following your line of reasoning my chances to get PL/Java into core would improve if I went back to the old way of compiling. On the flip side, improving the separation of concern between libpq and the backend so that other protocols could benefit would perhaps be a good thing. It should not however imply that libpq then gets expelled from core, should it? > but, IMHO, > the core distribution shouldn't be 'the means to validation' of an > interface, since it unfairly negates work that someone else might be > working on (ie. in this case, Dave's pl-j alternative to pl-java) ... > Very important point that should not be restricted to a pl-j versus pl-java discussion. It's valid to pl's in general. The fact that PostgreSQL ships with some PL's is suppressing others (I'm thinking again of the Community versus Solo type projects) and suggests that you have an implicit validation process in place. Perhaps you should make that process explicit and more formal? Regards, Thomas Hallgren
On Sat, Apr 02, 2005 at 07:29:02AM -0800, Joshua D. Drake wrote: > This argument doesn't hold too much weight. Namely because there are only > 3-5 really popular languages out there. They are marketing languages. > The are languages you include because your database doesn't "sound" > complete with out them. Regardless if you can download them separately. > People are lazy. They don't want to download them separately. > > I see those as: > > plPgsql (for Oracle people) > plPerl > plPHP What databases support perl or php stored procs/functions? Or python for that matter? -- Jim C. Nasby, Database Consultant decibel@decibel.org Give your computer some brain candy! www.distributed.net Team #1828 Windows: "Where do you want to go today?" Linux: "Where do you want to go tomorrow?" FreeBSD: "Are you guys coming, or what?"
Jim C. Nasby wrote: >On Sat, Apr 02, 2005 at 07:29:02AM -0800, Joshua D. Drake wrote: > > >>This argument doesn't hold too much weight. Namely because there are only >>3-5 really popular languages out there. They are marketing languages. >>The are languages you include because your database doesn't "sound" >>complete with out them. Regardless if you can download them separately. >>People are lazy. They don't want to download them separately. >> >>I see those as: >> >>plPgsql (for Oracle people) >>plPerl >>plPHP >> >> > >What databases support perl or php stored procs/functions? Or python for >that matter? > > None on the server side (except PostgreSQL) which makes the argument all that more powerful :) Sincerely, Joshua D. Drake -- Command Prompt, Inc., home of Mammoth PostgreSQL - S/ODBC and S/JDBC Postgresql support, programming shared hosting and dedicated hosting. +1-503-667-4564 - jd@commandprompt.com - http://www.commandprompt.com PostgreSQL Replicator -- production quality replication for PostgreSQL
Attachment
On Sun, Apr 03, 2005 at 08:41:15PM -0700, Joshua D. Drake wrote: > Jim C. Nasby wrote: > > >On Sat, Apr 02, 2005 at 07:29:02AM -0800, Joshua D. Drake wrote: > > > > > >>This argument doesn't hold too much weight. Namely because there are only > >>3-5 really popular languages out there. They are marketing languages. > >>The are languages you include because your database doesn't "sound" > >>complete with out them. Regardless if you can download them separately. > >>People are lazy. They don't want to download them separately. > >> > >>I see those as: > >> > >>plPgsql (for Oracle people) > >>plPerl > >>plPHP > >> > >> > > > >What databases support perl or php stored procs/functions? Or python for > >that matter? > > > > > None on the server side (except PostgreSQL) which makes the > argument all that more powerful :) So what you're saying is that no database "sounds complete" because no database includes PHP as a procedural language. Sorry, but I don't buy it. From a database comparison/marketing standpoint, the only languages that matter are C/C++, plpgsql and pljava, because these are the only languages that other databases support. Honestly, I think if we're going to spend time worrying about languages as features then we should be doing more to advertise the fact that perl/PHP/python/ruby/etc programmers can program in the database in their native language. This is something that makes PostgreSQL unique and should provide additional incentive for people to use PostgreSQL. I don't think it matters much at all if those 'bonus languages' are included in core or not, at least not to end-users. -- Jim C. Nasby, Database Consultant decibel@decibel.org Give your computer some brain candy! www.distributed.net Team #1828 Windows: "Where do you want to go today?" Linux: "Where do you want to go tomorrow?" FreeBSD: "Are you guys coming, or what?"
"Jim C. Nasby" <decibel@decibel.org> writes: > On Sun, Apr 03, 2005 at 08:41:15PM -0700, Joshua D. Drake wrote: > > > > > What databases support perl or php stored procs/functions? Or python for > > > that matter? > > > > None on the server side (except PostgreSQL) which makes the > > argument all that more powerful :) Actually Oracle supports at least Perl and Java in addition to C for server side code. And of course once you have C it's a SMOP to have PHP, Python, Ruby or whatever so I wouldn't be surprised to find packages for any of those out there. > Honestly, I think if we're going to spend time worrying about languages > as features then we should be doing more to advertise the fact that > perl/PHP/python/ruby/etc programmers can program in the database in > their native language. This is something that makes PostgreSQL unique > and should provide additional incentive for people to use PostgreSQL. I > don't think it matters much at all if those 'bonus languages' are > included in core or not, at least not to end-users. FWIW I agree. The extensibility of Postgres is its strong point. That you can program the server easily and conveniently in your favourite language without going through extra layers of abstraction or complicated build environments is the biggest component of that. -- greg
>Honestly, I think if we're going to spend time worrying about languages >as features then we should be doing more to advertise the fact that >perl/PHP/python/ruby/etc programmers can program in the database in >their native language. > I agree with you completely. > This is something that makes PostgreSQL unique >and should provide additional incentive for people to use PostgreSQL. I >don't think it matters much at all if those 'bonus languages' are >included in core or not, at least not to end-users. > > -- Command Prompt, Inc., home of Mammoth PostgreSQL - S/ODBC and S/JDBC Postgresql support, programming shared hosting and dedicated hosting. +1-503-667-4564 - jd@commandprompt.com - http://www.commandprompt.com PostgreSQL Replicator -- production quality replication for PostgreSQL
Tom Lane wrote: >"Marc G. Fournier" <scrappy@postgresql.org> writes: > > >>On Fri, 1 Apr 2005, Joshua D. Drake wrote: >> >> >>>Are we interested in having plPHP in core? >>> >>> > > > >>Is there a reason why it can no longer operate as a standalone language >>out of pgfoundry, like pl/java and pl/perl? >> >> I have said this before. Let me say it again and please take note. I did not start the plperlng project on pgfoundry as an alternative to the core plperl. It is a developers sandbox, and it was always the intention to feed the work back to the core, as indeed we did for the 8.0 release. Frankly, if I had thought that there would be so much wilful misunderstanding of the intention I would not have done it. So please stop with this assertion that plperl runs from pgfoundry. I am really at a loss to understand thie push to get PLs out of the core. Whose interest do you think it will serve? We just advertised the upgrade to plperl as a major selling point of the 8.0 release. The "someone might do it differently or better" argument is a cop-out. If you're in the management group your responsibility is to make sensible choices. Lots of software acquires standard packages over time. Example: perl, which has an extremely well publicised and well-known extension system (CPAN) that has had for years a high resolution timer extension package available. From the 5.8 release that package has become part of the standard distribution. That doesn't stop anyone from developing a better or alternative hires timer. If we had a very much larger postgres development community then it might make sense to foster some diversity among PL implementations. We don't, so it doesn't, IMNSHO. > >PLs are sufficiently tightly tied to the core that it's probably >easier to maintain them as part of our core CVS than otherwise. >(Ask Joe Conway about PL/R. Thomas Hallgren is probably not that >happy about maintaining pl/java out of core, either. And pl/perl >*is* in core.) > > And we need the core support. I appreciate having the support and help of Tom, Joe, Bruce and others. I have little doubt Joshua Drake feels the same way. >I'm thinking that a pl/PHP is much more interesting for the long term >than, say, pl/tcl (mind you, I am a Tcl partisan from way back, but >I see that many people are not so enlightened). Barring any licensing >problems I think this is something to pursue. > > > Yes, I regard it as an abomination unto man and god, but others want it. :-) If there are no license or build issues I'm in favor. Quite apart from anything else it might help grab some market share from all those apps built on php+mysql One last thing: one of the enhancements in the wind for buildfarm is to run the PL tests. This will *only* be done for PLs that are in the core - I am not going to get into buildfarm having to run cvs update against more than one source. So if you want that to happen, keep the PLs where they are (and take on pl/php if possible). I'd also love to have pl/ruby - is that another one that is inhibited by license issues? cheers andrew > >
Andrew Dunstan <andrew@dunslane.net> writes: > ... If there are no license or build issues I'm in favor. Peter has pointed out that the problem of circular dependencies is a showstopper for integrating plPHP. The build order has to be Postgres PHP (since its existing DB support requires Postgres to build) plPHP so putting #1 and #3 into the same package is a no go. Which is too bad, but I see no good way around it. regards, tom lane
Tom Lane wrote: >Andrew Dunstan <andrew@dunslane.net> writes: > > >>... If there are no license or build issues I'm in favor. >> >> > >Peter has pointed out that the problem of circular dependencies is a >showstopper for integrating plPHP. The build order has to be > Postgres > PHP (since its existing DB support requires Postgres to build) > plPHP >so putting #1 and #3 into the same package is a no go. Which is too >bad, but I see no good way around it. > > > > Oh. I didn't see that - I assumed that it had been fixed. (My email has been AWOL for 48 hours). cheers andrew
On Monday 04 April 2005 12:01, Tom Lane wrote: > Andrew Dunstan <andrew@dunslane.net> writes: > > ... If there are no license or build issues I'm in favor. > > Peter has pointed out that the problem of circular dependencies is a > showstopper for integrating plPHP. The build order has to be > Postgres > PHP (since its existing DB support requires Postgres to build) > plPHP > so putting #1 and #3 into the same package is a no go. Which is too > bad, but I see no good way around it. > AFAICT Peter's claim is false. You can install plphp in the order of PHP, PostgreSQL,plPHP which is the same for all of the other pl's. You don't need postgresql installed before php any more than you need it installed for perl (although you do need postgresql installed to compile some of the perl & php db interfaces, but that is all after the fact.) -- Robert Treat Build A Brighter Lamp :: Linux Apache {middleware} PostgreSQL
Tom Lane wrote: >Andrew Dunstan <andrew@dunslane.net> writes: > >>... If there are no license or build issues I'm in favor. >> > >Peter has pointed out that the problem of circular dependencies is a >showstopper for integrating plPHP. The build order has to be > Postgres > PHP (since its existing DB support requires Postgres to build) > plPHP >so putting #1 and #3 into the same package is a no go. Which is too >bad, but I see no good way around it. > O.k. I am confused here. You do not need PHP DB support for plPHP. You only need the php.so (once were done anyway). Which means that as long as PHP is installed it will work, just like plperl or plpython. The ONLY reason you would build PHP separately is if your stock installed PHP didn't have a feature enabled that you want. This has nothing at all to do with plPHP. Sincerely, Joshua D. Drake > > regards, tom lane >
Robert Treat <xzilla@users.sourceforge.net> writes: > On Monday 04 April 2005 12:01, Tom Lane wrote: >> Peter has pointed out that the problem of circular dependencies is a >> showstopper for integrating plPHP. > AFAICT Peter's claim is false. You can install plphp in the order of PHP, > PostgreSQL,plPHP which is the same for all of the other pl's. This is not an install problem, it is a build problem. PHP cannot be built (except in a stripped-down form) without Postgres already built. If we try to build plPHP as part of the Postgres package then we have the same problem in the other direction. We are going to be very unloved by packagers if we try to force them to deal with that (and remember I work for Red Hat nowadays ... in fact it would be *me* having to deal with the fallout from circular build dependencies). regards, tom lane
Robert Treat wrote: >On Monday 04 April 2005 12:01, Tom Lane wrote: > > >>Andrew Dunstan <andrew@dunslane.net> writes: >> >> >>>... If there are no license or build issues I'm in favor. >>> >>> >>Peter has pointed out that the problem of circular dependencies is a >>showstopper for integrating plPHP. The build order has to be >> Postgres >> PHP (since its existing DB support requires Postgres to build) >> plPHP >>so putting #1 and #3 into the same package is a no go. Which is too >>bad, but I see no good way around it. >> >> >> > >AFAICT Peter's claim is false. You can install plphp in the order of PHP, >PostgreSQL,plPHP which is the same for all of the other pl's. > >You don't need postgresql installed before php any more than you need it >installed for perl (although you do need postgresql installed to compile some >of the perl & php db interfaces, but that is all after the fact.) > > I am told that the difference is that PHP gives you a choice of statically or dynamically linked db support. By contrast, in Perl, for example, DBD::Pg is always built dynamically (AFAIK). Your assessment appears to be true for the (very common) case where PHP's client side db support is dynamically linked. cheers andrew
> I am told that the difference is that PHP gives you a choice of > statically or dynamically linked db support. By contrast, in Perl, for > example, DBD::Pg is always built dynamically (AFAIK). Your assessment > appears to be true for the (very common) case where PHP's client side > db support is dynamically lnked. PHP is typically dynamically built as well now. If you install redhat you have to explictly say php-pgsql to get postgresql support. This is the same on all the major Linux distriubtions I know of including one offs like Ubuntu. As Marc pointed out it is also the same on FreeBSD. Maybe I am just dense, but the argument seems to be completely moot. PHP is no different than Perl or Python in this case. Heck even if PHP is built statically (where the PostgreSQL driver is linked in versus an .so) it still has nothing to do with plPHP. Sincerely, Joshua D. Drake > > cheers > > andrew
"Joshua D. Drake" <jd@commandprompt.com> writes: > Maybe I am just dense, but the argument seems to be completely moot. PHP > is no different than Perl or Python in this case. Perl and Python don't have "BuildPrereq: postgresql-devel" in their rpmspecs. PHP does. regards, tom lane
On Mon, 2005-04-04 at 16:17, Tom Lane wrote: > Robert Treat <xzilla@users.sourceforge.net> writes: > > On Monday 04 April 2005 12:01, Tom Lane wrote: > >> Peter has pointed out that the problem of circular dependencies is a > >> showstopper for integrating plPHP. > > > AFAICT Peter's claim is false. You can install plphp in the order of PHP, > > PostgreSQL,plPHP which is the same for all of the other pl's. > > This is not an install problem, it is a build problem. PHP cannot be > built (except in a stripped-down form) without Postgres already built. > If we try to build plPHP as part of the Postgres package then we have > the same problem in the other direction. We are going to be very > unloved by packagers if we try to force them to deal with that > (and remember I work for Red Hat nowadays ... in fact it would be *me* > having to deal with the fallout from circular build dependencies). > If by "stripped down" you mean without postgresql database support then I'll grant you that, but it is no different than other any other pl whose parent language requires postgresql to be installed. If packagers are able to handle those languages than why can't they do the same with PHP ? Robert Treat -- Build A Brighter Lamp :: Linux Apache {middleware} PostgreSQL
Tom Lane wrote: >"Joshua D. Drake" <jd@commandprompt.com> writes: > > >>Maybe I am just dense, but the argument seems to be completely moot. PHP >>is no different than Perl or Python in this case. >> >> > >Perl and Python don't have "BuildPrereq: postgresql-devel" in their rpmspecs. >PHP does. > > That makes perfect sense. Although that req is usually a flag that can be turned on/off and the req is used to create the php-pgsql package. Although it sources from PHP of course. O.k. I see the other side of the argument thanks to Tom and Andrew, I don't agree with it (in terms of being an issue) but at least I understand it. Besides people could always choose to NOT package with plPHP regardless if it was in core. It would however be there for people who compile from a tar ball or for people who don't use PHP but do use plPHP (for whatever reason). Sincerely, Joshua D. Drake > regards, tom lane > >---------------------------(end of broadcast)--------------------------- >TIP 3: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to majordomo@postgresql.org so that your > message can get through to the mailing list cleanly > >
Robert Treat <xzilla@users.sourceforge.net> writes: > If by "stripped down" you mean without postgresql database support then > I'll grant you that, but it is no different than other any other pl > whose parent language requires postgresql to be installed. If packagers > are able to handle those languages than why can't they do the same with > PHP ? Other languages don't require PG to be installed in order to compile them. For example, you can build Perl (with no Postgres on the system), build Postgres and then build DBD::Pg as a completely separate step. -Doug
On Mon, Apr 04, 2005 at 04:48:50PM -0400, Robert Treat wrote: > If by "stripped down" you mean without postgresql database support then > I'll grant you that, but it is no different than other any other pl > whose parent language requires postgresql to be installed. If packagers > are able to handle those languages than why can't they do the same with > PHP ? Because those other languages are well designed and PHP is not. The Postgres support package for Perl is a completely separate add-on, which you can add well after the core of Perl is installed. Same for Python. But PHP is a braindead package which includes the Postgres support in the main codebase. The problem is that even if you could build a Postgres support package for PHP without building the whole PHP (which you _can_ do AFAIK), it means that you need to make a second pass at the PHP source RPM, which will be probably rejected by packagers. I think the problem could be solved if we were to include PHP in the main CVS, but not distribute it in the same tarball. So the code is kept where it really belongs, and we allow building both things separately for the packagers' sake. -- Alvaro Herrera (<alvherre[@]dcc.uchile.cl>) "If it wasn't for my companion, I believe I'd be having the time of my life" (John Dunbar)
On Mon, 2005-04-04 at 17:00, Doug McNaught wrote: > Robert Treat <xzilla@users.sourceforge.net> writes: > > > If by "stripped down" you mean without postgresql database support then > > I'll grant you that, but it is no different than other any other pl > > whose parent language requires postgresql to be installed. If packagers > > are able to handle those languages than why can't they do the same with > > PHP ? > > Other languages don't require PG to be installed in order to compile > them. For example, you can build Perl (with no Postgres on the > system), build Postgres and then build DBD::Pg as a completely > separate step. > You can build PHP (with no postgres on the system) and then build Postgres and then build & enable the php pgsql.so in a separate step as well. Robert Treat -- Build A Brighter Lamp :: Linux Apache {middleware} PostgreSQL
On Mon, 2005-04-04 at 17:03, Alvaro Herrera wrote: > On Mon, Apr 04, 2005 at 04:48:50PM -0400, Robert Treat wrote: > > > If by "stripped down" you mean without postgresql database support then > > I'll grant you that, but it is no different than other any other pl > > whose parent language requires postgresql to be installed. If packagers > > are able to handle those languages than why can't they do the same with > > PHP ? > > Because those other languages are well designed and PHP is not. The > Postgres support package for Perl is a completely separate add-on, which > you can add well after the core of Perl is installed. Same for Python. > But PHP is a braindead package which includes the Postgres support in > the main codebase. > > The problem is that even if you could build a Postgres support package > for PHP without building the whole PHP (which you _can_ do AFAIK), it > means that you need to make a second pass at the PHP source RPM, which > will be probably rejected by packagers. > ISTM this is a problem with the packaging as much as it is with PHP, but in neither case is this a problem for PostgreSQL. ISTM decisions as to what is included in PostgreSQL core should not be based on the design decisions of one vendors packaging scheme IMHO. > > I think the problem could be solved if we were to include PHP in the > main CVS, but not distribute it in the same tarball. So the code is > kept where it really belongs, and we allow building both things > separately for the packagers' sake. > > -- > Alvaro Herrera (<alvherre[@]dcc.uchile.cl>) > "If it wasn't for my companion, I believe I'd be having > the time of my life" (John Dunbar) > > ---------------------------(end of broadcast)--------------------------- > TIP 5: Have you checked our extensive FAQ? > > http://www.postgresql.org/docs/faq -- Build A Brighter Lamp :: Linux Apache {middleware} PostgreSQL
Alvaro Herrera wrote: >On Mon, Apr 04, 2005 at 04:48:50PM -0400, Robert Treat wrote: > > >The problem is that even if you could build a Postgres support package >for PHP without building the whole PHP (which you _can_ do AFAIK), it >means that you need to make a second pass at the PHP source RPM, which >will be probably rejected by packagers. > > FYI this is supposedly fixed in 5.1. Sincerely, Joshua D. Drake > >I think the problem could be solved if we were to include PHP in the >main CVS, but not distribute it in the same tarball. So the code is >kept where it really belongs, and we allow building both things >separately for the packagers' sake. > > >
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 > Other languages don't require PG to be installed in order to compile > them. For example, you can build Perl (with no Postgres on the > system), build Postgres and then build DBD::Pg as a completely > separate step. Just so we are all on the same sheet of music, DBD::Pg is a completely different animal from Pl/Perl and really has nothing to do with the discussion of adding Pl/PHP to the core. - -- Greg Sabino Mullane greg@turnstep.com PGP Key: 0x14964AC8 200504042245 http://biglumber.com/x/web?pk=2529DF6AB8F79407E94445B4BC9B906714964AC8 -----BEGIN PGP SIGNATURE----- iD8DBQFCUfwAvJuQZxSWSsgRAiyMAJ9S+02lvFdlOzZphOZDwaPrDboH/gCcCDlY xvPxk6f579EvQO3dxTaRreg= =FHfy -----END PGP SIGNATURE-----
Alvaro Herrera <alvherre@dcc.uchile.cl> writes: > Because those other languages are well designed and PHP is not. The > Postgres support package for Perl is a completely separate add-on, which > you can add well after the core of Perl is installed. Same for Python. > But PHP is a braindead package which includes the Postgres support in > the main codebase. Oh egads. I finally understand this whole thread. You guys are all talking about the old-fashioned Postgres support that has special pg* functions that deal only with Postgres. There are PHP modules that abstract that all away now, much like DBD::Pg, and I believe they can be build as external modules. So I'm not sure how much this matters any more. Perhaps it's still a factor for another release or two though. I'm surprised Tom's concerned about this. It's especially not relevant for distribution based systems like Debian or Redhat. There are tons of circular build dependencies in a complete distribution (think of the compiler toolchain for example) and packagers can just download binary packages for the packages they aren't developing at the time. -- greg
On Tue, 5 Apr 2005 06:01 am, Joshua D. Drake wrote: > Tom Lane wrote: > > >Andrew Dunstan <andrew@dunslane.net> writes: > > > >>... If there are no license or build issues I'm in favor. > >> > > > >Peter has pointed out that the problem of circular dependencies is a > >showstopper for integrating plPHP. The build order has to be > > Postgres > > PHP (since its existing DB support requires Postgres to build) > > plPHP > >so putting #1 and #3 into the same package is a no go. Which is too > >bad, but I see no good way around it. > > > O.k. I am confused here. You do not need PHP DB support for plPHP. You only > need the php.so (once were done anyway). Which means that as long as PHP > is installed it will work, just like plperl or plpython. > > The ONLY reason you would build PHP separately is if your stock installed > PHP didn't have a feature enabled that you want. This has nothing at all > to do with plPHP. > The issue also includes the fact that you can't install libpq without having postgresql installed. If you could do that, the circular dependency wouldn't exist. Some systems build postgresql into php, given that is the case, what Tom says is correct. First you would have to force postgresql to be installed without pl/php. Then install php with postgresql support, then install pl/php. OR Install php without postgresql support Install postgresql with pl/php Rebuild php with postgresql support (Unless you only want it available in the db) I may be a bad man for suggesting it... But is it possible to ship libpq as a seperate tarball that you can compile without postgresql server? Regards Russell Smith
On Tue, Apr 05, 2005 at 06:06:09PM +1000, Russell Smith wrote: > The issue also includes the fact that you can't install libpq without having postgresql > installed. If you could do that, the circular dependency wouldn't exist. > > Some systems build postgresql into php, given that is the case, what Tom says is correct. > First you would have to force postgresql to be installed without pl/php. Then install php > with postgresql support, then install pl/php. > > OR > > Install php without postgresql support > Install postgresql with pl/php > Rebuild php with postgresql support (Unless you only want it available in the db) Take for example Debian, it autobuilds any source package on 11 architectures or so. The rule is, install dependancies, build source. It has to be reproducable. You can't build twice and get different results. Yes, if you're building it yourself you can do all sorts of trick, but autobuilders can't. Circular dependancies are a no-no. > I may be a bad man for suggesting it... But is it possible to ship libpq as a seperate > tarball that you can compile without postgresql server? I guess that seperate tarball would have to include pg_dump, pg_ctl and any of the other included programs that depend on libpq. Seperating server and client portions is an interesting idea. Ofcourse, the regression tests would become a third package and then you could spend time making them all match. I suppose the choice comes down to either PHP splitting the DB access (like other languages) or PostgreSQL splitting out pl/PHP. -- Martijn van Oosterhout <kleptog@svana.org> http://svana.org/kleptog/ > Patent. n. Genius is 5% inspiration and 95% perspiration. A patent is a > tool for doing 5% of the work and then sitting around waiting for someone > else to do the other 95% so you can sue them.
Attachment
Greg Sabino Mullane said: > >> Other languages don't require PG to be installed in order to compile >> them. For example, you can build Perl (with no Postgres on the >> system), build Postgres and then build DBD::Pg as a completely >> separate step. > > Just so we are all on the same sheet of music, DBD::Pg is a completely > different animal from Pl/Perl I think everybody gets that. > and really has nothing to do with the > discussion of adding Pl/PHP to the core. > It's relevant because it's the *client* side support in PHP that creates a build dependency of PHP on Postgres. As was being pointed out above, Perl doesn't suffer from this defect. cheers andrew
El Lun 04 Abr 2005 17:36, Tom Lane escribió: > "Joshua D. Drake" <jd@commandprompt.com> writes: > > Maybe I am just dense, but the argument seems to be completely moot. PHP > > is no different than Perl or Python in this case. > > Perl and Python don't have "BuildPrereq: postgresql-devel" in their rpmspecs. > PHP does. The header files would not be a problem. The real problem is that you also need to have postgresql-libs. :-( Any way, RH deals all the times with circular dependencies. P.D.: It would be nice to have plPHP in the core, IMHO. -- 09:03:26 up 3 days, 17:32, 1 user, load average: 0.39, 0.61, 0.64 ----------------------------------------------------------------- Martín Marqués | select 'mmarques' || '@' || 'unl.edu.ar' Centro de Telematica | DBA, Programador, Administrador Universidad Nacional del Litoral -----------------------------------------------------------------
El Lun 04 Abr 2005 18:00, Doug McNaught escribió: > Robert Treat <xzilla@users.sourceforge.net> writes: > > > If by "stripped down" you mean without postgresql database support then > > I'll grant you that, but it is no different than other any other pl > > whose parent language requires postgresql to be installed. If packagers > > are able to handle those languages than why can't they do the same with > > PHP ? > > Other languages don't require PG to be installed in order to compile > them. For example, you can build Perl (with no Postgres on the > system), build Postgres and then build DBD::Pg as a completely > separate step. The same thing can be done with PHP. -- 09:25:38 up 3 days, 17:54, 1 user, load average: 0.45, 0.28, 0.38 ----------------------------------------------------------------- Martín Marqués | select 'mmarques' || '@' || 'unl.edu.ar' Centro de Telematica | DBA, Programador, Administrador Universidad Nacional del Litoral -----------------------------------------------------------------
=?iso-8859-1?q?Mart=EDn_Marqu=E9s?= <martin@bugs.unl.edu.ar> writes: > El Lun 04 Abr 2005 17:36, Tom Lane escribi�: >> Perl and Python don't have "BuildPrereq: postgresql-devel" in their rpmspecs. >> PHP does. > The header files would not be a problem. The real problem is that you also > need to have postgresql-libs. :-( Actually the header files are a problem too, because you can't have 'em without doing at least a "configure" to generate the machine-specific ones. The configure would already fail if PHP weren't installed and --with-php were mentioned. So the process would have to look something like -- configure PG, but lie about your ultimate intentions -- install bogus PG header files -- build and install PHP -- reconfigure PG, and hope you don't mess up by changing anything except the --with-php flag -- build and install PG This is just not reasonable from a packaging standpoint. regards, tom lane
On Tue, 5 Apr 2005, Russell Smith wrote: > I may be a bad man for suggesting it... But is it possible to ship > libpq as a seperate tarball that you can compile without postgresql > server? Actually, its something that I'm going to sit down and work on ... not pulling libpq out of core, but creating a 'dist' target to makes a tar ball that includes everything required to build it seperately ... its a matter of finding the time to do it :( ---- Marc G. Fournier Hub.Org Networking Services (http://www.hub.org) Email: scrappy@hub.org Yahoo!: yscrappy ICQ: 7615664