summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/engine
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2016-01-27 14:49:40 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2016-01-27 14:49:40 -0500
commit516a442f233d90eb7b8bb844e2dea7865bb21f66 (patch)
treebee884a5946bd240864a2e935185e3da16f887af /lib/sqlalchemy/engine
parent49dfeda6d7578aeae9ec954945cda38ee5aae6a9 (diff)
downloadsqlalchemy-516a442f233d90eb7b8bb844e2dea7865bb21f66.tar.gz
- reinstate "dont set up integer index in keymap if we're on cexts",
and this time also fix the cext itself to properly handle int vs. long on py2k
Diffstat (limited to 'lib/sqlalchemy/engine')
-rw-r--r--lib/sqlalchemy/engine/result.py15
1 files changed, 10 insertions, 5 deletions
diff --git a/lib/sqlalchemy/engine/result.py b/lib/sqlalchemy/engine/result.py
index cc4ac74cd..39f4fc50c 100644
--- a/lib/sqlalchemy/engine/result.py
+++ b/lib/sqlalchemy/engine/result.py
@@ -35,7 +35,10 @@ except ImportError:
try:
from sqlalchemy.cresultproxy import BaseRowProxy
+ _baserowproxy_usecext = True
except ImportError:
+ _baserowproxy_usecext = False
+
class BaseRowProxy(object):
__slots__ = ('_parent', '_row', '_processors', '_keymap')
@@ -210,11 +213,13 @@ class ResultMetaData(object):
context, cursor_description, result_columns,
num_ctx_cols, cols_are_ordered, textual_ordered)
- # keymap indexes by integer index...
- self._keymap = dict([
- (elem[0], (elem[3], elem[4], elem[0]))
- for elem in raw
- ])
+ self._keymap = {}
+ if not _baserowproxy_usecext:
+ # keymap indexes by integer index...
+ self._keymap.update([
+ (elem[0], (elem[3], elem[4], elem[0]))
+ for elem in raw
+ ])
# processors in key order for certain per-row
# views like __iter__ and slices