1
0
mirror of https://github.com/django/django.git synced 2025-03-12 02:12:38 +00:00

Fixed #36111 -- Fixed test --debug-sql crash on Oracle when no prior query has executed.

This commit is contained in:
Jacob Walls 2025-01-25 12:06:11 -05:00 committed by GitHub
parent 9cc3970eaa
commit 330d89d4fe
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 7 additions and 1 deletions

View File

@ -319,7 +319,7 @@ END;
# Unlike Psycopg's `query` and MySQLdb`'s `_executed`, oracledb's
# `statement` doesn't contain the query parameters. Substitute
# parameters manually.
if params:
if statement and params:
if isinstance(params, (tuple, list)):
params = {
f":arg{i}": param for i, param in enumerate(dict.fromkeys(params))

View File

@ -73,8 +73,14 @@ class LastExecutedQueryTest(TestCase):
last_executed_query should not raise an exception even if no previous
query has been run.
"""
suffix = connection.features.bare_select_suffix
with connection.cursor() as cursor:
if connection.vendor == "oracle":
cursor.statement = None
# No previous query has been run.
connection.ops.last_executed_query(cursor, "", ())
# Previous query crashed.
connection.ops.last_executed_query(cursor, "SELECT %s" + suffix, (1,))
def test_debug_sql(self):
qs = Reporter.objects.filter(first_name="test")