24 messages in org.postgresql.pgsql-jdbcRe: Limit vs setMaxRows issue
FromSent OnAttachments
Sebastiaan van ErkJun 21, 2006 2:11 am 
Dave CramerJun 21, 2006 7:56 am 
Sebastiaan van ErkJun 21, 2006 8:48 am 
Kris JurkaJun 21, 2006 8:59 am 
A.M.Jun 21, 2006 9:09 am 
Tom LaneJun 21, 2006 9:46 am 
Oliver JowettJun 21, 2006 3:52 pm 
Sebastiaan van ErkJun 22, 2006 1:35 am 
Mark LewisJun 22, 2006 9:15 am 
David WallJun 22, 2006 9:36 am 
Sebastiaan van ErkJun 22, 2006 1:13 pm 
Marc HerbertJul 10, 2006 1:50 am 
Marc HerbertJul 10, 2006 1:59 am 
Marc HerbertJul 10, 2006 2:05 am 
Oliver JowettJul 10, 2006 11:32 pm 
Oliver JowettJul 10, 2006 11:37 pm 
Marc HerbertJul 11, 2006 2:48 am 
Marc HerbertJul 11, 2006 3:00 am 
Oliver JowettJul 11, 2006 3:45 am 
Marc HerbertJul 11, 2006 5:14 am 
Oliver JowettJul 11, 2006 10:01 pm 
Marc HerbertJul 12, 2006 3:22 am 
Markus SchaberJul 12, 2006 3:59 am 
Marc HerbertJul 20, 2006 11:52 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: Limit vs setMaxRows issue Actions...
From:Tom Lane (tg@sss.pgh.pa.us)
Date:Jun 21, 2006 9:46:11 am
List:org.postgresql.pgsql-jdbc

"A.M." <age@themactionfaction.com> writes:

On Wed, June 21, 2006 12:00 pm, Kris Jurka wrote:

If you're suggesting that we extended the frontend/backend protocol to include this extra information than that's definitely a feature request, not a bug report.

The backend protocol already supports maximum row limit if you use the extended protocol.

No, it would take a protocol change to add such a thing out-of-line (that is, not as a LIMIT clause in the query text). The reason is that the planning is done at PARSE time, or at the latest BIND time. The row limit field in the EXECUTE message comes far too late to affect the query plan. EXECUTE's row limit was not meant as anything except a way to fetch a query result in segments, avoiding the grab-it-all-at-once, run-out-of-memory syndrome. It is definitely *not* meant to imply that the client doesn't intend to fetch the whole query result eventually.

I don't have a lot of sympathy for the OP's position that he shouldn't have to use a LIMIT clause for this ...