Kaydet (Commit) ca187fea authored tarafından Aymeric Augustin's avatar Aymeric Augustin

Fixed #17513 -- Prevented the MySQL backend from leaking MySQLdb-specific…

Fixed #17513 -- Prevented the MySQL backend from leaking MySQLdb-specific exceptions. Thanks Claude Paroz.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@17352 bcc190cf-cafb-0310-a4f2-bffc1f526a37
üst f4600355
...@@ -119,7 +119,7 @@ class CursorWrapper(object): ...@@ -119,7 +119,7 @@ class CursorWrapper(object):
# misclassified and Django would prefer the more logical place. # misclassified and Django would prefer the more logical place.
if e[0] in self.codes_for_integrityerror: if e[0] in self.codes_for_integrityerror:
raise utils.IntegrityError, utils.IntegrityError(*tuple(e)), sys.exc_info()[2] raise utils.IntegrityError, utils.IntegrityError(*tuple(e)), sys.exc_info()[2]
raise raise utils.DatabaseError, utils.DatabaseError(*tuple(e)), sys.exc_info()[2]
except Database.DatabaseError, e: except Database.DatabaseError, e:
raise utils.DatabaseError, utils.DatabaseError(*tuple(e)), sys.exc_info()[2] raise utils.DatabaseError, utils.DatabaseError(*tuple(e)), sys.exc_info()[2]
......
...@@ -351,6 +351,12 @@ class BackendTestCase(TestCase): ...@@ -351,6 +351,12 @@ class BackendTestCase(TestCase):
self.assertTrue(hasattr(connection.ops, 'connection')) self.assertTrue(hasattr(connection.ops, 'connection'))
self.assertEqual(connection, connection.ops.connection) self.assertEqual(connection, connection.ops.connection)
def test_duplicate_table_error(self):
""" Test that creating an existing table returns a DatabaseError """
cursor = connection.cursor()
query = 'CREATE TABLE %s (id INTEGER);' % models.Article._meta.db_table
with self.assertRaises(DatabaseError):
cursor.execute(query)
# We don't make these tests conditional because that means we would need to # We don't make these tests conditional because that means we would need to
# check and differentiate between: # check and differentiate between:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment