Hi,

I get a strange issue running fdb 1.4.7 behind django-firebird 1.6 [1]
I'm using iterator for performance issues. Then I have got something like this:


huge_object_list = MyModel.object.filter(...).iterator()
for object in huge_object_list:
    object.data = 'some data...'
    object.save()


At some point, I get an exception

ProgrammingError: Cannot fetch from this cursor because it has not executed a 
statement.

The full traceback is:

Traceback (most recent call last):
File "<console>", line 1, in <module>
File 
"/home/maxi/.virtualenvs/sispser2/local/lib/python2.7/site-packages/django/db/models/query.py",
 line 220, in iterator
for row in compiler.results_iter():
File 
"/home/maxi/.virtualenvs/sispser2/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py",
 line 713, in results_iter
for rows in self.execute_sql(MULTI):
File 
"/home/maxi/.virtualenvs/sispser2/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py",
 line 800, in <lambda>
result = iter((lambda: cursor.fetchmany(GET_ITERATOR_CHUNK_SIZE)),
File 
"/home/maxi/.virtualenvs/sispser2/local/lib/python2.7/site-packages/django/db/utils.py",
 line 106, in inner
return func(*args, **kwargs)
File 
"/home/maxi/.virtualenvs/sispser2/local/lib/python2.7/site-packages/django/db/utils.py",
 line 99, in __exit__
six.reraise(dj_exc_type, dj_exc_value, traceback)
File 
"/home/maxi/.virtualenvs/sispser2/local/lib/python2.7/site-packages/django/db/utils.py",
 line 106, in inner
return func(*args, **kwargs)
File 
"/home/maxi/.virtualenvs/sispser2/local/lib/python2.7/site-packages/fdb/fbcore.py",
 line 3461, in fetchmany
row = self.fetchone()
File 
"/home/maxi/.virtualenvs/sispser2/local/lib/python2.7/site-packages/fdb/fbcore.py",
 line 3439, in fetchone
raise ProgrammingError("Cannot fetch from this cursor because"
ProgrammingError: Cannot fetch from this cursor because it has not executed a 
statement.



For some reason, in Cursor.fetchone()  self._ps lost the statement to execute 
the next sentence.


Any help will be appreciated


I'm running all over Ubuntu 12.04 desktop, python 2.7, firebird2.5-super, fdb 
1.4.7
Also, this error occur in production server: Ubuntu 14.04 64 bits, 
firebird2.5-superclassic


[1] https://github.com/maxirobaina/django-firebird/tree/stable/1.6

 
--
Maxi

Reply via email to