mirror of
https://github.com/django/django.git
synced 2025-11-25 05:04:26 +00:00
Fixed #33340 -- Fixed unquoted column names in queries used by DatabaseCache.
This commit is contained in:
parent
eba9a9b7f7
commit
17df72114e
5 changed files with 36 additions and 7 deletions
18
tests/cache/tests.py
vendored
18
tests/cache/tests.py
vendored
|
|
@ -1113,7 +1113,7 @@ class DBCacheTests(BaseCacheTests, TransactionTestCase):
|
|||
with self.assertNumQueries(1):
|
||||
cache.delete_many(['a', 'b', 'c'])
|
||||
|
||||
def test_cull_count_queries(self):
|
||||
def test_cull_queries(self):
|
||||
old_max_entries = cache._max_entries
|
||||
# Force _cull to delete on first cached record.
|
||||
cache._max_entries = -1
|
||||
|
|
@ -1124,6 +1124,13 @@ class DBCacheTests(BaseCacheTests, TransactionTestCase):
|
|||
cache._max_entries = old_max_entries
|
||||
num_count_queries = sum('COUNT' in query['sql'] for query in captured_queries)
|
||||
self.assertEqual(num_count_queries, 1)
|
||||
# Column names are quoted.
|
||||
for query in captured_queries:
|
||||
sql = query['sql']
|
||||
if 'expires' in sql:
|
||||
self.assertIn(connection.ops.quote_name('expires'), sql)
|
||||
if 'cache_key' in sql:
|
||||
self.assertIn(connection.ops.quote_name('cache_key'), sql)
|
||||
|
||||
def test_delete_cursor_rowcount(self):
|
||||
"""
|
||||
|
|
@ -1180,6 +1187,15 @@ class DBCacheTests(BaseCacheTests, TransactionTestCase):
|
|||
)
|
||||
self.assertEqual(out.getvalue(), "Cache table 'test cache table' created.\n")
|
||||
|
||||
def test_has_key_query_columns_quoted(self):
|
||||
with CaptureQueriesContext(connection) as captured_queries:
|
||||
cache.has_key('key')
|
||||
self.assertEqual(len(captured_queries), 1)
|
||||
sql = captured_queries[0]['sql']
|
||||
# Column names are quoted.
|
||||
self.assertIn(connection.ops.quote_name('expires'), sql)
|
||||
self.assertIn(connection.ops.quote_name('cache_key'), sql)
|
||||
|
||||
|
||||
@override_settings(USE_TZ=True)
|
||||
class DBCacheWithTimeZoneTests(DBCacheTests):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue