Thread: Unusable resultset
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
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>
-----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-----
> 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
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>