Author: Brian Kearns <[email protected]>
Branch:
Changeset: r63379:30ad7ec330d1
Date: 2013-04-15 13:11 -0400
http://bitbucket.org/pypy/pypy/changeset/30ad7ec330d1/
Log: speed up sqlite3 when cursors aren't fetched to exhaustion
diff --git a/lib_pypy/_sqlite3.py b/lib_pypy/_sqlite3.py
--- a/lib_pypy/_sqlite3.py
+++ b/lib_pypy/_sqlite3.py
@@ -1089,7 +1089,6 @@
try:
next_row = self.__next_row
except AttributeError:
- self.__statement._reset()
raise StopIteration
del self.__next_row
@@ -1097,11 +1096,12 @@
next_row = self.row_factory(self, next_row)
ret = _lib.sqlite3_step(self.__statement._statement)
- if ret not in (_lib.SQLITE_DONE, _lib.SQLITE_ROW):
+ if ret == _lib.SQLITE_ROW:
+ self.__next_row = self.__fetch_one_row()
+ else:
self.__statement._reset()
- raise self.__connection._get_exception(ret)
- elif ret == _lib.SQLITE_ROW:
- self.__next_row = self.__fetch_one_row()
+ if ret != _lib.SQLITE_DONE:
+ raise self.__connection._get_exception(ret)
return next_row
if sys.version_info[0] < 3:
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit