summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/engine/default.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2006-08-25 16:27:10 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2006-08-25 16:27:10 +0000
commit8260ca2723ab3b08339ec9273fa729f70862fdf3 (patch)
tree8b32cc35e8b63a16eb55e5f136888cba5d4356ea /lib/sqlalchemy/engine/default.py
parent367e3b61a1031e51ffd13acbc71245088f5ed15a (diff)
downloadsqlalchemy-8260ca2723ab3b08339ec9273fa729f70862fdf3.tar.gz
- cleanup on connection methods + documentation. custom DBAPI
arguments specified in query string, 'connect_args' argument to 'create_engine', or custom creation function via 'creator' function to 'create_engine'. - added "recycle" argument to Pool, is "pool_recycle" on create_engine, defaults to 3600 seconds; connections after this age will be closed and replaced with a new one, to handle db's that automatically close stale connections [ticket:274]
Diffstat (limited to 'lib/sqlalchemy/engine/default.py')
-rw-r--r--lib/sqlalchemy/engine/default.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/sqlalchemy/engine/default.py b/lib/sqlalchemy/engine/default.py
index 6bef1fabd..f73ede756 100644
--- a/lib/sqlalchemy/engine/default.py
+++ b/lib/sqlalchemy/engine/default.py
@@ -16,6 +16,8 @@ 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)
@@ -29,7 +31,8 @@ class PoolConnectionProvider(base.ConnectionProvider):
return dbapi.connect(*cargs, **cparams)
except Exception, e:
raise exceptions.DBAPIError("Connection failed", e)
- self._pool = poolclass(connect, **kwargs)
+ creator = kwargs.pop('creator', connect)
+ self._pool = poolclass(creator, **kwargs)
else:
if isinstance(pool, sqlalchemy.pool.DBProxy):
self._pool = pool.get_pool(*cargs, **cparams)