mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	Refs #29444 -- Removed redundant DatabaseFeatures.can_return_multiple_columns_from_insert.
Unnecessary since b31e63879e.
			
			
This commit is contained in:
		| @@ -23,7 +23,6 @@ class BaseDatabaseFeatures: | ||||
|  | ||||
|     can_use_chunked_reads = True | ||||
|     can_return_columns_from_insert = False | ||||
|     can_return_multiple_columns_from_insert = False | ||||
|     can_return_rows_from_bulk_insert = False | ||||
|     has_bulk_insert = True | ||||
|     uses_savepoints = True | ||||
|   | ||||
| @@ -10,7 +10,6 @@ class DatabaseFeatures(BaseDatabaseFeatures): | ||||
|     has_select_for_update_of = True | ||||
|     select_for_update_of_column = True | ||||
|     can_return_columns_from_insert = True | ||||
|     can_return_multiple_columns_from_insert = True | ||||
|     can_introspect_autofield = True | ||||
|     supports_subqueries_in_group_by = False | ||||
|     supports_transactions = True | ||||
|   | ||||
| @@ -8,7 +8,6 @@ from django.utils.functional import cached_property | ||||
| class DatabaseFeatures(BaseDatabaseFeatures): | ||||
|     allows_group_by_selected_pks = True | ||||
|     can_return_columns_from_insert = True | ||||
|     can_return_multiple_columns_from_insert = True | ||||
|     can_return_rows_from_bulk_insert = True | ||||
|     has_real_datatype = True | ||||
|     has_native_uuid_field = True | ||||
|   | ||||
| @@ -1334,14 +1334,6 @@ class SQLInsertCompiler(SQLCompiler): | ||||
|             if self.connection.features.can_return_rows_from_bulk_insert and len(self.query.objs) > 1: | ||||
|                 return self.connection.ops.fetch_returned_insert_rows(cursor) | ||||
|             if self.connection.features.can_return_columns_from_insert: | ||||
|                 if ( | ||||
|                     len(self.returning_fields) > 1 and | ||||
|                     not self.connection.features.can_return_multiple_columns_from_insert | ||||
|                 ): | ||||
|                     raise NotSupportedError( | ||||
|                         'Returning multiple columns from INSERT statements is ' | ||||
|                         'not supported on this database backend.' | ||||
|                     ) | ||||
|                 assert len(self.query.objs) == 1 | ||||
|                 return self.connection.ops.fetch_returned_insert_columns(cursor, self.returning_params) | ||||
|             return [self.connection.ops.last_insert_id( | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| import datetime | ||||
|  | ||||
| from django.db import NotSupportedError, connection | ||||
| from django.test import TestCase, skipIfDBFeature, skipUnlessDBFeature | ||||
| from django.db import connection | ||||
| from django.test import TestCase, skipUnlessDBFeature | ||||
| from django.test.utils import CaptureQueriesContext | ||||
|  | ||||
| from .models import DumbCategory, NonIntegerPKReturningModel, ReturningModel | ||||
| @@ -25,7 +25,6 @@ class ReturningValuesTests(TestCase): | ||||
|         self.assertTrue(obj.created) | ||||
|         self.assertIsInstance(obj.created, datetime.datetime) | ||||
|  | ||||
|     @skipUnlessDBFeature('can_return_multiple_columns_from_insert') | ||||
|     def test_insert_returning_multiple(self): | ||||
|         with CaptureQueriesContext(connection) as captured_queries: | ||||
|             obj = ReturningModel.objects.create() | ||||
| @@ -42,19 +41,7 @@ class ReturningValuesTests(TestCase): | ||||
|         self.assertTrue(obj.pk) | ||||
|         self.assertIsInstance(obj.created, datetime.datetime) | ||||
|  | ||||
|     @skipIfDBFeature('can_return_multiple_columns_from_insert') | ||||
|     def test_insert_returning_multiple_not_supported(self): | ||||
|         msg = ( | ||||
|             'Returning multiple columns from INSERT statements is ' | ||||
|             'not supported on this database backend.' | ||||
|         ) | ||||
|         with self.assertRaisesMessage(NotSupportedError, msg): | ||||
|             ReturningModel.objects.create() | ||||
|  | ||||
|     @skipUnlessDBFeature( | ||||
|         'can_return_rows_from_bulk_insert', | ||||
|         'can_return_multiple_columns_from_insert', | ||||
|     ) | ||||
|     @skipUnlessDBFeature('can_return_rows_from_bulk_insert') | ||||
|     def test_bulk_insert(self): | ||||
|         objs = [ReturningModel(), ReturningModel(pk=2 ** 11), ReturningModel()] | ||||
|         ReturningModel.objects.bulk_create(objs) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user