mirror of
https://github.com/django/django.git
synced 2025-08-04 19:08:28 +00:00
Fixed #30754 -- Prevented inclusion of aliases in partial index conditions.
SQLite doesn't repoint table aliases in partial index conditions on table rename which breaks the documented table alteration procedure. Thanks Pēteris Caune for the report.
This commit is contained in:
parent
a624803514
commit
34decdebf1
3 changed files with 11 additions and 13 deletions
|
@ -108,7 +108,7 @@ class PartialIndexConditionIgnoredTests(TransactionTestCase):
|
|||
editor.add_index(Article, index)
|
||||
|
||||
self.assertNotIn(
|
||||
'WHERE %s.%s' % (editor.quote_name(Article._meta.db_table), 'published'),
|
||||
'WHERE %s' % editor.quote_name('published'),
|
||||
str(index.create_sql(Article, editor))
|
||||
)
|
||||
|
||||
|
@ -258,7 +258,7 @@ class PartialIndexTests(TransactionTestCase):
|
|||
)
|
||||
)
|
||||
self.assertIn(
|
||||
'WHERE %s.%s' % (editor.quote_name(Article._meta.db_table), editor.quote_name("pub_date")),
|
||||
'WHERE %s' % editor.quote_name('pub_date'),
|
||||
str(index.create_sql(Article, schema_editor=editor))
|
||||
)
|
||||
editor.add_index(index=index, model=Article)
|
||||
|
@ -275,7 +275,7 @@ class PartialIndexTests(TransactionTestCase):
|
|||
condition=Q(pk__gt=1),
|
||||
)
|
||||
self.assertIn(
|
||||
'WHERE %s.%s' % (editor.quote_name(Article._meta.db_table), editor.quote_name('id')),
|
||||
'WHERE %s' % editor.quote_name('id'),
|
||||
str(index.create_sql(Article, schema_editor=editor))
|
||||
)
|
||||
editor.add_index(index=index, model=Article)
|
||||
|
@ -292,7 +292,7 @@ class PartialIndexTests(TransactionTestCase):
|
|||
condition=Q(published=True),
|
||||
)
|
||||
self.assertIn(
|
||||
'WHERE %s.%s' % (editor.quote_name(Article._meta.db_table), editor.quote_name('published')),
|
||||
'WHERE %s' % editor.quote_name('published'),
|
||||
str(index.create_sql(Article, schema_editor=editor))
|
||||
)
|
||||
editor.add_index(index=index, model=Article)
|
||||
|
@ -319,7 +319,7 @@ class PartialIndexTests(TransactionTestCase):
|
|||
sql = str(index.create_sql(Article, schema_editor=editor))
|
||||
where = sql.find('WHERE')
|
||||
self.assertIn(
|
||||
'WHERE (%s.%s' % (editor.quote_name(Article._meta.db_table), editor.quote_name("pub_date")),
|
||||
'WHERE (%s' % editor.quote_name('pub_date'),
|
||||
sql
|
||||
)
|
||||
# Because each backend has different syntax for the operators,
|
||||
|
@ -339,7 +339,7 @@ class PartialIndexTests(TransactionTestCase):
|
|||
condition=Q(pub_date__isnull=False),
|
||||
)
|
||||
self.assertIn(
|
||||
'WHERE %s.%s IS NOT NULL' % (editor.quote_name(Article._meta.db_table), editor.quote_name("pub_date")),
|
||||
'WHERE %s IS NOT NULL' % editor.quote_name('pub_date'),
|
||||
str(index.create_sql(Article, schema_editor=editor))
|
||||
)
|
||||
editor.add_index(index=index, model=Article)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue