Re: Proposal: efficient iter on named cursors - Mailing list psycopg

From Federico Di Gregorio
Subject Re: Proposal: efficient iter on named cursors
Date
Msg-id 4D5D01D6.8030607@dndg.it
Whole thread Raw
In response to Re: Proposal: efficient iter on named cursors  (Daniele Varrazzo <daniele.varrazzo@gmail.com>)
Responses Re: Proposal: efficient iter on named cursors  (Daniele Varrazzo <daniele.varrazzo@gmail.com>)
List psycopg
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?

federico

--
Federico Di Gregorio                         federico.digregorio@dndg.it
Studio Associato Di Nunzio e Di Gregorio                  http://dndg.it
 Io non sono romantica. La candelina sul tavolo mi vede e si spegne.
                                                      -- sisterconfusion

psycopg by date:

Previous
From: Daniele Varrazzo
Date:
Subject: Re: Proposal: efficient iter on named cursors
Next
From: Daniele Varrazzo
Date:
Subject: Re: Proposal: efficient iter on named cursors