diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-11-12 20:50:51 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-11-12 20:50:51 +0000 |
| commit | ecee1fb16cf6b7b5d01187191ea23260b8bcef2a (patch) | |
| tree | 58c9e83ed89f7b94bb6162ad9ab10a03281c31ae /lib/sqlalchemy/engine/default.py | |
| parent | 2d4e0d27dcbf9e7ab5718b203812c54c61ec3a40 (diff) | |
| download | sqlalchemy-ecee1fb16cf6b7b5d01187191ea23260b8bcef2a.tar.gz | |
- create_engine() reworked to be strict about incoming **kwargs. all keyword
arguments must be consumed by one of the dialect, connection pool, and engine
constructors, else a TypeError is thrown which describes the full set of
invalid kwargs in relation to the selected dialect/pool/engine configuration.
Diffstat (limited to 'lib/sqlalchemy/engine/default.py')
| -rw-r--r-- | lib/sqlalchemy/engine/default.py | 27 |
1 files changed, 2 insertions, 25 deletions
diff --git a/lib/sqlalchemy/engine/default.py b/lib/sqlalchemy/engine/default.py index 02d3e4608..4af539e78 100644 --- a/lib/sqlalchemy/engine/default.py +++ b/lib/sqlalchemy/engine/default.py @@ -6,7 +6,6 @@ from sqlalchemy import schema, exceptions, util, sql, types -from sqlalchemy import pool as poollib import StringIO, sys, re from sqlalchemy.engine import base @@ -14,30 +13,8 @@ from sqlalchemy.engine import base class PoolConnectionProvider(base.ConnectionProvider): - def __init__(self, dialect, url, poolclass=None, pool=None, **kwargs): - (cargs, cparams) = dialect.create_connect_args(url) - cparams.update(kwargs.pop('connect_args', {})) - - if pool is None: - kwargs.setdefault('echo', False) - kwargs.setdefault('use_threadlocal',True) - if poolclass is None: - poolclass = poollib.QueuePool - dbapi = dialect.dbapi() - if dbapi is None: - raise exceptions.InvalidRequestError("Cant get DBAPI module for dialect '%s'" % dialect) - def connect(): - try: - return dbapi.connect(*cargs, **cparams) - except Exception, e: - raise exceptions.DBAPIError("Connection failed", e) - creator = kwargs.pop('creator', connect) - self._pool = poolclass(creator, **kwargs) - else: - if isinstance(pool, poollib.DBProxy): - self._pool = pool.get_pool(*cargs, **cparams) - else: - self._pool = pool + def __init__(self, pool): + self._pool = pool def get_connection(self): return self._pool.connect() def dispose(self): |
