summaryrefslogtreecommitdiff
path: root/django/db/backends/oracle/base.py
diff options
context:
space:
mode:
authorAymeric Augustin <aymeric.augustin@m4x.org>2012-01-22 16:41:20 +0000
committerAymeric Augustin <aymeric.augustin@m4x.org>2012-01-22 16:41:20 +0000
commit7beb0db79b468b5cc6f20b05873a631ace989a84 (patch)
treecbd05cb494038b412287c3e6968b3bb853d8e3cb /django/db/backends/oracle/base.py
parent4d030e540dc7b64d783510ba0d46c40f9713d305 (diff)
downloaddjango-7beb0db79b468b5cc6f20b05873a631ace989a84.tar.gz
Fixed #10320 -- Made it possible to use executemany with iterators. Thanks MockSoul for the report.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17387 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django/db/backends/oracle/base.py')
-rw-r--r--django/db/backends/oracle/base.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/django/db/backends/oracle/base.py b/django/db/backends/oracle/base.py
index 105730c69c..f1ee987ba8 100644
--- a/django/db/backends/oracle/base.py
+++ b/django/db/backends/oracle/base.py
@@ -670,6 +670,9 @@ class FormatStylePlaceholderCursor(object):
raise utils.DatabaseError, utils.DatabaseError(*tuple(e)), sys.exc_info()[2]
def executemany(self, query, params=None):
+ # cx_Oracle doesn't support iterators, convert them to lists
+ if params is not None and not isinstance(params, (list, tuple)):
+ params = list(params)
try:
args = [(':arg%d' % i) for i in range(len(params[0]))]
except (IndexError, TypeError):