summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/pool.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sqlalchemy/pool.py')
-rw-r--r--lib/sqlalchemy/pool.py25
1 files changed, 11 insertions, 14 deletions
diff --git a/lib/sqlalchemy/pool.py b/lib/sqlalchemy/pool.py
index 7cd2c3d0d..f1f278e91 100644
--- a/lib/sqlalchemy/pool.py
+++ b/lib/sqlalchemy/pool.py
@@ -178,25 +178,22 @@ class Pool(log.Identified):
any data changes present on the transaction
are committed unconditionally.
* ``None`` - don't do anything on the connection.
- This setting should only be made on a database
+ This setting should generally only be made on a database
that has no transaction support at all,
- namely MySQL MyISAM. By not doing anything,
- performance can be improved. This
- setting should **never be selected** for a
- database that supports transactions,
- as it will lead to deadlocks and stale
- state.
- * ``"none"`` - same as ``None``
-
- .. versionadded:: 0.9.10
+ namely MySQL MyISAM; when used on this backend, performance
+ can be improved as the "rollback" call is still expensive on
+ MySQL. It is **strongly recommended** that this setting not be
+ used for transaction-supporting databases in conjunction with
+ a persistent pool such as :class:`.QueuePool`, as it opens
+ the possibility for connections still in a transaction to be
+ idle in the pool. The setting may be appropriate in the
+ case of :class:`.NullPool` or special circumstances where
+ the connection pool in use is not being used to maintain connection
+ lifecycle.
* ``False`` - same as None, this is here for
backwards compatibility.
- .. versionchanged:: 0.7.6
- :paramref:`.Pool.reset_on_return` accepts ``"rollback"``
- and ``"commit"`` arguments.
-
:param events: a list of 2-tuples, each of the form
``(callable, target)`` which will be passed to :func:`.event.listen`
upon construction. Provided here so that event listeners