help: pypgsql: this code works in Fedora core 1, Not in FC2
J Dubal
dubal at khimjiramdas.com
Sun Sep 26 03:41:49 EDT 2004
Hello good people,
Following works in FC1 (python-2.2.3-7, postgresql-7.3.4-11,
kernel-2.4.22-1.2194.nptl, pyPgSQL-2.4)
from pyPgSQL import PgSQL
conn = PgSQL.connect('localhost',database='rop')
loccur = conn.cursor()
loccur.execute("DECLARE itemcursor CURSOR FOR \
SELECT * FROM locmf")
loccur.execute("FETCH ALL FROM itemcursor")
rec=loccur.fetchall()
print rec
However, following errors are produced in FC2 (python-2.3.3-6,
postgresql-7.4.2-1, kernel-2.6.8-1.521, pyPgSQL-2.4):
/usr/lib/python2.3/site-packages/pyPgSQL/PgSQL.py:2644: FutureWarning:
%u/%o/%x/%X of negative int will return a signed string in Python 2.4
and up
name = "PgSQL_%08X" % id(self)
Traceback (most recent call last):
File "tt1.py", line 5, in ?
loccur.execute("DECLARE itemcursor CURSOR FOR \
File "/usr/lib/python2.3/site-packages/pyPgSQL/PgSQL.py", line 3091,
in execute
self.res = self.conn.conn.query('FETCH 1 FROM "%s"' % self.name)
libpq.OperationalError: ERROR: cursor "PgSQL_F6F9906C" does not exist
Out of this, the first error is produced by conn.cursor() statement.
We have to use the "declare cursor" statement because we have to use
"fetch prior" statement later in the program. Is there a better way of
achiving this?
Something seems to have changed either python or in postgresql that is
causing this error. Can someone provide a solution/workaround?
Thanks in advance.
J Dubal.
More information about the Python-list
mailing list