Re: JDBC Large ResultSet problem + BadTimeStamp Patch - Mailing list pgsql-interfaces

From Peter Mount
Subject Re: JDBC Large ResultSet problem + BadTimeStamp Patch
Date
Msg-id Pine.LNX.4.21.0010120858500.435-100000@maidast.demon.co.uk
Whole thread Raw
In response to Re: JDBC Large ResultSet problem + BadTimeStamp Patch  (Steve Wampler <swampler@noao.edu>)
List pgsql-interfaces
On Wed, 11 Oct 2000, Steve Wampler wrote:

> Peter Mount wrote:
> ...
> > Yes, there is a problem with multiple statements and transactions on the
> > same connection when it comes to thread safety.
> > 
> > The problem as I see it is two fold.
> > 
> > 1: How to deal with two statements within one transaction. Related to this
> > is the metadata methods that issue queries, how to deal with them while
> > within a transaction.
> > 
> > 2: Currently the JDBC Specs only have transactions supported at the
> > Connection level, so I can't see how they thought that Statements could
> > possibly run within their own transactions, unless they thought that a
> > workaround of this is the use of batches.
> 
> Ah, that probably explains why I've seen "tuple arrived before metadata"
> messages when I've got several apps talking through CORBA to a java app
> that connects to postgres.  Do I need to synchronize both inserts and
> queries at the java app level to prevent this?  (I was hoping that
> the BEGIN/END block in a transaction would be sufficient, but this makes
> it sound as though it isn't.)

I think you may need to, although the existing thread locking in the
driver should prevent this. BEGIN/END is protecting the tables, but the
"tuple arrived before metadata" message is from the network protocol
(someone correct me at any point if I'm wrong).

What happens at the moment is that when a query is issued by JDBC, a lock
is made against the network connection, and then the query is issued. Once
everything has been read, the lock is released. This mechanism should
prevent any one thread using the same network connection as another which
is already using it.

Is your corba app under heavy load when this happens, or can it happen
with say 2-3 apps running?

Peter

-- 
Peter T Mount peter@retep.org.uk http://www.retep.org.uk
PostgreSQL JDBC Driver http://www.retep.org.uk/postgres/
Java PDF Generator http://www.retep.org.uk/pdf/




pgsql-interfaces by date:

Previous
From: Joseph Shraibman
Date:
Subject: Re: JDBC Large ResultSet problem + BadTimeStamp Patch
Next
From: Peter Mount
Date:
Subject: Re: JDBC Large ResultSet problem + BadTimeStamp Patch