summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Walls <jacobtylerwalls@gmail.com>2025-01-25 12:06:11 -0500
committerGitHub <noreply@github.com>2025-01-25 18:06:11 +0100
commit330d89d4fe7832355535580383523f1749a3ee45 (patch)
tree1250a5e8aede8704e3b6661e4a023808f9ae2e86
parent9cc3970eaaf603832c075618e61aea9ea430f719 (diff)
Fixed #36111 -- Fixed test --debug-sql crash on Oracle when no prior query has executed.
-rw-r--r--django/db/backends/oracle/operations.py2
-rw-r--r--tests/backends/tests.py6
2 files changed, 7 insertions, 1 deletions
diff --git a/django/db/backends/oracle/operations.py b/django/db/backends/oracle/operations.py
index aa67f28a79..7c8c015f45 100644
--- a/django/db/backends/oracle/operations.py
+++ b/django/db/backends/oracle/operations.py
@@ -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))
diff --git a/tests/backends/tests.py b/tests/backends/tests.py
index 0349e47272..4ba961bfc1 100644
--- a/tests/backends/tests.py
+++ b/tests/backends/tests.py
@@ -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")