Skip site navigation (1) Skip section navigation (2)

Re: Limit vs setMaxRows issue

From: Oliver Jowett <oliver(at)opencloud(dot)com>
To: Marc Herbert <Marc(dot)Herbert(at)continuent(dot)com>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: Limit vs setMaxRows issue
Date: 2006-07-11 06:33:03
Message-ID: 44B3461F.1060408@opencloud.com (view raw or flat)
Thread:
Lists: pgsql-jdbc
Marc Herbert wrote:
> Oliver Jowett <oliver(at)opencloud(dot)com> writes:
> 
> 
>>It's not a bug. setMaxRows() is essentially a hint, there's certainly
>>no requirement that the driver will go off and add LIMIT clauses to
>>your query,
> 
> 
> My reading of the JDBC javadoc and my excessive "pickiness" do not
> agree with the word "hint"
> 
>     /**
>      * Sets the limit for the maximum number of rows that any
>      * <code>ResultSet</code> object can contain to the given number.
>      * If the limit is exceeded, the excess
>      * rows are silently dropped.
> 
> 
> OK nothing ever tells you that the server has to behave optimally and
> never compute anything useless. However in this case you know _for
> sure_ that additional rows will be useless.

I would assume that if the intent of the spec was "put LIMIT on the 
query", they would say that.

As it stands all it does from an API point of view is change the 
behaviour of the ResultSet. Whether that does anything for efficiency is 
an implementation decision. The driver certainly behaves correctly 
according to the API, which was my point.

There are other optimizations you can make that don't affect query 
execution at all -- for example, you know you only need to store the 
first N rows returned, not all of them.

-O

In response to

Responses

pgsql-jdbc by date

Next:From: Oliver JowettDate: 2006-07-11 06:38:09
Subject: Re: Limit vs setMaxRows issue
Previous:From: Mark LewisDate: 2006-07-10 18:59:42
Subject: Re: java & endianness [Re: Binary tx format for an array?]

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group