Refs #31445 -- Added test for nesting QuerySet.union().

This was fixed in MySQL 8.0.31.
This commit is contained in:
Mariusz Felisiak 2023-02-21 12:47:52 +01:00 committed by GitHub
parent a91e59e4a0
commit 96bc4254ee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 0 deletions

View File

@ -154,6 +154,16 @@ class DatabaseFeatures(BaseDatabaseFeatures):
},
}
)
if self.connection.mysql_version < (8, 0, 31):
skips.update(
{
"Nesting of UNIONs at the right-hand side is not supported on "
"MySQL < 8.0.31": {
"queries.test_qs_combinators.QuerySetSetOperationTests."
"test_union_nested"
},
}
)
return skips
@cached_property

View File

@ -114,6 +114,15 @@ class QuerySetSetOperationTests(TestCase):
[1, 2, 3, 4, 6, 7, 8, 9, 10, None],
)
def test_union_nested(self):
qs1 = Number.objects.all()
qs2 = qs1.union(qs1)
self.assertNumbersEqual(
qs1.union(qs2),
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
ordered=False,
)
@skipUnlessDBFeature("supports_select_intersection")
def test_intersection_with_empty_qs(self):
qs1 = Number.objects.all()