From d200ba26a0f5b8542ec258d2fcfe0b53a80af42c Mon Sep 17 00:00:00 2001 From: Federico Caselli Date: Thu, 3 Jun 2021 22:38:15 +0200 Subject: Propagate asyncio flag from the dialect to selected pool classes Fixed an issue that presented itself when using the :class:`_pool.NullPool` or the :class:`_pool.StaticPool` with an async engine. This mostly affected the aiosqlite dialect. Fixes: #6575 Change-Id: Ic1e27d99ffcb20ed4de82ea78f430a0f3b629d86 --- lib/sqlalchemy/pool/impl.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'lib/sqlalchemy/pool/impl.py') diff --git a/lib/sqlalchemy/pool/impl.py b/lib/sqlalchemy/pool/impl.py index 730293273..99d0c94d2 100644 --- a/lib/sqlalchemy/pool/impl.py +++ b/lib/sqlalchemy/pool/impl.py @@ -13,7 +13,7 @@ import traceback import weakref -from .base import _ConnDialect +from .base import _AsyncConnDialect from .base import _ConnectionFairy from .base import _ConnectionRecord from .base import Pool @@ -34,6 +34,7 @@ class QueuePool(Pool): """ + _is_asyncio = False _queue_class = sqla_queue.Queue def __init__( @@ -222,10 +223,6 @@ class QueuePool(Pool): return self._pool.maxsize - self._pool.qsize() + self._overflow -class _AsyncConnDialect(_ConnDialect): - is_async = True - - class AsyncAdaptedQueuePool(QueuePool): _is_asyncio = True _queue_class = sqla_queue.AsyncAdaptedQueue @@ -307,6 +304,8 @@ class SingletonThreadPool(Pool): """ + _is_asyncio = False + def __init__(self, creator, pool_size=5, **kw): Pool.__init__(self, creator, **kw) self._conn = threading.local() -- cgit v1.2.1