diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-05-05 15:52:09 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-05-05 15:52:09 +0000 |
| commit | 635e61bdebfc8fefb93cad2550b1342c43b63186 (patch) | |
| tree | 5b62fa83275cf34bb0294989a889cc3523e90f0f /lib/sqlalchemy/pool.py | |
| parent | dc5ab50a4354da3ea1f98cd2c35fbc0a418ad828 (diff) | |
| download | sqlalchemy-635e61bdebfc8fefb93cad2550b1342c43b63186.tar.gz | |
- added "rollback_returned" option to Pool which will
disable the rollback() issued when connections are
returned. This flag is only safe to use with a database
which does not support transactions (i.e. MySQL/MyISAM).
Diffstat (limited to 'lib/sqlalchemy/pool.py')
| -rw-r--r-- | lib/sqlalchemy/pool.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/sqlalchemy/pool.py b/lib/sqlalchemy/pool.py index 71c0c82df..232f188e3 100644 --- a/lib/sqlalchemy/pool.py +++ b/lib/sqlalchemy/pool.py @@ -112,7 +112,7 @@ class Pool(object): """ - def __init__(self, creator, recycle=-1, echo=None, use_threadlocal=True, + def __init__(self, creator, recycle=-1, echo=None, use_threadlocal=True, rollback_returned=True, listeners=None): self.logger = logging.instance_logger(self, echoflag=echo) # the WeakValueDictionary works more nicely than a regular dict @@ -122,6 +122,7 @@ class Pool(object): self._creator = creator self._recycle = recycle self._use_threadlocal = use_threadlocal + self._rollback_returned = rollback_returned self.echo = echo self.listeners = [] self._on_connect = [] @@ -288,7 +289,8 @@ def _finalize_fairy(connection, connection_record, pool, ref=None): return if connection is not None: try: - connection.rollback() + if pool._rollback_returned: + connection.rollback() # Immediately close detached instances if connection_record is None: connection.close() |
