Refs #29444 -- Removed redundant DatabaseFeatures.can_return_multiple_columns_from_insert.
Unnecessary since b31e63879e
.
This commit is contained in:
parent
b31e63879e
commit
01104368ff
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue