Re: not fetching all query results

From: "ml-tb" <ml-tb(at)emagixx(dot)de>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: not fetching all query results
Date: 2012-07-20 09:26:53
Message-ID: 201207201126.53950.ml-tb@emagixx.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Am Freitag, 20. Juli 2012 schrieb Craig Ringer:
> On 07/18/2012 05:00 AM, Radim Kolar wrote:
> > Dne 17.7.2012 22:05, Dave Cramer napsal(a):
> >> Radim,
> >>
> >> As per our docs
> >> http://jdbc.postgresql.org/documentation/91/query.html#fetchsize-e
> >> xample
> >>
> >> You need to do the select inside a transaction
> >
> > In transaction that simple example really works. Can it be fixed in
> > driver to work in autocommit mode? I will try scrollable cursor
> > next.
>
> I haven't looked into how the fetch size code works to see whether
> it's possible for it to operate in autocommit. A quick look at
> QueryExecutorImpl.sendOneQuery in
> org/postgresql/core/v3/QueryExecutorImpl.java finds the line:
>
> boolean usePortal = (flags & QueryExecutor.QUERY_FORWARD_CURSOR)
> != 0 && !noResults && !noMeta && fetchSize > 0 && !describeOnly;
>
> given that and the subsequent code I don't understand why an explicit
> transaction is required. I've only done a tiny bit with the JDBC
> code, though, and only related to the authentication system and
> client certificates.
Perhaps the the original poster is helped with a modified URL, that set
the fetch size default != 0. We have the same issue here, plus that the
used framework resets connections to default values (why ever ...). So
we modified the possibilities of the driver URL:

fixDefaults (true/false; default: false)
defaultFetchSize (int, default: 0)
defaultAutoCommit (true/false; default: true)

> My rather blunt comment to you at the start of this thread was to
> point out that JDBC driver development doesn't just happen. It's a
> volunteer effort; people put their own time into this. Something
> like
>
> "It should not be that difficult to get it fixed. I am not
> interested in workarounds"
>
> is pretty dismissive of the work you're already getting for free and
> without having contributed to it in any way. If you don't like it,
> one of your options is to do something about it yourself. The PgJDBC
> driver is open source, so rather than just asserting it can't be
> that difficult, you have the opportunity to prove your assertion by
> producing a patch that fixes your problem. Demanding that others
> spend their time fixing a problem you care about is a bit rude.
>
> You can check the sources out here:
>
> http://jdbc.postgresql.org/development/git.html
>
> and there's developer info here:
>
> http://jdbc.postgresql.org/development/intro.html
>
> If you approach this with a the attitude of "this is causing a
> problem for me and I would love some help fixing it, any suggestions
> where I should start" you will probably get better results.
This is obviously true :-)

Bye Thomas

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Radim Kolar 2012-07-22 14:55:51 Re: not fetching all query results
Previous Message Kris Jurka 2012-07-20 05:44:02 Re: not fetching all query results