[Pljava-dev] postgresql jdbc driver

From: thhal at mailblocks(dot)com (Thomas Hallgren)
To:
Subject: [Pljava-dev] postgresql jdbc driver
Date: 2005-02-24 19:26:00
Message-ID: thhal-0ysL5ApXtxiceKZz3+1FdYv0LADUjkG@mailblocks.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pljava-dev

Bart Bremmers wrote:

> Hi Thomas
> I asked the person working on Compiere with PLJava the following:
>
> The PLJava web site says it comes with:
> "An embedded, high performance, JDBC driver utilizing the internal
> PostgreSQL SPI routines."
> So why do you also need the jdbc3-810 driver?

PLJava doesn't need a jdbc3-810 driver in itself. The deployer utility
and the example tester (both client programs) uses it. Both test and
deployment can also be done using psql. In fact, PLJava comes with two
scripts, install.sql and uninstall.sql for this purpose.

> His answer:
>
> Yes, I know PLJAVA has a JDBC Native, the main problem is
> Compiere 252 has the following requirements:
>
> # Full support of ANSI SQL 99 (CASE, all JOIN types, ..)
> # Support of Views and Views on Views
> # Support of User Defined Functions
> (preferably via SQLJ - Java running in the database)
> # Inline Views (e.g. SELECT ... FROM (SELECT xx FROM yy) ..)
> # JDBC 3.0 Support (especially RowSet)
>
> http://www.compiere.org/technology/database/index.html
>
> Can you comment Thomas?

None of the things you line up here are things that are of any concern
for the JDBC driver except the last one. The JDBC driver will pass SQL
statements to the backend more or less unaffected. The right thing to do
here is to look at how well the PostgreSQL backend meets those
requirements. I think most of SQL 99 is well covered as well as the view
related stuff. PLJava *is* "Java running in the database" so that
specific item is well covered :-)

SQLJ is far more then "Java running in the database" b.t.w. It consists
of three parts.
Part 0: Embedded SQL in Java
Part 1: SQL routines using Java
Part 2: SQL types using Java.

A good overview can be found here:
http://www.service-architecture.com/database/articles/sqlj.html

Part 0:, a fairly horrible concept that mangles Java code and produces
something that cannot be debugged has been abandoned by most, even
Oracle. Read more here:
http://otn.oracle.com/tech/java/sqlj_jdbc/pdf/oracle_sqlj_roadmap.pdf

PLJava has every intention of following the Part 1 and part 2 as closely
as possible.

The last item, the RowSet, is not applicable when you run inside of a
database. The RowSet is specifically designed to allow remote (and
disconnected) perusal of a ResultSet and is thus not at all applicable
to running inside of database functions.

PLJava certainly doesn't prevent you from using RowSet's if you really
want to of course. I just can't see the use-case where it would be
beneficial.

> BTW, I noticed that the reply-to defaults to the senders email, not
> pljava-dev at gborg.postgresql.org. So if you are not careful, not all
> messages will be seen by everyone on the list.

I'm not an expert in managing mailing lists. I do appreciate any advice
on how to improve the way it's set up.

Hope this helps,
Thomas Hallgren

In response to

Browse pljava-dev by date

  From Date Subject
Next Message Thomas Hallgren 2005-02-24 20:03:49 [Pljava-dev] Re: postgresql jdbc driver
Previous Message Bart Bremmers 2005-02-24 18:45:30 [Pljava-dev] postgresql jdbc driver