Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [stellation-res] Self-hosting Stellation

On Wed, 2002-12-11 at 04:59, Radu-Adrian Popescu wrote:
> What kind of JDBC problems are you having with Postgresql ?
> We've been using Postgresql/Tomcat to run an internal web project
> management/tracker, naturally using jdbc.
> Also i've worked with row-functions and LOBs in postgres (on 7.3 and 7.2
> respectively).
> The only bug (and only with a particular jdbc binary build) we noticed it a
> "password authentication error"
> (rejected login) that happens somewhat randomly and without any obvious
> cause.
> If the person in charge whishes to get some help on postgresql issues,
> please reply to this email with more info.


The problems that we've had with postgres deal with the very weak and
inconsistent support for LOBs in JDBC. Off the top of my head, I don't
recall the version numbers for the following, but I can try to find them
if you're interested.

In the first version of postgres we supported, they implemented the JDBC
LOB API. But it was implemented with major restrictions. The documented
restriction was that you could only use LOB operations inside of a
transaction. The undocumented restriction, which I discovered reading
the JDBC implementation, was that the LOB operations had to be the first
operation performed in a transaction. If you did anything before a LOB
operation in a transaction, the LOB operation would fail.

Then a new release of postgres came out. Now they didn't support the
JDBC LOB API anymore, but require you to use their own LOB fastpath
stuff. But they added a new type BYTEA, which was essentially a very low
performance BLOB, which you could manipulate using the
getInputStream/setOutputStream APIs in JDBC.

Now the newest release comes out, and, surprise, our regression tests
are failing on the code where we used BYTEA. We just tried the latest
postgres for the first time last week, and no one has had time to track
down exactly what's causing the failure. 

That's the reason for our frustration with Postgres. They keep changing
things that we use in incompatible ways. They don't implement the
JDBC LOB APIs, and the workarounds that they provide for that keep
changing. 

When it's working, it works well: it's easy to install, easy
to administrate, and extremely robust. If they'd just stabilize the
darned JDBC stuff so that we could use it without having to have our
code break with every update, it would probably still be the frontrunner
for our self-hosting database.

	-Mark


-- 
Mark Craig Chu-Carroll,  IBM T.J. Watson Research Center  
*** The Stellation project: Advanced SCM for Collaboration
***		http://www.eclipse.org/stellation
*** Work Email: mcc@xxxxxxxxxxxxxx  ------- Personal Email: markcc@xxxxxxxxxxx




Back to the top