From c9afdb5072ccaffb73e29853dbade1eb0237157b Mon Sep 17 00:00:00 2001 From: Michael Trier Date: Sat, 4 Oct 2008 23:19:05 +0000 Subject: [PATCH] Corrects issue where engine.execute raised exception when given empty list. Fixes #1175. --- lib/sqlalchemy/engine/base.py | 2 +- test/engine/execute.py | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) 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): -- 2.47.3