]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
Corrects issue where engine.execute raised exception when given empty list. Fixes...
authorMichael Trier <mtrier@gmail.com>
Sat, 4 Oct 2008 23:19:05 +0000 (23:19 +0000)
committerMichael Trier <mtrier@gmail.com>
Sat, 4 Oct 2008 23:19:05 +0000 (23:19 +0000)
lib/sqlalchemy/engine/base.py
test/engine/execute.py

index 85457edb4b9955002f116af3e2f87919c3b5af3e..1e72bc14b42b1026708ec3e89a1f72ce8dec6616 100644 (file)
@@ -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]]
index 80f4e390c54286d9c0e06a60de9b4721e962c1fe..e449af9ad002552edc35097aebbe24eae502a420 100644 (file)
@@ -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):