Skip to content
This repository was archived by the owner on Aug 19, 2025. It is now read-only.

Commit 5fc7370

Browse files
authored
change Record type to Sequence (#408)
1 parent 6ad3e23 commit 5fc7370

File tree

6 files changed

+16
-16
lines changed

6 files changed

+16
-16
lines changed

databases/backends/aiopg.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ async def release(self) -> None:
112112
await self._database._pool.release(self._connection)
113113
self._connection = None
114114

115-
async def fetch_all(self, query: ClauseElement) -> typing.List[typing.Mapping]:
115+
async def fetch_all(self, query: ClauseElement) -> typing.List[typing.Sequence]:
116116
assert self._connection is not None, "Connection is not acquired"
117117
query_str, args, context = self._compile(query)
118118
cursor = await self._connection.cursor()
@@ -133,7 +133,7 @@ async def fetch_all(self, query: ClauseElement) -> typing.List[typing.Mapping]:
133133
finally:
134134
cursor.close()
135135

136-
async def fetch_one(self, query: ClauseElement) -> typing.Optional[typing.Mapping]:
136+
async def fetch_one(self, query: ClauseElement) -> typing.Optional[typing.Sequence]:
137137
assert self._connection is not None, "Connection is not acquired"
138138
query_str, args, context = self._compile(query)
139139
cursor = await self._connection.cursor()

databases/backends/mysql.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ async def release(self) -> None:
100100
await self._database._pool.release(self._connection)
101101
self._connection = None
102102

103-
async def fetch_all(self, query: ClauseElement) -> typing.List[typing.Mapping]:
103+
async def fetch_all(self, query: ClauseElement) -> typing.List[typing.Sequence]:
104104
assert self._connection is not None, "Connection is not acquired"
105105
query_str, args, context = self._compile(query)
106106
cursor = await self._connection.cursor()
@@ -121,7 +121,7 @@ async def fetch_all(self, query: ClauseElement) -> typing.List[typing.Mapping]:
121121
finally:
122122
await cursor.close()
123123

124-
async def fetch_one(self, query: ClauseElement) -> typing.Optional[typing.Mapping]:
124+
async def fetch_one(self, query: ClauseElement) -> typing.Optional[typing.Sequence]:
125125
assert self._connection is not None, "Connection is not acquired"
126126
query_str, args, context = self._compile(query)
127127
cursor = await self._connection.cursor()

databases/backends/postgres.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import logging
22
import typing
3-
from collections.abc import Mapping
3+
from collections.abc import Sequence
44

55
import asyncpg
66
from sqlalchemy.dialects.postgresql import pypostgresql
@@ -78,7 +78,7 @@ def connection(self) -> "PostgresConnection":
7878
return PostgresConnection(self, self._dialect)
7979

8080

81-
class Record(Mapping):
81+
class Record(Sequence):
8282
__slots__ = (
8383
"_row",
8484
"_result_columns",
@@ -168,15 +168,15 @@ async def release(self) -> None:
168168
self._connection = await self._database._pool.release(self._connection)
169169
self._connection = None
170170

171-
async def fetch_all(self, query: ClauseElement) -> typing.List[typing.Mapping]:
171+
async def fetch_all(self, query: ClauseElement) -> typing.List[typing.Sequence]:
172172
assert self._connection is not None, "Connection is not acquired"
173173
query_str, args, result_columns = self._compile(query)
174174
rows = await self._connection.fetch(query_str, *args)
175175
dialect = self._dialect
176176
column_maps = self._create_column_maps(result_columns)
177177
return [Record(row, result_columns, dialect, column_maps) for row in rows]
178178

179-
async def fetch_one(self, query: ClauseElement) -> typing.Optional[typing.Mapping]:
179+
async def fetch_one(self, query: ClauseElement) -> typing.Optional[typing.Sequence]:
180180
assert self._connection is not None, "Connection is not acquired"
181181
query_str, args, result_columns = self._compile(query)
182182
row = await self._connection.fetchrow(query_str, *args)

databases/backends/sqlite.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ async def release(self) -> None:
8686
await self._pool.release(self._connection)
8787
self._connection = None
8888

89-
async def fetch_all(self, query: ClauseElement) -> typing.List[typing.Mapping]:
89+
async def fetch_all(self, query: ClauseElement) -> typing.List[typing.Sequence]:
9090
assert self._connection is not None, "Connection is not acquired"
9191
query_str, args, context = self._compile(query)
9292

@@ -104,7 +104,7 @@ async def fetch_all(self, query: ClauseElement) -> typing.List[typing.Mapping]:
104104
for row in rows
105105
]
106106

107-
async def fetch_one(self, query: ClauseElement) -> typing.Optional[typing.Mapping]:
107+
async def fetch_one(self, query: ClauseElement) -> typing.Optional[typing.Sequence]:
108108
assert self._connection is not None, "Connection is not acquired"
109109
query_str, args, context = self._compile(query)
110110

databases/core.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -143,13 +143,13 @@ async def __aexit__(
143143

144144
async def fetch_all(
145145
self, query: typing.Union[ClauseElement, str], values: dict = None
146-
) -> typing.List[typing.Mapping]:
146+
) -> typing.List[typing.Sequence]:
147147
async with self.connection() as connection:
148148
return await connection.fetch_all(query, values)
149149

150150
async def fetch_one(
151151
self, query: typing.Union[ClauseElement, str], values: dict = None
152-
) -> typing.Optional[typing.Mapping]:
152+
) -> typing.Optional[typing.Sequence]:
153153
async with self.connection() as connection:
154154
return await connection.fetch_one(query, values)
155155

@@ -265,14 +265,14 @@ async def __aexit__(
265265

266266
async def fetch_all(
267267
self, query: typing.Union[ClauseElement, str], values: dict = None
268-
) -> typing.List[typing.Mapping]:
268+
) -> typing.List[typing.Sequence]:
269269
built_query = self._build_query(query, values)
270270
async with self._query_lock:
271271
return await self._connection.fetch_all(built_query)
272272

273273
async def fetch_one(
274274
self, query: typing.Union[ClauseElement, str], values: dict = None
275-
) -> typing.Optional[typing.Mapping]:
275+
) -> typing.Optional[typing.Sequence]:
276276
built_query = self._build_query(query, values)
277277
async with self._query_lock:
278278
return await self._connection.fetch_one(built_query)

databases/interfaces.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@ async def acquire(self) -> None:
2121
async def release(self) -> None:
2222
raise NotImplementedError() # pragma: no cover
2323

24-
async def fetch_all(self, query: ClauseElement) -> typing.List[typing.Mapping]:
24+
async def fetch_all(self, query: ClauseElement) -> typing.List[typing.Sequence]:
2525
raise NotImplementedError() # pragma: no cover
2626

27-
async def fetch_one(self, query: ClauseElement) -> typing.Optional[typing.Mapping]:
27+
async def fetch_one(self, query: ClauseElement) -> typing.Optional[typing.Sequence]:
2828
raise NotImplementedError() # pragma: no cover
2929

3030
async def fetch_val(

0 commit comments

Comments
 (0)