Re: streaming result sets: progress

From: Haris Peco <snpe(at)snpe(dot)co(dot)yu>
To: Barry Lind <blind(at)xythos(dot)com>, Nic Ferrier <nferrier(at)tapsellferrier(dot)co(dot)uk>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: streaming result sets: progress
Date: 2002-11-18 17:43:20
Message-ID: 200211181743.20776.snpe@snpe.co.yu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

On Monday 18 November 2002 05:14 pm, Barry Lind wrote:
> Nic,
>
> Here are my thoughts on this topic.
>
> 1) Since the server doesn't support cursors across transactions, I don't
> think the driver should either. In fact in jdbc3 the DatabaseMetaData
> object has a supportsResultSetHoldability() method that explicitly lets
> the driver tell the application what is does/doesn't support in this area.
>
> I think running multiple sql statements to mimic this behavior is a very
> bad idea. Since the select statements will run at different times they
> will return different data (since they will pick up commited changes
> between runs), and if you don't include an order by the results are
> completely unpredictable. If someone wants this very unpredictable
> behavior they can issue the multiple statements themselves.
>
> 2) I think the use of cursors should be optional. In fact since most
> queries don't need them since most queries return a small number of rows
> , I think the use of cursors needs to be turned on. I think there
> should be two ways to do this: the first is by setting the fetchSize()
> and the second would be a jdbc url parameter.
>
> 3) I think the transaction characteristics of the current patch are just
> fine and conform to the jdbc specification. The code should
> automatically close the resultset when a commit occurs. One thing that
> will be confusing is that noncursor based result sets will work accross
> commits, but cursor based ones won't. But I think that is reasonable.

My problem :
master-detail
I select one from many rows master with cursor (big table and only this is possible)
- In detail I do change and commit (or rollback)
My select is lost.
How can I do that ?

> Nic Ferrier wrote:
> > Message-ID: <87fztyexea(dot)fsf(at)pooh-sticks-bridge(dot)tapsellferrier(dot)co(dot)uk>
> > Lines: 24
> > MIME-Version: 1.0
> > Content-Type: text/plain; charset=us-ascii
> > --text follows this line--
> >
> > Haris Peco <snpe(at)snpe(dot)co(dot)yu> writes:
> >>I have tried.
> >>DatabaseMetaData is fine, but ResultSet.[get|set]FetchSize don't
> >>work
> >
> > What error do you get?
> >
> >>Prepared command don't work, but my greatest problem are trasnaction
> >>I hope that cursor in 7.4 will be out of a transaction
> >
> > I don't think there's much I can do about the cursor problem.
> >
> >>Can Yoy yet another :
> >>set driver's flag btw jdbc:pgsql:...?cursor=yes
> >>for use cursor or old way
> >
> > What does everyone else think? Is a system doing a different query
> > each time worth looking into?
> >
> >
> > Nic
> >
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 5: Have you checked our extensive FAQ?
> >
> > http://www.postgresql.org/users-lounge/docs/faq.html
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://archives.postgresql.org

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Barry Lind 2002-11-18 17:54:20 Re: streaming result sets: progress
Previous Message Barry Lind 2002-11-18 17:14:17 Re: streaming result sets: progress