Re: Query ID Values - Mailing list pgsql-general

From tango ward
Subject Re: Query ID Values
Date
Msg-id CAA6wQLKxrjm7XKrobVnCwThw4RneOyCfHmgj4awWLhAis=S8Jg@mail.gmail.com
Whole thread Raw
In response to Re: Query ID Values  (Ian Zimmerman <itz@very.loosely.org>)
Responses Re: Query ID Values  (tango ward <tangoward15@gmail.com>)
List pgsql-general
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@very.loosely.org> 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.


pgsql-general by date:

Previous
From: Ian Zimmerman
Date:
Subject: Re: Query ID Values
Next
From: tango ward
Date:
Subject: Re: Query ID Values