Re: Limit vs setMaxRows issue - Mailing list pgsql-jdbc

From Marc Herbert
Subject Re: Limit vs setMaxRows issue
Date
Msg-id khjbqrwzciv.fsf@meije.emic.fr
Whole thread Raw
In response to Limit vs setMaxRows issue  (Sebastiaan van Erk <sebster@sebster.com>)
List pgsql-jdbc
>> 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.

I think they would never say that, because they are quite careful not
to ever try to enforce any kind of implementation/performance detail.
They just care about the interface and the external results, any
timing consideration always excluded.

So the way they seem to do it, is just to open a 8 lanes wide road to
performance in front of you ("if you compute that, it WILL be useless
and dropped at some point. Now compute what you want."). My poor
english skills would not have called this a "hint". I guess this is
just a minor misunderstanding.

Of course I'm assuming here that computing those excess rows has no
side-effect. Hopefully this is always the case?!


> 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.

Agreed for sure.


pgsql-jdbc by date:

Previous
From: Marc Herbert
Date:
Subject: Re: Limit vs setMaxRows issue
Next
From: Oliver Jowett
Date:
Subject: Re: Limit vs setMaxRows issue