1
0
mirror of https://github.com/django/django.git synced 2025-07-05 10:19:20 +00:00

[soc2009/multidb] Fix several bugs I introduced into the Oracle backend. Thanks to Karen Tracey\!

git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/multidb@11392 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Alex Gaynor 2009-08-04 23:49:14 +00:00
parent ada3f39dca
commit 80ef8a86d1
3 changed files with 17 additions and 13 deletions

View File

@ -138,7 +138,7 @@ WHEN (new.%(col_name)s IS NULL)
return self._cache[DefaultQueryClass, subclass]
Query = query.query_class(DefaultQueryClass, Database)
if subclass is not None:
Query = type('Query', (subclsas, Query), {})
Query = type('Query', (subclass, Query), {})
self._cache[DefaultQueryClass, subclass] = Query
return Query

View File

@ -206,7 +206,7 @@ class DatabaseCreation(BaseDatabaseCreation):
sys.stderr.write("Failed (%s)\n" % (err))
raise
def _test_database_name(self, settings):
def _test_database_name(self):
name = TEST_DATABASE_PREFIX + self.connection.settings_dict['DATABASE_NAME']
try:
if self.connection.settings_dict['TEST_DATABASE_NAME']:
@ -217,10 +217,10 @@ class DatabaseCreation(BaseDatabaseCreation):
raise
return name
def _test_database_create(self, settings):
def _test_database_create(self):
name = True
try:
if self.connection.setting_dict['TEST_DATABASE_CREATE']:
if self.connection.settings_dict['TEST_DATABASE_CREATE']:
name = True
else:
name = False
@ -230,7 +230,7 @@ class DatabaseCreation(BaseDatabaseCreation):
raise
return name
def _test_user_create(self, settings):
def _test_user_create(self):
name = True
try:
if self.connection.settings_dict['TEST_USER_CREATE']:
@ -244,11 +244,11 @@ class DatabaseCreation(BaseDatabaseCreation):
return name
def _test_database_user(self):
name = TEST_DATABASE_PREFIX + self.settings_dict['DATABASE_USER']
name = TEST_DATABASE_PREFIX + self.connection.settings_dict['DATABASE_USER']
try:
if self.connection.settings_dict['TEST_DATABASE_USER']:
name = self.connection.settings_dict['TEST_DATABASE_USER']
except AttributeError:
except KeyError:
pass
except:
raise
@ -259,29 +259,29 @@ class DatabaseCreation(BaseDatabaseCreation):
try:
if self.connection.settings_dict['TEST_DATABASE_PASSWD']:
name = self.connection.settings_dict['TEST_DATABASE_PASSWD']
except AttributeError:
except KeyError:
pass
except:
raise
return name
def _test_database_tblspace(self, settings):
def _test_database_tblspace(self):
name = TEST_DATABASE_PREFIX + self.connection.settings_dict['DATABASE_NAME']
try:
if self.connection.settings_dict['TEST_DATABASE_TBLSPACE']:
name = self.connection.settings_dict['TEST_DATABASE_TBLSPACE']
except AttributeError:
except KeyError:
pass
except:
raise
return name
def _test_database_tblspace_tmp(self, settings):
def _test_database_tblspace_tmp(self):
name = TEST_DATABASE_PREFIX + self.connection.settings_dict['DATABASE_NAME'] + '_temp'
try:
if self.connection.settings_dict['TEST_DATABASE_TBLSPACE_TMP']:
name = self.connection.settings_dict['TEST_DATABASE_TBLSPACE_TMP']
except AttributeError:
except KeyError:
pass
except:
raise

View File

@ -666,8 +666,12 @@ class QuerySet(object):
connection = connections[alias]
clone.query.set_connection(connection)
cls = clone.query.get_query_class()
if cls is sql.Query:
subclass = None
else:
subclass = cls
clone.query.__class__ = connection.ops.query_class(
sql.Query, cls is sql.Query and None or cls
sql.Query, subclass
)
return clone