mirror of
https://github.com/django/django.git
synced 2025-10-23 21:59:11 +00:00
Fixed #24148 -- Documented a bug with case expressions in SQLite < 3.7.0
This commit is contained in:
committed by
Tim Graham
parent
51dc617b21
commit
39b58ad95a
@@ -7,7 +7,7 @@ import unittest
|
||||
from uuid import UUID
|
||||
|
||||
from django.core.exceptions import FieldError
|
||||
from django.db import models
|
||||
from django.db import connection, models
|
||||
from django.db.models import F, Q, Value, Min, Max
|
||||
from django.db.models.expressions import Case, When
|
||||
from django.test import TestCase
|
||||
@@ -254,6 +254,12 @@ class CaseExpressionTests(TestCase):
|
||||
transform=attrgetter('integer', 'test')
|
||||
)
|
||||
|
||||
if connection.vendor == 'sqlite' and connection.Database.sqlite_version_info < (3, 7, 0):
|
||||
# There is a bug in sqlite < 3.7.0, where placeholder order is lost.
|
||||
# Thus, the above query returns <condition_value> + <result_value>
|
||||
# for each matching case instead of <result_value> + 1 (#24148).
|
||||
test_combined_expression = unittest.expectedFailure(test_combined_expression)
|
||||
|
||||
def test_in_subquery(self):
|
||||
self.assertQuerysetEqual(
|
||||
CaseTestModel.objects.filter(
|
||||
|
||||
Reference in New Issue
Block a user