Re: Limit vs setMaxRows issue

Поиск
Список
Период
Сортировка
От Oliver Jowett
Тема Re: Limit vs setMaxRows issue
Дата
Msg-id 44B34751.7010704@opencloud.com
обсуждение исходный текст
Ответ на Re: Limit vs setMaxRows issue  (Marc Herbert <Marc.Herbert@continuent.com>)
Список pgsql-jdbc
Marc Herbert wrote:
> Tom Lane <tgl@sss.pgh.pa.us> writes:
>
>
>>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.
>
>
>
> If planning is done at time of creation of the PreparedStatement
> object (reminder: the example given above has no parameters), then the
> setMaxRows() call will come too late whatever is the protocol change.
> I mean: no protocol change can go back in time and "optimize" by not
> doing useless work already done.
>
> Thanks in advance for pointing out my mistake(s) here.

We do not special-case the no-parameters case, so it's handled just like
all the other cases: the query is parsed and planned immediately before
execution. We also avoid an extra round-trip by doing it at that point.

If you're interested in the details of this, the driver source code is
really your best reference..

-O

В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Oliver Jowett
Дата:
Сообщение: Re: Limit vs setMaxRows issue
Следующее
От: Marc Herbert
Дата:
Сообщение: Re: Limit vs setMaxRows issue