diff options
Diffstat (limited to 'lib/sqlalchemy/dialects/postgresql/asyncpg.py')
-rw-r--r-- | lib/sqlalchemy/dialects/postgresql/asyncpg.py | 13 |
1 files changed, 10 insertions, 3 deletions
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: |