From: Michael Trier Date: Sat, 4 Oct 2008 23:19:05 +0000 (+0000) Subject: Corrects issue where engine.execute raised exception when given empty list. Fixes... X-Git-Tag: rel_0_5rc2~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c9afdb5072ccaffb73e29853dbade1eb0237157b;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git Corrects issue where engine.execute raised exception when given empty list. Fixes #1175. --- diff --git a/lib/sqlalchemy/engine/base.py b/lib/sqlalchemy/engine/base.py index 85457edb4b..1e72bc14b4 100644 --- a/lib/sqlalchemy/engine/base.py +++ b/lib/sqlalchemy/engine/base.py @@ -873,7 +873,7 @@ class Connection(Connectable): return [{}] elif len(multiparams) == 1: if isinstance(multiparams[0], (list, tuple)): - if isinstance(multiparams[0][0], (list, tuple, dict)): + if not multiparams[0] or isinstance(multiparams[0][0], (list, tuple, dict)): return multiparams[0] else: return [multiparams[0]] diff --git a/test/engine/execute.py b/test/engine/execute.py index 80f4e390c5..e449af9ad0 100644 --- a/test/engine/execute.py +++ b/test/engine/execute.py @@ -78,6 +78,13 @@ class ExecuteTest(TestBase): except tsa.exc.DBAPIError: assert True + def test_empty_insert(self): + try: + result = testing.db.execute(users.insert(), []) + assert [] == list(result) + except: + assert False + class ProxyConnectionTest(TestBase): @testing.fails_on('firebird') # Data type unknown def test_proxy(self):