Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Fixed #20388 -- Test failures under Oracle.

Add "FROM DUAL" to SQL selecting constants in tests for Oracle.
  • Loading branch information...
commit 9ef4d177d1d501be44b6e1c87197fef1e26900f1 1 parent 79715f2
Shai Berger authored aaugustin committed
Showing with 7 additions and 2 deletions.
  1. +7 −2 tests/backends/tests.py
9 tests/backends/tests.py
View
@@ -367,14 +367,19 @@ class EscapingChecks(TestCase):
All tests in this test case are also run with settings.DEBUG=True in
EscapingChecksDebug test case, to also test CursorDebugWrapper.
"""
+
+ # For Oracle, when you want to select a value, you need to specify the
+ # special pseudo-table 'dual'; a select with no from clause is invalid.
+ bare_select_suffix = " FROM DUAL" if connection.vendor == 'oracle' else ""
+
def test_paramless_no_escaping(self):
cursor = connection.cursor()
- cursor.execute("SELECT '%s'")
+ cursor.execute("SELECT '%s'" + self.bare_select_suffix)
self.assertEqual(cursor.fetchall()[0][0], '%s')
def test_parameter_escaping(self):
cursor = connection.cursor()
- cursor.execute("SELECT '%%', %s", ('%d',))
+ cursor.execute("SELECT '%%', %s" + self.bare_select_suffix, ('%d',))
self.assertEqual(cursor.fetchall()[0], ('%', '%d'))
@unittest.skipUnless(connection.vendor == 'sqlite',
Please sign in to comment.
Something went wrong with that request. Please try again.