summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/engine/reflection.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2013-05-29 18:49:27 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2013-05-29 18:49:27 -0400
commit3bf77b1b0b18b6091c96e37823bcca87237d5482 (patch)
tree7ce0a8733694d2ebf6e696dcca68d22fad8bd62b /lib/sqlalchemy/engine/reflection.py
parent9c746c44a314d357b855108b6e99b773ce52f760 (diff)
parentbe2c145a84df5db0233f84995765d3f614776f75 (diff)
downloadsqlalchemy-3bf77b1b0b18b6091c96e37823bcca87237d5482.tar.gz
Merge branch 'rel_0_9'
Conflicts: lib/sqlalchemy/dialects/postgresql/hstore.py lib/sqlalchemy/util/__init__.py lib/sqlalchemy/util/compat.py
Diffstat (limited to 'lib/sqlalchemy/engine/reflection.py')
-rw-r--r--lib/sqlalchemy/engine/reflection.py21
1 files changed, 12 insertions, 9 deletions
diff --git a/lib/sqlalchemy/engine/reflection.py b/lib/sqlalchemy/engine/reflection.py
index 90f21db09..cf2caf679 100644
--- a/lib/sqlalchemy/engine/reflection.py
+++ b/lib/sqlalchemy/engine/reflection.py
@@ -41,8 +41,12 @@ def cache(fn, self, con, *args, **kw):
return fn(self, con, *args, **kw)
key = (
fn.__name__,
- tuple(a for a in args if isinstance(a, basestring)),
- tuple((k, v) for k, v in kw.iteritems() if isinstance(v, (basestring, int, float)))
+ tuple(a for a in args if isinstance(a, util.string_types)),
+ tuple((k, v) for k, v in kw.items() if
+ isinstance(v,
+ util.string_types + util.int_types + (float, )
+ )
+ )
)
ret = info_cache.get(key)
if ret is None:
@@ -381,16 +385,15 @@ class Inspector(object):
# table.kwargs will need to be passed to each reflection method. Make
# sure keywords are strings.
tblkw = table.kwargs.copy()
- for (k, v) in tblkw.items():
+ for (k, v) in list(tblkw.items()):
del tblkw[k]
tblkw[str(k)] = v
- # Py2K
- if isinstance(schema, str):
- schema = schema.decode(dialect.encoding)
- if isinstance(table_name, str):
- table_name = table_name.decode(dialect.encoding)
- # end Py2K
+ if util.py2k:
+ if isinstance(schema, str):
+ schema = schema.decode(dialect.encoding)
+ if isinstance(table_name, str):
+ table_name = table_name.decode(dialect.encoding)
# columns
found_table = False