Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Added an implementation of bulk insert via the ORM to the Oracle DB b…

…ackend.

Refs #7596, r16739 and http://troels.arvin.dk/db/rdbms/#insert-multiple

git-svn-id: http://code.djangoproject.com/svn/django/trunk@16819 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit 9fe050a27598cdce7f2ef7a332b4818b493a8702 1 parent 26b8122
Ramiro Morales ramiro authored
Showing with 5 additions and 0 deletions.
  1. +5 −0 django/db/backends/oracle/base.py
5 django/db/backends/oracle/base.py
View
@@ -78,6 +78,7 @@ class DatabaseFeatures(BaseDatabaseFeatures):
supports_bitwise_or = False
can_defer_constraint_checks = True
ignores_nulls_in_unique_constraints = False
+ has_bulk_insert = True
class DatabaseOperations(BaseDatabaseOperations):
compiler_module = "django.db.backends.oracle.compiler"
@@ -372,6 +373,10 @@ def _get_trigger_name(self, table):
name_length = self.max_name_length() - 3
return '%s_TR' % util.truncate_name(table, name_length).upper()
+ def bulk_insert_sql(self, fields, num_values):
+ items_sql = "SELECT %s FROM DUAL" % ", ".join(["%s"] * len(fields))
+ return " UNION ALL ".join([items_sql] * num_values)
+
class _UninitializedOperatorsDescriptor(object):
Please sign in to comment.
Something went wrong with that request. Please try again.