diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2016-01-27 14:49:40 -0500 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2016-01-27 14:49:40 -0500 |
commit | 516a442f233d90eb7b8bb844e2dea7865bb21f66 (patch) | |
tree | bee884a5946bd240864a2e935185e3da16f887af /lib/sqlalchemy/engine | |
parent | 49dfeda6d7578aeae9ec954945cda38ee5aae6a9 (diff) | |
download | sqlalchemy-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.py | 15 |
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 |