From 2581655c545a0cf705e0347e81cd092896d3207c Mon Sep 17 00:00:00 2001 From: Federico Caselli Date: Sun, 16 Aug 2020 10:48:57 +0200 Subject: Support testing of async drivers without fallback mode Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398 --- lib/sqlalchemy/dialects/postgresql/asyncpg.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'lib/sqlalchemy/dialects/postgresql/asyncpg.py') diff --git a/lib/sqlalchemy/dialects/postgresql/asyncpg.py b/lib/sqlalchemy/dialects/postgresql/asyncpg.py index 889293eab..6b7e78266 100644 --- a/lib/sqlalchemy/dialects/postgresql/asyncpg.py +++ b/lib/sqlalchemy/dialects/postgresql/asyncpg.py @@ -587,7 +587,7 @@ class AsyncAdapt_asyncpg_dbapi: def connect(self, *arg, **kw): async_fallback = kw.pop("async_fallback", False) - if async_fallback: + if util.asbool(async_fallback): return AsyncAdaptFallback_asyncpg_connection( self, await_fallback(self.asyncpg.connect(*arg, **kw)), @@ -729,6 +729,7 @@ class PGDialect_asyncpg(PGDialect): REGCLASS: AsyncpgREGCLASS, }, ) + is_async = True @util.memoized_property def _dbapi_version(self): @@ -792,8 +793,14 @@ class PGDialect_asyncpg(PGDialect): return ([], opts) @classmethod - def get_pool_class(self, url): - return pool.AsyncAdaptedQueuePool + def get_pool_class(cls, url): + + async_fallback = url.query.get("async_fallback", False) + + if util.asbool(async_fallback): + return pool.FallbackAsyncAdaptedQueuePool + else: + return pool.AsyncAdaptedQueuePool def is_disconnect(self, e, connection, cursor): if connection: -- cgit v1.2.1