Thread: the future of pljava development
Hello everyone, I would like to start very important (from my point of view) topic - the future of pljava in PostgreSQL development. Thomas Hallgren (creator of pljava) has made a great job setting up the project, but there are many things to do (e.g. preparing pljava for PostgreSQL 8.3) in order to have pljava better and more tightly integrated with PostgreSQL. Unfortunately Thomas is not able to continue the development so actively as before and people like me are able to help only coding things in Java and with testing - people that are fluent in C, JNI and PostgreSQL backend are needed. Without that kind of people it will be very difficult to continue active development of pljava. I understand that most of PostgreSQL core team aren't fans of Java, however ignoring this language (most popular programing language) and developers that uses Java in everyday work is not advisable if we want to make PostgreSQL more popular. Look at competing RDBMS - Oracle and DB2 have very strong support for Java, not only as procedural language but in many other areas. I would like to know your opinion about pljava and its future and maybe also there are people among PostgreSQL developers (core team or contrib team) that are able to help with the development. We can make a survey how many PostgreSQL users would like to use pljava - I'm sure that the results would show that it is required to have pljava as one of the most important features of PostgreSQL. Best wishes, Marek
newsy@lewczuk.com (Marek Lewczuk) writes: > Hello everyone, > I would like to start very important (from my point of view) topic - > the future of pljava in PostgreSQL development. Thomas Hallgren > (creator of pljava) has made a great job setting up the project, but > there are many things to do (e.g. preparing pljava for PostgreSQL 8.3) > in order to have pljava better and more tightly integrated with > PostgreSQL. Unfortunately Thomas is not able to continue the > development so actively as before and people like me are able to help > only coding things in Java and with testing - people that are fluent > in C, JNI and PostgreSQL backend are needed. Without that kind of > people it will be very difficult to continue active development of > pljava. > > I understand that most of PostgreSQL core team aren't fans of Java, > however ignoring this language (most popular programing language) and > developers that uses Java in everyday work is not advisable if we want > to make PostgreSQL more popular. Look at competing RDBMS - Oracle and > DB2 have very strong support for Java, not only as procedural language > but in many other areas. > > I would like to know your opinion about pljava and its future and > maybe also there are people among PostgreSQL developers (core team or > contrib team) that are able to help with the development. We can make > a survey how many PostgreSQL users would like to use pljava - I'm sure > that the results would show that it is required to have pljava as one > of the most important features of PostgreSQL. At this point in time, a much more important feature of PostgreSQL would be for version 8.3 to be released. That process is running into *some* problems vis-a-vis the review process. The last that I heard, it was somewhat indeterminate whether pljava or pl/j (a separate project) was the preferred way to provide Java support. The fact that Oracle or IBM are marketing their Java support heavily *does not* imply that it is a good idea for the PostgreSQL project ought to do the same. We have limited time; taking time from other things to spend on pljava is quite likely not to be a wonderful idea. It requires that people whose expertise *isn't* Java spend a lot of time learning Java details. If there aren't enough people interested in supporting Java, then it is by no means evident that anything can or should be done. -- let name="cbbrowne" and tld="linuxfinances.info" in name ^ "@" ^ tld;; http://linuxdatabases.info/info/advocacy.html "[In the first lecture of a course on complexity theory]. If I teach this course thoroughly enough, none of you will attempt the exam questions on this topic, and I shall consider this to be a complete success." -- Arthur Norman
Chris Browne wrote: > newsy@lewczuk.com (Marek Lewczuk) writes: > At this point in time, a much more important feature of PostgreSQL > would be for version 8.3 to be released. That process is running into > *some* problems vis-a-vis the review process. > > The last that I heard, it was somewhat indeterminate whether pljava or > pl/j (a separate project) was the preferred way to provide Java > support. Hardly, pljava is actually mature and works well. plj doesn't even support PostgreSQL 8.1 let alone 8.2 or -HEAD. > > The fact that Oracle or IBM are marketing their Java support heavily > *does not* imply that it is a good idea for the PostgreSQL project > ought to do the same. Depends... do we feel like competing? Personally I hate Java. I think it is a waste of resources and energy, but the writing is on the wall. We need to support it. > We have limited time; taking time from other > things to spend on pljava is quite likely not to be a wonderful idea. > It requires that people whose expertise *isn't* Java spend a lot of > time learning Java details. Now this I agree with. I am sure postgresql hackers are happy to help the pljava team get things where they need to be, but -hackers needs to be focusing on releasing 8.3. > > If there aren't enough people interested in supporting Java, then it > is by no means evident that anything can or should be done. I think his email was all about trying to get people to help with the pljava project and by no means should have been considered a demand. Sincerely, Joshua D. Drake -- === The PostgreSQL Company: Command Prompt, Inc. === Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240 Providing the most comprehensive PostgreSQL solutions since 1997 http://www.commandprompt.com/ Donate to the PostgreSQL Project: http://www.postgresql.org/about/donate PostgreSQL Replication: http://www.commandprompt.com/products/
Marek Lewczuk wrote on 23.05.2007 21:37: > I would like to know your opinion about pljava and its future I have never used Java-in-the-database with any of the DBMS I have used and I have never understood the reasoning behind it. My personal opinion is, that it's not needed. Most of the time the same code can run just as efficiently inside the application (server) as well. PG already has a very good language for stored procedure and I think that is enough. Don't get me wrong: I'm a long time Java developer and architect. I think a very good (and fast) JDBC is a lot more important than beeing able to write stored procedures in yet another language. And PG already has a pretty good JDBC driver (Oracle's driver seems to be a good deal faster since the 10.x release though, especially when it comes to using batched statements) I think the Java community (despite IBM's hype) strongly objects having *any* logic in the database at all (which I do not fully agree with) so the interest in that option might not be that high at all. Just my 0.02€ Regards Thomas
Joshua D. Drake wrote: >> We have limited time; taking time from other >> things to spend on pljava is quite likely not to be a wonderful idea. >> It requires that people whose expertise *isn't* Java spend a lot of >> time learning Java details. > > Now this I agree with. I am sure postgresql hackers are happy to help > the pljava team get things where they need to be, but -hackers needs to > be focusing on releasing 8.3. Nothing productive will come of a language debate; let's just say there are things you can do with a complete programming language at your disposal that you can't do with PL/pgsql. I use Java in the database, and the current PL/Java works very well. I know C and Java well, and would be willing to contribute to keeping PL/Java going. I hadn't heard that Thomas was departing - sorry to hear that. Of course, I'm as time-constrained as everyone else, but I'd rather see PL/Java move forward slowly than get dropped. -- Guy Rouillier
Joshua D. Drake wrote: > Now this I agree with. I am sure postgresql hackers are happy to help > the pljava team get things where they need to be, but -hackers needs to > be focusing on releasing 8.3. pl/java is actually one of the problems that pgInstaller is currently facing. In a nutshell, if we don't get a release for 8.3 before we go to beta, we'll probably have to pull it form the distribution which would be a shame. Regards, Dave
Guy Rouillier pisze: > Nothing productive will come of a language debate; let's just say there > are things you can do with a complete programming language at your > disposal that you can't do with PL/pgsql. I use Java in the database, Exactly - sometimes we need to write something more complicated than simple trigger. > and the current PL/Java works very well. I know C and Java well, and > would be willing to contribute to keeping PL/Java going. I hadn't heard Great to hear that, please contact with Thomas, lets try to make a roadmap what need to be done. Best wishes, Marek
Dave Page pisze: > Joshua D. Drake wrote: >> Now this I agree with. I am sure postgresql hackers are happy to help >> the pljava team get things where they need to be, but -hackers needs to >> be focusing on releasing 8.3. > > pl/java is actually one of the problems that pgInstaller is currently > facing. In a nutshell, if we don't get a release for 8.3 before we go to > beta, we'll probably have to pull it form the distribution which would > be a shame. We have a few weeks in order to have it ready for 8.3 and because of that I've started this discussion. I hope that we will be able to make pljava ready for 8.3 and continue the development. From windows point of view this is really great feature to have pljava inside the pgInstaller (I'm using it on my laptop) so for sure we need to make it ready for 8.3. Best wishes, Marek
Thomas Kellerer pisze: > Marek Lewczuk wrote on 23.05.2007 21:37: > >> I would like to know your opinion about pljava and its future > > I have never used Java-in-the-database with any of the DBMS I have used > and I have never understood the reasoning behind it. > My personal opinion is, that it's not needed. Most of the time the same > code can run just as efficiently inside the application (server) as well. Not entirely true - it all depends on the type of the application. My database is quite large - hundreds of tables, tons of data - many things can be done within the database and it helps making things easier. If you have a simple database then you probably won't need pljava - if you need a trigger then you can write it in plpgsql, however when we talk about very complicated things then pljava (or any other more advanced language) can make your live much easier and things can be done much faster. Sometimes database need to be extended by some external library - for example json decoding/encoding (just an example...) and having pljava makes it easier for Java developers to do it. > PG already has a very good language for stored procedure and I think > that is enough. Don't get me wrong: I'm a long time Java developer and > architect. As I said: it all depends. I'm not saying that I would write all triggers in Java, but ability to use huge number of Java libraries inside PostgreSQL is great thing. Regards, Marek
Hi, This sounds great. Sorry for not being responsive on the pgsql-general. I'll read up on this thread during the weekend. Short term, this is what I think needs to be done: 1. Create a PL/Java 1.4 from current CVS. It compiles and runs with PostgreSQL 8.2. 2. Do whatever it takes to make PL/Java run with 8.3. 3. When 8.3 is released, verify that everything is really ok, then a 1.5 release should come out. After that, there are improvements in the Java domain. We should support Java 1.5 for instance. 1.4 is soon starting its End Of Life cycle. Would you like to become committers to the PL/Java project? Regards, Thomas Hallgren Marek Lewczuk wrote: > Guy Rouillier pisze: >> Nothing productive will come of a language debate; let's just say >> there are things you can do with a complete programming language at >> your disposal that you can't do with PL/pgsql. I use Java in the >> database, > Exactly - sometimes we need to write something more complicated than > simple trigger. > >> and the current PL/Java works very well. I know C and Java well, and >> would be willing to contribute to keeping PL/Java going. I hadn't heard > Great to hear that, please contact with Thomas, lets try to make a > roadmap what need to be done. > > Best wishes, > Marek > >
Thomas Hallgren pisze: > Hi, > This sounds great. Sorry for not being responsive on the pgsql-general. > I'll read up on this thread during the weekend. Short term, this is what > I think needs to be done: > > 1. Create a PL/Java 1.4 from current CVS. It compiles and runs with > PostgreSQL 8.2. > 2. Do whatever it takes to make PL/Java run with 8.3. > 3. When 8.3 is released, verify that everything is really ok, then a 1.5 > release should come out. > > After that, there are improvements in the Java domain. We should support > Java 1.5 for instance. 1.4 is soon starting its End Of Life cycle. We should support 1.6 (I'm using it with pljava without problems - however I'm not using all new features of Java 6). > Would you like to become committers to the PL/Java project? > You can count on me (only as Java coder or tester). Regards, Marek
Marek Lewczuk wrote: > I understand that most of PostgreSQL core team aren't fans of Java, > however ignoring this language (most popular programing language) and > developers that uses Java in everyday work is not advisable if we want > to make PostgreSQL more popular. Look at competing RDBMS - Oracle and > DB2 have very strong support for Java, not only as procedural language > but in many other areas. Being a fan or not of the language really isn't the issue, and nobody is *ignoring* the language and platform. We all know "the others" have it. And we want it. But the core team (or more importantly in this case, the people doing backend development, which is partially a different thing) aren't *java programmers* (at least not good ones, AFAIK), so they really can't do much there. This is one of the reasons we have the pl/java project separately - to make it possible to have people focus on what they know and are good at. Oh, and both DB2 and SQLServer has .Net support for stored procedures, and we don't have that at all - so you could make an equally strong argument that the core people should focus on that. Which has even less chance of happening :-) > I would like to know your opinion about pljava and its future and maybe > also there are people among PostgreSQL developers (core team or contrib > team) that are able to help with the development. If you (or whomever picks up where the project is at now) have any specific issues wrt the backend integration and such things, there are a lot of people on the -hackers list that will be happy to help out. But since most of us aren't Java people, you're probably going to have to look elsewhere if you need help with the Java parts. > We can make a survey > how many PostgreSQL users would like to use pljava - I'm sure that the > results would show that it is required to have pljava as one of the most > important features of PostgreSQL. We did have one not too long ago. It showed that about 14% of our users did, which puts it in fourth place, after perl, php and python. But not far behind. See http://www.postgresql.org/community/survey.44 So saying that it's one of the most important features is definitely wrong. Saying it's important or very important is absolutely not wrong. //Magnus
Magnus Hagander pisze: > Being a fan or not of the language really isn't the issue, and nobody is > *ignoring* the language and platform. We all know "the others" have it. > And we want it. But the core team (or more importantly in this case, the > people doing backend development, which is partially a different thing) > aren't *java programmers* (at least not good ones, AFAIK), so they > really can't do much there. This is one of the reasons we have the > pl/java project separately - to make it possible to have people focus on > what they know and are good at. I didn't wanted to say that all PostgreSQL core developers should start working on pljava - I just wanted to ask whether we can ask for help with C,JNI and PostgreSQL backend cause that is the problem. > > Oh, and both DB2 and SQLServer has .Net support for stored procedures, > and we don't have that at all - so you could make an equally strong > argument that the core people should focus on that. Which has even less > chance of happening :-) Good point, but from the other hand there are plenty of programing languages but Java is the most popular :-) (source: http://www.tiobe.com/tpci.htm). >> I would like to know your opinion about pljava and its future and maybe >> also there are people among PostgreSQL developers (core team or contrib >> team) that are able to help with the development. > > If you (or whomever picks up where the project is at now) have any > specific issues wrt the backend integration and such things, there are a > lot of people on the -hackers list that will be happy to help out. But > since most of us aren't Java people, you're probably going to have to > look elsewhere if you need help with the Java parts. There is no problem with Java parts but rather connecting Java with PostgreSQL backend which requires knowledge of C and JNI. > We did have one not too long ago. It showed that about 14% of our users > did, which puts it in fourth place, after perl, php and python. But not > far behind. See http://www.postgresql.org/community/survey.44 Count +1 for pljava, I didn't vote (unfortunately) :-( > So saying that it's one of the most important features is definitely > wrong. Saying it's important or very important is absolutely not wrong. You are right, it's very important and I hope that all of us agree with that statement (maybe I go too far saying "one of the most...") :-) Regards, Marek
Marek Lewczuk wrote: > Magnus Hagander pisze: >> Being a fan or not of the language really isn't the issue, and nobody is >> *ignoring* the language and platform. We all know "the others" have it. >> And we want it. But the core team (or more importantly in this case, the >> people doing backend development, which is partially a different thing) >> aren't *java programmers* (at least not good ones, AFAIK), so they >> really can't do much there. This is one of the reasons we have the >> pl/java project separately - to make it possible to have people focus on >> what they know and are good at. > I didn't wanted to say that all PostgreSQL core developers should start > working on pljava - I just wanted to ask whether we can ask for help > with C,JNI and PostgreSQL backend cause that is the problem. C and the backend you can certainly get help with from the -hackers crowd. You'll have a harder time with the JNI stuff, I assume. >> Oh, and both DB2 and SQLServer has .Net support for stored procedures, >> and we don't have that at all - so you could make an equally strong >> argument that the core people should focus on that. Which has even less >> chance of happening :-) > Good point, but from the other hand there are plenty of programing > languages but Java is the most popular :-) (source: > http://www.tiobe.com/tpci.htm). Well, as with most such studies, you can find one that shows anything you want :-) But again, that's irrelevant really - it's an important platform that we want to support, doesn't matter where on the toplist it is, we all know it's there somewhere. //Magnus
Magnus Hagander pisze: > > C and the backend you can certainly get help with from the -hackers > crowd. You'll have a harder time with the JNI stuff, I assume. Great to hear that - what we need to do now is to sit down (I mean Thomas Hallgren and others) on the pljava code and see where help is needed (in order to have it prepared for 8.3 version) and plan further development. Thanks. Regards, Marek
Thomas Hallgren wrote: > Hi, > This sounds great. Sorry for not being responsive on the pgsql-general. > I'll read up on this thread during the weekend. Short term, this is what > I think needs to be done: > > 1. Create a PL/Java 1.4 from current CVS. It compiles and runs with > PostgreSQL 8.2. > 2. Do whatever it takes to make PL/Java run with 8.3. > 3. When 8.3 is released, verify that everything is really ok, then a 1.5 > release should come out. > > After that, there are improvements in the Java domain. We should support > Java 1.5 for instance. 1.4 is soon starting its End Of Life cycle. > > Would you like to become committers to the PL/Java project? Sure, I'm willing to help. -- Guy Rouillier
On 5/25/07, Marek Lewczuk <newsy@lewczuk.com> wrote: > Good point, but from the other hand there are plenty of programing > languages but Java is the most popular :-) (source: > http://www.tiobe.com/tpci.htm). Guess it depends on what survey you read ... there java is "also ran" ... http://www.dedasys.com/articles/language_popularity.html > > We did have one not too long ago. It showed that about 14% of our users > > did, which puts it in fourth place, after perl, php and python. But not > > far behind. See http://www.postgresql.org/community/survey.44 > Count +1 for pljava, I didn't vote (unfortunately) :-( -1 , I didn't vote either (unfortunately) :} C or perl would have been my choices. > Regards, > Marek Cheers, Andrej
I used to do Oracle development and could choose between PLSQL and the java alternative. I chose PLSQL because java offerred no clear advantage, and it wasn't really java. You could use String, but for performance Oracle recommended some proprietary string class. If I'm remembering correctly, you had to use JDBC from your java code (running inside Oracle!) to access the database. I didn't see the point of writing very simple procedural code in a language clearly not suited to the task. The hard parts of my problem didn't magically disappear because I could write i++ instead of i = i + 1. This was over 4 years ago, and Oracle/java integration may have improved, but slight improvements in this area really don't change the equation much. Jack Orenstein