From ce985cc71a11c147da44359d012fa14ee439a8d5 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Mon, 11 Jun 2012 20:46:43 -0400 Subject: [PATCH] sigh. go back to __iter__ because of silly rowproxy as argument requirement --- lib/sqlalchemy/engine/base.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/sqlalchemy/engine/base.py b/lib/sqlalchemy/engine/base.py index 830009a2b0..a475dd21bf 100644 --- a/lib/sqlalchemy/engine/base.py +++ b/lib/sqlalchemy/engine/base.py @@ -1476,7 +1476,8 @@ class Connection(Connectable): elif len(multiparams) == 1: zero = multiparams[0] if isinstance(zero, (list, tuple)): - if not zero or isinstance(zero[0], (list, tuple, dict)): + if not zero or hasattr(zero[0], '__iter__') and \ + not hasattr(zero[0], 'strip'): # execute(stmt, [{}, {}, {}, ...]) # execute(stmt, [(), (), (), ...]) return zero @@ -1490,7 +1491,8 @@ class Connection(Connectable): # execute(stmt, "value") return [[zero]] else: - if isinstance(multiparams[0], (list, tuple, dict)): + if hasattr(multiparams[0], '__iter__') and \ + not hasattr(multiparams[0], 'strip'): return multiparams else: return [multiparams] -- 2.47.3