diff options
| author | Michael Trier <mtrier@gmail.com> | 2008-10-04 23:19:05 +0000 |
|---|---|---|
| committer | Michael Trier <mtrier@gmail.com> | 2008-10-04 23:19:05 +0000 |
| commit | c9afdb5072ccaffb73e29853dbade1eb0237157b (patch) | |
| tree | fe63cac873cca41ca3431def148f9a733823b240 | |
| parent | a9a4da62cfe4a7dbe6afff1f993e161e8243a6dc (diff) | |
| download | sqlalchemy-c9afdb5072ccaffb73e29853dbade1eb0237157b.tar.gz | |
Corrects issue where engine.execute raised exception when given empty list. Fixes #1175.
| -rw-r--r-- | lib/sqlalchemy/engine/base.py | 2 | ||||
| -rw-r--r-- | test/engine/execute.py | 7 |
2 files changed, 8 insertions, 1 deletions
diff --git a/lib/sqlalchemy/engine/base.py b/lib/sqlalchemy/engine/base.py index 85457edb4..1e72bc14b 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 80f4e390c..e449af9ad 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): |
