I thing its this:
"
"
"
Note
cursor
objects are iterable, so, instead of calling
explicitly fetchone()
in a loop, the object itself can
be used:
>>> cur.execute("SELECT * FROM test;")
>>> for record in cur:
... print record
...
(1, 100, "abc'def")
(2, None, 'dada')
(3, 42, 'bar')
Changed in version 2.4: iterating over a named cursor
fetches itersize
records at time from the backend.
Previously only one record was fetched per roundtrip, resulting
in a large overhead.
On Tue, May 15, 2018 at 1:04 PM, Ian Zimmerman <itz@xxxxxxxxxxxxxxxx> wrote:
On 2018-05-14 21:12, Adrian Klaver wrote:
> Because you are doing fetchall(). That is going to fetch a list of row
> tuples. Either iterate over that list or iterate over the cursor:
>
> for row in cur_p:
> print(row)
>
> For more info see:
> http://initd.org/psycopg/docs/cursor.html
Where does that webpage say that I can use the cursor itself for
iteration? I can't find it there. (OTOH it is clearly documented for
the sqlite3 library).
Until now, with psycopg2 I have done it like this:
cur.execute(stmt)
results = iter(cur.fetchone, None)
for r in results:
...
--
Please don't Cc: me privately on mailing lists and Usenet,
if you also post the followup to the list or newsgroup.
To reply privately _only_ on Usenet and on broken lists
which rewrite From, fetch the TXT record for no-use.mooo.com.