From dd20f56bc9a32f0c3afc545ed519dce8b028792c Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Wed, 30 Mar 2016 17:27:53 -0400 Subject: - make sure negative row indexes are based on the size of the number of columns we're actually reporting on - add more tests for negative row index - changelog/migration --- lib/sqlalchemy/engine/result.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'lib/sqlalchemy/engine') diff --git a/lib/sqlalchemy/engine/result.py b/lib/sqlalchemy/engine/result.py index afa6b4dca..0333d9ec2 100644 --- a/lib/sqlalchemy/engine/result.py +++ b/lib/sqlalchemy/engine/result.py @@ -220,11 +220,14 @@ class ResultMetaData(object): # implementation to avoid an expensive # isinstance(key, util.int_types) in the most common # case path + + len_raw = len(raw) + self._keymap.update([ (elem[0], (elem[3], elem[4], elem[0])) for elem in raw ] + [ - (elem[0] - num_ctx_cols, (elem[3], elem[4], elem[0])) + (elem[0] - len_raw, (elem[3], elem[4], elem[0])) for elem in raw ]) -- cgit v1.2.1