Re: Proposal: efficient iter on named cursors

Поиск
Список
Период
Сортировка
От Daniele Varrazzo
Тема Re: Proposal: efficient iter on named cursors
Дата
Msg-id AANLkTimiLhbme59jpbr+frx7YNW0MJpMgv-WZ1eyVprA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Proposal: efficient iter on named cursors  (Federico Di Gregorio <federico.digregorio@dndg.it>)
Ответы Re: Proposal: efficient iter on named cursors  (Daniele Varrazzo <daniele.varrazzo@gmail.com>)
Список psycopg
On Thu, Feb 17, 2011 at 11:09 AM, Federico Di Gregorio
<federico.digregorio@dndg.it> wrote:
> On 17/02/11 11:57, Daniele Varrazzo wrote:
>>> I think the original implementation was right because "foreach ..."
>>> > doesn't mean fetch one record at a time. IMHO,
>>> >
>>> > 1) .fetchone() should _always_ fetch one record
>>> > 2) iter(cursor) should fetch as many records as we feel right
>> Yes, this is what I think too. It is consistent with what happens with
>> iter(file) vs. file.readline(). The only hitch is that the DBAPI asks
>> for a default of 1 for arraysize.
>>
>>
>>> > But we can do a little trick here and make iter(cursor) respect
>>> > .arraysize if arraysize was explicitly set so that if one really wants
>>> > to fetch one record at a time can just set .arraysize to 1.
>>> >
>>> > Good or bad?
>> Quite tricky as arraysize is currently a simple property. Even if we
>> could do it with some property trickery, it would be surprising if
>> "print cur.arraysize" would return 1 and iter(cur) was efficient;
>> then, after "cur.arraysize = 1", iter(cur) would switch to fetch one
>> record at time, while "print cur.arraysize" would still report 1. I
>> feel it violates the principle of least astonishment, as much as being
>> difficult for the user to predict what the library would do.
>
> Then we need a different property: itersize?

While I don't like the multiplication of attributes and extensions,
this sounds like the cleaner option.

-- Daniele

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

Предыдущее
От: Federico Di Gregorio
Дата:
Сообщение: Re: Proposal: efficient iter on named cursors
Следующее
От: Daniele Varrazzo
Дата:
Сообщение: Re: Proposal: efficient iter on named cursors