Thread: the future of pljava development

the future of pljava development

From
Marek Lewczuk
Date:
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



Re: the future of pljava development

From
Chris Browne
Date:
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

Re: the future of pljava development

From
"Joshua D. Drake"
Date:
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/


Re: the future of pljava development

From
Thomas Kellerer
Date:
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

Re: the future of pljava development

From
Guy Rouillier
Date:
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

Re: the future of pljava development

From
Dave Page
Date:
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


Re: the future of pljava development

From
Marek Lewczuk
Date:
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



Re: the future of pljava development

From
Marek Lewczuk
Date:
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



Re: the future of pljava development

From
Marek Lewczuk
Date:
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



Re: the future of pljava development

From
Thomas Hallgren
Date:
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
>
>


Re: the future of pljava development

From
Marek Lewczuk
Date:
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



Re: the future of pljava development

From
Magnus Hagander
Date:
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

Re: the future of pljava development

From
Marek Lewczuk
Date:
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



Re: the future of pljava development

From
Magnus Hagander
Date:
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


Re: the future of pljava development

From
Marek Lewczuk
Date:
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



Re: the future of pljava development

From
Guy Rouillier
Date:
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

Re: the future of pljava development

From
"Andrej Ricnik-Bay"
Date:
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

Re: the future of pljava development

From
Jack Orenstein
Date:
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