[pypy-commit] pypy default: have sqlite only build/use a row_cast_map if needed

bdkearns noreply at buildbot.pypy.org
Sat Mar 9 20:45:21 CET 2013


Author: Brian Kearns <bdkearns at gmail.com>
Branch: 
Changeset: r62271:672017bcae87
Date: 2013-03-09 14:44 -0500
http://bitbucket.org/pypy/pypy/changeset/672017bcae87/

Log:	have sqlite only build/use a row_cast_map if needed

diff --git a/lib_pypy/_sqlite3.py b/lib_pypy/_sqlite3.py
--- a/lib_pypy/_sqlite3.py
+++ b/lib_pypy/_sqlite3.py
@@ -1078,6 +1078,8 @@
         self._exhausted = False
 
     def _build_row_cast_map(self):
+        if not self.__con._detect_types:
+            return
         self.__row_cast_map = []
         for i in xrange(_lib.sqlite3_column_count(self._statement)):
             converter = None
@@ -1211,10 +1213,13 @@
         self.column_count = _lib.sqlite3_column_count(self._statement)
         row = []
         for i in xrange(self.column_count):
-            typ = _lib.sqlite3_column_type(self._statement, i)
+            if self.__con._detect_types:
+                converter = self.__row_cast_map[i]
+            else:
+                converter = None
 
-            converter = self.__row_cast_map[i]
             if converter is None:
+                typ = _lib.sqlite3_column_type(self._statement, i)
                 if typ == _lib.SQLITE_NULL:
                     val = None
                 elif typ == _lib.SQLITE_INTEGER:


More information about the pypy-commit mailing list