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:
parent
ada3f39dca
commit
80ef8a86d1
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user