diff --git a/databases/backends/aiopg.py b/databases/backends/aiopg.py index 0b2a6e89..0b4d95a3 100644 --- a/databases/backends/aiopg.py +++ b/databases/backends/aiopg.py @@ -134,7 +134,6 @@ async def fetch_all(self, query: ClauseElement) -> typing.List[RecordInterface]: metadata, metadata._processors, metadata._keymap, - Row._default_key_style, row, ) for row in rows @@ -159,7 +158,6 @@ async def fetch_one(self, query: ClauseElement) -> typing.Optional[RecordInterfa metadata, metadata._processors, metadata._keymap, - Row._default_key_style, row, ) return Record(row, result_columns, dialect, column_maps) @@ -202,7 +200,6 @@ async def iterate( metadata, metadata._processors, metadata._keymap, - Row._default_key_style, row, ) yield Record(record, result_columns, dialect, column_maps) diff --git a/databases/backends/asyncmy.py b/databases/backends/asyncmy.py index f224c7cc..37831313 100644 --- a/databases/backends/asyncmy.py +++ b/databases/backends/asyncmy.py @@ -121,7 +121,6 @@ async def fetch_all(self, query: ClauseElement) -> typing.List[RecordInterface]: metadata, metadata._processors, metadata._keymap, - Row._default_key_style, row, ) for row in rows @@ -148,7 +147,6 @@ async def fetch_one(self, query: ClauseElement) -> typing.Optional[RecordInterfa metadata, metadata._processors, metadata._keymap, - Row._default_key_style, row, ) return Record(row, result_columns, dialect, column_maps) @@ -193,7 +191,6 @@ async def iterate( metadata, metadata._processors, metadata._keymap, - Row._default_key_style, row, ) yield Record(record, result_columns, dialect, column_maps) diff --git a/databases/backends/common/records.py b/databases/backends/common/records.py index 77a4d8fa..1d8a2fd4 100644 --- a/databases/backends/common/records.py +++ b/databases/backends/common/records.py @@ -91,9 +91,10 @@ def __getitem__(self, key: typing.Any) -> typing.Any: the values. """ if isinstance(key, int): - field = self._fields[key] - return self._mapping[field] - return self._mapping[key] + return super().__getitem__(key) + + idx = self._key_to_index[key][0] + return super().__getitem__(idx) def keys(self): return self._mapping.keys() @@ -101,12 +102,6 @@ def keys(self): def values(self): return self._mapping.values() - def __getattr__(self, name: str) -> typing.Any: - try: - return self.__getitem__(name) - except KeyError as e: - raise AttributeError(e.args[0]) from e - def create_column_maps( result_columns: typing.Any, diff --git a/databases/backends/mysql.py b/databases/backends/mysql.py index d93b4a7f..7d65912c 100644 --- a/databases/backends/mysql.py +++ b/databases/backends/mysql.py @@ -120,7 +120,6 @@ async def fetch_all(self, query: ClauseElement) -> typing.List[RecordInterface]: metadata, metadata._processors, metadata._keymap, - Row._default_key_style, row, ) for row in rows @@ -145,7 +144,6 @@ async def fetch_one(self, query: ClauseElement) -> typing.Optional[RecordInterfa metadata, metadata._processors, metadata._keymap, - Row._default_key_style, row, ) return Record(row, result_columns, dialect, column_maps) @@ -190,7 +188,6 @@ async def iterate( metadata, metadata._processors, metadata._keymap, - Row._default_key_style, row, ) yield Record(record, result_columns, dialect, column_maps) diff --git a/databases/backends/sqlite.py b/databases/backends/sqlite.py index f0732d6f..762dfb95 100644 --- a/databases/backends/sqlite.py +++ b/databases/backends/sqlite.py @@ -87,7 +87,6 @@ async def fetch_all(self, query: ClauseElement) -> typing.List[Record]: metadata, metadata._processors, metadata._keymap, - Row._default_key_style, row, ) for row in rows @@ -109,7 +108,6 @@ async def fetch_one(self, query: ClauseElement) -> typing.Optional[Record]: metadata, metadata._processors, metadata._keymap, - Row._default_key_style, row, ) return Record(row, result_columns, dialect, column_maps) @@ -143,7 +141,6 @@ async def iterate( metadata, metadata._processors, metadata._keymap, - Row._default_key_style, row, ) yield Record(record, result_columns, dialect, column_maps)