mirror of
https://github.com/django/django.git
synced 2025-07-05 18:29:11 +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]
|
return self._cache[DefaultQueryClass, subclass]
|
||||||
Query = query.query_class(DefaultQueryClass, Database)
|
Query = query.query_class(DefaultQueryClass, Database)
|
||||||
if subclass is not None:
|
if subclass is not None:
|
||||||
Query = type('Query', (subclsas, Query), {})
|
Query = type('Query', (subclass, Query), {})
|
||||||
self._cache[DefaultQueryClass, subclass] = Query
|
self._cache[DefaultQueryClass, subclass] = Query
|
||||||
return Query
|
return Query
|
||||||
|
|
||||||
|
@ -206,7 +206,7 @@ class DatabaseCreation(BaseDatabaseCreation):
|
|||||||
sys.stderr.write("Failed (%s)\n" % (err))
|
sys.stderr.write("Failed (%s)\n" % (err))
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def _test_database_name(self, settings):
|
def _test_database_name(self):
|
||||||
name = TEST_DATABASE_PREFIX + self.connection.settings_dict['DATABASE_NAME']
|
name = TEST_DATABASE_PREFIX + self.connection.settings_dict['DATABASE_NAME']
|
||||||
try:
|
try:
|
||||||
if self.connection.settings_dict['TEST_DATABASE_NAME']:
|
if self.connection.settings_dict['TEST_DATABASE_NAME']:
|
||||||
@ -217,10 +217,10 @@ class DatabaseCreation(BaseDatabaseCreation):
|
|||||||
raise
|
raise
|
||||||
return name
|
return name
|
||||||
|
|
||||||
def _test_database_create(self, settings):
|
def _test_database_create(self):
|
||||||
name = True
|
name = True
|
||||||
try:
|
try:
|
||||||
if self.connection.setting_dict['TEST_DATABASE_CREATE']:
|
if self.connection.settings_dict['TEST_DATABASE_CREATE']:
|
||||||
name = True
|
name = True
|
||||||
else:
|
else:
|
||||||
name = False
|
name = False
|
||||||
@ -230,7 +230,7 @@ class DatabaseCreation(BaseDatabaseCreation):
|
|||||||
raise
|
raise
|
||||||
return name
|
return name
|
||||||
|
|
||||||
def _test_user_create(self, settings):
|
def _test_user_create(self):
|
||||||
name = True
|
name = True
|
||||||
try:
|
try:
|
||||||
if self.connection.settings_dict['TEST_USER_CREATE']:
|
if self.connection.settings_dict['TEST_USER_CREATE']:
|
||||||
@ -244,11 +244,11 @@ class DatabaseCreation(BaseDatabaseCreation):
|
|||||||
return name
|
return name
|
||||||
|
|
||||||
def _test_database_user(self):
|
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:
|
try:
|
||||||
if self.connection.settings_dict['TEST_DATABASE_USER']:
|
if self.connection.settings_dict['TEST_DATABASE_USER']:
|
||||||
name = self.connection.settings_dict['TEST_DATABASE_USER']
|
name = self.connection.settings_dict['TEST_DATABASE_USER']
|
||||||
except AttributeError:
|
except KeyError:
|
||||||
pass
|
pass
|
||||||
except:
|
except:
|
||||||
raise
|
raise
|
||||||
@ -259,29 +259,29 @@ class DatabaseCreation(BaseDatabaseCreation):
|
|||||||
try:
|
try:
|
||||||
if self.connection.settings_dict['TEST_DATABASE_PASSWD']:
|
if self.connection.settings_dict['TEST_DATABASE_PASSWD']:
|
||||||
name = self.connection.settings_dict['TEST_DATABASE_PASSWD']
|
name = self.connection.settings_dict['TEST_DATABASE_PASSWD']
|
||||||
except AttributeError:
|
except KeyError:
|
||||||
pass
|
pass
|
||||||
except:
|
except:
|
||||||
raise
|
raise
|
||||||
return name
|
return name
|
||||||
|
|
||||||
def _test_database_tblspace(self, settings):
|
def _test_database_tblspace(self):
|
||||||
name = TEST_DATABASE_PREFIX + self.connection.settings_dict['DATABASE_NAME']
|
name = TEST_DATABASE_PREFIX + self.connection.settings_dict['DATABASE_NAME']
|
||||||
try:
|
try:
|
||||||
if self.connection.settings_dict['TEST_DATABASE_TBLSPACE']:
|
if self.connection.settings_dict['TEST_DATABASE_TBLSPACE']:
|
||||||
name = self.connection.settings_dict['TEST_DATABASE_TBLSPACE']
|
name = self.connection.settings_dict['TEST_DATABASE_TBLSPACE']
|
||||||
except AttributeError:
|
except KeyError:
|
||||||
pass
|
pass
|
||||||
except:
|
except:
|
||||||
raise
|
raise
|
||||||
return name
|
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'
|
name = TEST_DATABASE_PREFIX + self.connection.settings_dict['DATABASE_NAME'] + '_temp'
|
||||||
try:
|
try:
|
||||||
if self.connection.settings_dict['TEST_DATABASE_TBLSPACE_TMP']:
|
if self.connection.settings_dict['TEST_DATABASE_TBLSPACE_TMP']:
|
||||||
name = self.connection.settings_dict['TEST_DATABASE_TBLSPACE_TMP']
|
name = self.connection.settings_dict['TEST_DATABASE_TBLSPACE_TMP']
|
||||||
except AttributeError:
|
except KeyError:
|
||||||
pass
|
pass
|
||||||
except:
|
except:
|
||||||
raise
|
raise
|
||||||
|
@ -666,8 +666,12 @@ class QuerySet(object):
|
|||||||
connection = connections[alias]
|
connection = connections[alias]
|
||||||
clone.query.set_connection(connection)
|
clone.query.set_connection(connection)
|
||||||
cls = clone.query.get_query_class()
|
cls = clone.query.get_query_class()
|
||||||
|
if cls is sql.Query:
|
||||||
|
subclass = None
|
||||||
|
else:
|
||||||
|
subclass = cls
|
||||||
clone.query.__class__ = connection.ops.query_class(
|
clone.query.__class__ = connection.ops.query_class(
|
||||||
sql.Query, cls is sql.Query and None or cls
|
sql.Query, subclass
|
||||||
)
|
)
|
||||||
return clone
|
return clone
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user