Browse Source

Fixed #35655 -- Reverted "Fixed #35295 -- Used INSERT with multiple rows on Oracle 23c."

This reverts commit 175b04942afaff978013db61495f3b39ea12989b due to a crash when Oracle > 23.3.
Sarah Boyce 7 months ago
parent
commit
5424151f96
2 changed files with 0 additions and 22 deletions
  1. 0 4
      django/db/backends/oracle/features.py
  2. 0 18
      django/db/backends/oracle/operations.py

+ 0 - 4
django/db/backends/oracle/features.py

@@ -204,10 +204,6 @@ class DatabaseFeatures(BaseDatabaseFeatures):
     def supports_aggregation_over_interval_types(self):
         return self.connection.oracle_version >= (23,)
 
-    @cached_property
-    def supports_bulk_insert_with_multiple_rows(self):
-        return self.connection.oracle_version >= (23,)
-
     @cached_property
     def bare_select_suffix(self):
         return "" if self.connection.oracle_version >= (23,) else " FROM DUAL"

+ 0 - 18
django/db/backends/oracle/operations.py

@@ -678,24 +678,6 @@ END;
             for field in fields
             if field
         ]
-        if (
-            self.connection.features.supports_bulk_insert_with_multiple_rows
-            # A workaround with UNION of SELECTs is required for models without
-            # any fields.
-            and field_placeholders
-        ):
-            placeholder_rows_sql = []
-            for row in placeholder_rows:
-                placeholders_row = (
-                    field_placeholder % placeholder
-                    for field_placeholder, placeholder in zip(
-                        field_placeholders, row, strict=True
-                    )
-                )
-                placeholder_rows_sql.append(placeholders_row)
-            return super().bulk_insert_sql(fields, placeholder_rows_sql)
-        # Oracle < 23c doesn't support inserting multiple rows in a single
-        # statement, use UNION of SELECTs as a workaround.
         query = []
         for row in placeholder_rows:
             select = []