diff options
Diffstat (limited to 'django/db/backends')
| -rw-r--r-- | django/db/backends/ado_mssql/base.py | 2 | ||||
| -rw-r--r-- | django/db/backends/dummy/base.py | 3 | ||||
| -rw-r--r-- | django/db/backends/mysql/base.py | 4 | ||||
| -rw-r--r-- | django/db/backends/oracle/base.py | 7 | ||||
| -rw-r--r-- | django/db/backends/postgresql/base.py | 5 | ||||
| -rw-r--r-- | django/db/backends/postgresql_psycopg2/base.py | 5 | ||||
| -rw-r--r-- | django/db/backends/sqlite3/base.py | 12 | ||||
| -rw-r--r-- | django/db/backends/util.py | 2 |
8 files changed, 26 insertions, 14 deletions
diff --git a/django/db/backends/ado_mssql/base.py b/django/db/backends/ado_mssql/base.py index afe2d19981..72d2fe083e 100644 --- a/django/db/backends/ado_mssql/base.py +++ b/django/db/backends/ado_mssql/base.py @@ -55,7 +55,7 @@ except ImportError: from django.utils._threading_local import local class DatabaseWrapper(local): - def __init__(self): + def __init__(self, **kwargs): self.connection = None self.queries = [] diff --git a/django/db/backends/dummy/base.py b/django/db/backends/dummy/base.py index 985fe96469..f98afc48bb 100644 --- a/django/db/backends/dummy/base.py +++ b/django/db/backends/dummy/base.py @@ -20,6 +20,9 @@ class DatabaseWrapper: _commit = complain _rollback = complain + def __init__(self, **kwargs): + pass + def close(self): pass # close() diff --git a/django/db/backends/mysql/base.py b/django/db/backends/mysql/base.py index 04e5814988..e7e060e6c2 100644 --- a/django/db/backends/mysql/base.py +++ b/django/db/backends/mysql/base.py @@ -65,10 +65,11 @@ except ImportError: from django.utils._threading_local import local class DatabaseWrapper(local): - def __init__(self): + def __init__(self, **kwargs): self.connection = None self.queries = [] self.server_version = None + self.options = kwargs def _valid_connection(self): if self.connection is not None: @@ -95,6 +96,7 @@ class DatabaseWrapper(local): kwargs['host'] = settings.DATABASE_HOST if settings.DATABASE_PORT: kwargs['port'] = int(settings.DATABASE_PORT) + kwargs.update(self.options) self.connection = Database.connect(**kwargs) cursor = self.connection.cursor() if self.connection.get_server_info() >= '4.1': diff --git a/django/db/backends/oracle/base.py b/django/db/backends/oracle/base.py index dfe2df11dc..3a13f39546 100644 --- a/django/db/backends/oracle/base.py +++ b/django/db/backends/oracle/base.py @@ -21,9 +21,10 @@ except ImportError: from django.utils._threading_local import local class DatabaseWrapper(local): - def __init__(self): + def __init__(self, **kwargs): self.connection = None self.queries = [] + self.options = kwargs def _valid_connection(self): return self.connection is not None @@ -35,10 +36,10 @@ class DatabaseWrapper(local): settings.DATABASE_HOST = 'localhost' if len(settings.DATABASE_PORT.strip()) != 0: dsn = Database.makedsn(settings.DATABASE_HOST, int(settings.DATABASE_PORT), settings.DATABASE_NAME) - self.connection = Database.connect(settings.DATABASE_USER, settings.DATABASE_PASSWORD, dsn) + self.connection = Database.connect(settings.DATABASE_USER, settings.DATABASE_PASSWORD, dsn, **self.options) else: conn_string = "%s/%s@%s" % (settings.DATABASE_USER, settings.DATABASE_PASSWORD, settings.DATABASE_NAME) - self.connection = Database.connect(conn_string) + self.connection = Database.connect(conn_string, **self.options) return FormatStylePlaceholderCursor(self.connection) def _commit(self): diff --git a/django/db/backends/postgresql/base.py b/django/db/backends/postgresql/base.py index 5355781e81..1e48e9c3fa 100644 --- a/django/db/backends/postgresql/base.py +++ b/django/db/backends/postgresql/base.py @@ -21,9 +21,10 @@ except ImportError: from django.utils._threading_local import local class DatabaseWrapper(local): - def __init__(self): + def __init__(self, **kwargs): self.connection = None self.queries = [] + self.options = kwargs def cursor(self): from django.conf import settings @@ -40,7 +41,7 @@ class DatabaseWrapper(local): conn_string += " host=%s" % settings.DATABASE_HOST if settings.DATABASE_PORT: conn_string += " port=%s" % settings.DATABASE_PORT - self.connection = Database.connect(conn_string) + self.connection = Database.connect(conn_string, **self.options) self.connection.set_isolation_level(1) # make transactions transparent to all cursors cursor = self.connection.cursor() cursor.execute("SET TIME ZONE %s", [settings.TIME_ZONE]) diff --git a/django/db/backends/postgresql_psycopg2/base.py b/django/db/backends/postgresql_psycopg2/base.py index 4c835d89fc..04322332dc 100644 --- a/django/db/backends/postgresql_psycopg2/base.py +++ b/django/db/backends/postgresql_psycopg2/base.py @@ -21,9 +21,10 @@ except ImportError: from django.utils._threading_local import local class DatabaseWrapper(local): - def __init__(self): + def __init__(self, **kwargs): self.connection = None self.queries = [] + self.options = kwargs def cursor(self): from django.conf import settings @@ -40,7 +41,7 @@ class DatabaseWrapper(local): conn_string += " host=%s" % settings.DATABASE_HOST if settings.DATABASE_PORT: conn_string += " port=%s" % settings.DATABASE_PORT - self.connection = Database.connect(conn_string) + self.connection = Database.connect(conn_string, **self.options) self.connection.set_isolation_level(1) # make transactions transparent to all cursors cursor = self.connection.cursor() cursor.tzinfo_factory = None diff --git a/django/db/backends/sqlite3/base.py b/django/db/backends/sqlite3/base.py index 3fe7eb43ac..891320160f 100644 --- a/django/db/backends/sqlite3/base.py +++ b/django/db/backends/sqlite3/base.py @@ -42,16 +42,20 @@ except ImportError: from django.utils._threading_local import local class DatabaseWrapper(local): - def __init__(self): + def __init__(self, **kwargs): self.connection = None self.queries = [] + self.options = kwargs def cursor(self): from django.conf import settings if self.connection is None: - self.connection = Database.connect(settings.DATABASE_NAME, - detect_types=Database.PARSE_DECLTYPES | Database.PARSE_COLNAMES) - + kwargs = { + 'database': settings.DATABASE_NAME, + 'detect_types': Database.PARSE_DECLTYPES | Database.PARSE_COLNAMES, + } + kwargs.update(self.options) + self.connection = Database.connect(**kwargs) # Register extract and date_trunc functions. self.connection.create_function("django_extract", 2, _sqlite_extract) self.connection.create_function("django_date_trunc", 2, _sqlite_date_trunc) diff --git a/django/db/backends/util.py b/django/db/backends/util.py index 3ec1b41485..d8f86fef4f 100644 --- a/django/db/backends/util.py +++ b/django/db/backends/util.py @@ -17,7 +17,7 @@ class CursorDebugWrapper(object): if not isinstance(params, (tuple, dict)): params = tuple(params) self.db.queries.append({ - 'sql': sql % tuple(params), + 'sql': sql % params, 'time': "%.3f" % (stop - start), }) |
