Fixed #32653 -- Made quoting names in the Oracle backend consistent with db_table.

This commit is contained in:
Mariusz Felisiak 2021-04-30 12:59:07 +02:00 committed by GitHub
parent 54da6e2ac2
commit 1f643c28b5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 2 deletions

View file

@ -4,7 +4,9 @@ from django.db import DatabaseError, connection
from django.db.models import BooleanField
from django.test import TransactionTestCase
from ..models import Square
from ..models import (
Square, VeryLongModelNameZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ,
)
@unittest.skipUnless(connection.vendor == 'oracle', 'Oracle tests')
@ -16,6 +18,13 @@ class Tests(unittest.TestCase):
quoted_name = connection.ops.quote_name(name)
self.assertEqual(quoted_name % (), name)
def test_quote_name_db_table(self):
model = VeryLongModelNameZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
db_table = model._meta.db_table.upper()
self.assertEqual(f'"{db_table}"', connection.ops.quote_name(
'backends_verylongmodelnamezzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz',
))
def test_dbms_session(self):
"""A stored procedure can be called through a cursor wrapper."""
with connection.cursor() as cursor: