Обсуждение: Unusable resultset

Поиск
Список
Период
Сортировка

Unusable resultset

От
Matt Mello
Дата:
I just did a query that would have returned impossible amounts of data,
eg: select * from BIGtable.  I am porting from Informix to Postgresql,
and I guess I have been spoiled by the IFX JDBC drivers, which return
only as much data, relatively speaking, as is needed.  When the IFX JDBC
driver runs out of data, it asks the backend for more data.  Apparently
the backend caches the results instead of shoving it all down the socket
to the JDBC driver all at once.  (Oh, how I wish PG JDBC did that.)

Anyway, when I did the above, I got back a null resultset.  I don't even
think it threw an exception (but I will try to check on that).  All of
that is fine and can be dealt with.  My real problem is that the
connection is no longer usable, as ANY query I perform throws a
"postgresql.con.type" exception.

Why does it do that, and what is a "type" exception?

I now catch this specific exception as an indication that the connection
is bad, after which I close it, but it sure is annoying to have to put
driver-specific code in my java codebase.  :(

--
Matt Mello


Re: Unusable resultset

От
Dave Cramer
Дата:
Matt,

There is work to make the driver do what you want.

your second problem is more troublesome. What happens when you do the
query in psql?

The driver doesn't really do anything but proxy the query for you.

Dave
On Wed, 2003-01-29 at 00:55, Matt Mello wrote:
> I just did a query that would have returned impossible amounts of data,
> eg: select * from BIGtable.  I am porting from Informix to Postgresql,
> and I guess I have been spoiled by the IFX JDBC drivers, which return
> only as much data, relatively speaking, as is needed.  When the IFX JDBC
> driver runs out of data, it asks the backend for more data.  Apparently
> the backend caches the results instead of shoving it all down the socket
> to the JDBC driver all at once.  (Oh, how I wish PG JDBC did that.)
>
> Anyway, when I did the above, I got back a null resultset.  I don't even
> think it threw an exception (but I will try to check on that).  All of
> that is fine and can be dealt with.  My real problem is that the
> connection is no longer usable, as ANY query I perform throws a
> "postgresql.con.type" exception.
>
> Why does it do that, and what is a "type" exception?
>
> I now catch this specific exception as an indication that the connection
> is bad, after which I close it, but it sure is annoying to have to put
> driver-specific code in my java codebase.  :(
--
Dave Cramer <Dave@micro-automation.net>


Re: Unusable resultset [Viruschecked]

От
"Patric Bechtel"
Дата:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Tue, 28 Jan 2003 23:55:29 -0600, Matt Mello wrote:

You could try the patch for streaming result sets on the PATCHES
list. I'm currently improving it, as my time constraints allow me to do.
Have a look at it; I'm sure, it's what you're searching for.

tia

Patric

>I just did a query that would have returned impossible amounts of data,
>eg: select * from BIGtable.  I am porting from Informix to Postgresql,
>and I guess I have been spoiled by the IFX JDBC drivers, which return
>only as much data, relatively speaking, as is needed.  When the IFX JDBC
>driver runs out of data, it asks the backend for more data.  Apparently
>the backend caches the results instead of shoving it all down the socket
>to the JDBC driver all at once.  (Oh, how I wish PG JDBC did that.)

>Anyway, when I did the above, I got back a null resultset.  I don't even
>think it threw an exception (but I will try to check on that).  All of
>that is fine and can be dealt with.  My real problem is that the
>connection is no longer usable, as ANY query I perform throws a
>"postgresql.con.type" exception.

>Why does it do that, and what is a "type" exception?

>I now catch this specific exception as an indication that the connection
>is bad, after which I close it, but it sure is annoying to have to put
>driver-specific code in my java codebase.  :(

>--
>Matt Mello


>---------------------------(end of broadcast)---------------------------
>TIP 2: you can get off all lists at once with the unregister command
>    (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)




PGP Public Key Fingerprint: 2636 F26E F523 7D62  4377 D206 7C68 06BB

-----BEGIN PGP SIGNATURE-----
Version: PGPsdk version 1.7.1 (C) 1997-1999 Network Associates, Inc. and its affiliated companies.

iQA/AwUBPje+u3xoBrvMu8qQEQLETwCeKaxINOdXwMth9s7DY8FYi2fq45oAnRCF
Kr7hC3GopUXVXGaf/UcDozqm
=yW1S
-----END PGP SIGNATURE-----



Re: Unusable resultset

От
Matt Mello
Дата:
> your second problem is more troublesome. What happens when you do the
> query in psql?

It displays the data as expected, with <more>.

--
Matt Mello


Re: Unusable resultset

От
Dave Cramer
Дата:
Matt,

Ok, then at this point you are going to have to send us something
repeatable to fix.

Dave
On Wed, 2003-01-29 at 18:18, Matt Mello wrote:
> > your second problem is more troublesome. What happens when you do the
> > query in psql?
>
> It displays the data as expected, with <more>.
--
Dave Cramer <Dave@micro-automation.net>