1111from sqlalchemy .sql import ClauseElement
1212
1313from databases .importer import import_from_string
14- from databases .interfaces import ConnectionBackend , DatabaseBackend , TransactionBackend
14+ from databases .interfaces import (
15+ ConnectionBackend ,
16+ DatabaseBackend ,
17+ Record ,
18+ TransactionBackend ,
19+ )
1520
1621if sys .version_info >= (3 , 7 ): # pragma: no cover
1722 import contextvars as contextvars
@@ -144,13 +149,13 @@ async def __aexit__(
144149
145150 async def fetch_all (
146151 self , query : typing .Union [ClauseElement , str ], values : dict = None
147- ) -> typing .List [typing . Sequence ]:
152+ ) -> typing .List [Record ]:
148153 async with self .connection () as connection :
149154 return await connection .fetch_all (query , values )
150155
151156 async def fetch_one (
152157 self , query : typing .Union [ClauseElement , str ], values : dict = None
153- ) -> typing .Optional [typing . Sequence ]:
158+ ) -> typing .Optional [Record ]:
154159 async with self .connection () as connection :
155160 return await connection .fetch_one (query , values )
156161
@@ -246,7 +251,7 @@ async def __aenter__(self) -> "Connection":
246251 try :
247252 if self ._connection_counter == 1 :
248253 await self ._connection .acquire ()
249- except Exception as e :
254+ except BaseException as e :
250255 self ._connection_counter -= 1
251256 raise e
252257 return self
@@ -265,14 +270,14 @@ async def __aexit__(
265270
266271 async def fetch_all (
267272 self , query : typing .Union [ClauseElement , str ], values : dict = None
268- ) -> typing .List [typing . Sequence ]:
273+ ) -> typing .List [Record ]:
269274 built_query = self ._build_query (query , values )
270275 async with self ._query_lock :
271276 return await self ._connection .fetch_all (built_query )
272277
273278 async def fetch_one (
274279 self , query : typing .Union [ClauseElement , str ], values : dict = None
275- ) -> typing .Optional [typing . Sequence ]:
280+ ) -> typing .Optional [Record ]:
276281 built_query = self ._build_query (query , values )
277282 async with self ._query_lock :
278283 return await self ._connection .fetch_one (built_query )
0 commit comments