summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/engine/default.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2006-11-12 20:50:51 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2006-11-12 20:50:51 +0000
commitecee1fb16cf6b7b5d01187191ea23260b8bcef2a (patch)
tree58c9e83ed89f7b94bb6162ad9ab10a03281c31ae /lib/sqlalchemy/engine/default.py
parent2d4e0d27dcbf9e7ab5718b203812c54c61ec3a40 (diff)
downloadsqlalchemy-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.py27
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):