summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/pool.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2010-11-20 17:57:30 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2010-11-20 17:57:30 -0500
commit45cdb17ef0b08f31a42423554ec94ed913fb31fe (patch)
tree677b1980bf5b4ae3a595848117ce5a0de8b9639d /lib/sqlalchemy/pool.py
parentca2d85540f21f2afaa9def55b8f907adced62e80 (diff)
downloadsqlalchemy-45cdb17ef0b08f31a42423554ec94ed913fb31fe.tar.gz
- fixes for PG, mysql, twophase
- added "pool_events" arg to create_engine(), "events" to pool, allowing establishment of listeners which fire before those of the dialect
Diffstat (limited to 'lib/sqlalchemy/pool.py')
-rw-r--r--lib/sqlalchemy/pool.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/sqlalchemy/pool.py b/lib/sqlalchemy/pool.py
index e1dc06fe9..280292908 100644
--- a/lib/sqlalchemy/pool.py
+++ b/lib/sqlalchemy/pool.py
@@ -67,6 +67,7 @@ class Pool(log.Identified):
logging_name=None,
reset_on_return=True,
listeners=None,
+ events=None,
_dispatch=None):
"""
Construct a Pool.
@@ -104,7 +105,13 @@ class Pool(log.Identified):
connections returned to the pool. This is typically a
ROLLBACK to release locks and transaction resources.
Disable at your own peril. Defaults to True.
-
+
+ :param events: a list of 2-tuples, each of the form
+ ``(callable, target)`` which will be passed to event.listen()
+ upon construction. Provided here so that event listeners
+ can be assigned via ``create_engine`` before dialect-level
+ listeners are applied.
+
:param listeners: Deprecated. A list of
:class:`~sqlalchemy.interfaces.PoolListener`-like objects or
dictionaries of callables that receive events when DB-API
@@ -127,6 +134,9 @@ class Pool(log.Identified):
self.echo = echo
if _dispatch:
self.dispatch.update(_dispatch, only_propagate=False)
+ if events:
+ for fn, target in events:
+ event.listen(fn, target, self)
if listeners:
util.warn_deprecated(
"The 'listeners' argument to Pool (and "