From: Billy G. A. <bil...@mu...> - 2003-06-28 20:17:30
|
Paolo Alexis Falcone wrote: >Whenever I try to access a table with many rows using PgSQL's >fetchall(), this happens: > > >>>>from pyPgSQL import PgSQL >>>>db = PgSQL.connect("192.168.0.8:5432:whitegold","dondon","dondon") >>>>PgSQL.NoPostgresCursor = 1 >>>>cur = db.cursor() >>>>cur.execute("SELECT * FROM customer") >>>>data = cur.fetchall() >>>> >>>> >Traceback (most recent call last): > File "<stdin>", line 1, in ? > File "/usr/lib/python2.2/site-packages/pyPgSQL/PgSQL.py", line 3106, >in fetchall > return self.__fetchManyRows(self._rows_, _list) > File "/usr/lib/python2.2/site-packages/pyPgSQL/PgSQL.py", line 2684, >in __fetchManyRows > _j = self.__fetchOneRow() > File "/usr/lib/python2.2/site-packages/pyPgSQL/PgSQL.py", line 2660, >in __fetchOneRow > _r.getvalue(self._idx_, _i))) > File "/usr/lib/python2.2/site-packages/pyPgSQL/PgSQL.py", line 717, >in typecast > return PgNumeric(value, _p, _s) > File "/usr/lib/python2.2/site-packages/pyPgSQL/PgSQL.py", line 1335, >in __init__ > raise OverflowError, "value too large for PgNumeric" >OverflowError: value too large for PgNumeric > >The aforementioned table, customer, only has 1023 entries with the >following structure: > >CREATE TABLE customer (ccustcode varchar(80), cgroupcode varchar(10), >clastname varchar(80), cfirstname varchar(80), cmi varchar(10), >ccompany varchar(80), caddress1 varchar(80), caddress2 varchar(80), >ccity varchar(80), cprovince varchar(80), czipcode varchar(10), iterms >integer, ycredit_limit numeric, npenalty_rate numeric, >default_routecode varchar(10), lisdirector boolean); > >PgSQL's fetchone() fortunately works though, as well as using >fetchall() on tables with few rows. Is there any alternative way of >using PyPgSQL that would not overflow in this situation? > Paolo, The problem is not the number of rows, but the fact the conversion of a PostgreSQL numeric to a PgNumeric is failing. This problem has been fixed in the code in the CVS repository for the pyPgSQL project <http://sourceforge.net/cvs/?group_id=16528> on SourceForge. We will also be releaseing a new version of pyPgSQL within the next couple of weeks. -- ___________________________________________________________________________ ____ | Billy G. Allie | Domain....: Bil...@mu... | /| | 7436 Hartwell | MSN.......: B_G...@em... |-/-|----- | Dearborn, MI 48126| |/ |LLIE | (313) 582-1540 | |