Skip to content

Commit

Permalink
fix: support sqlalchemy 1.4
Browse files Browse the repository at this point in the history
  • Loading branch information
PrettyWood committed Mar 15, 2021
1 parent 2194ffb commit 89ab2b9
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 15 deletions.
13 changes: 8 additions & 5 deletions databases/backends/aiopg.py
Expand Up @@ -8,10 +8,13 @@
from aiopg.sa.engine import APGCompiler_psycopg2
from sqlalchemy.dialects.postgresql.psycopg2 import PGDialect_psycopg2
from sqlalchemy.engine.interfaces import Dialect, ExecutionContext
from sqlalchemy.engine.result import ResultMetaData, RowProxy
from sqlalchemy.engine.result import ResultMetaData
try:
from sqlalchemy.engine.result import Row
except ImportError: # pragma: no cover
from sqlalchemy.engine.result import RowProxy as Row
from sqlalchemy.sql import ClauseElement
from sqlalchemy.sql.ddl import DDLElement
from sqlalchemy.types import TypeEngine

from databases.core import DatabaseURL
from databases.interfaces import ConnectionBackend, DatabaseBackend, TransactionBackend
Expand Down Expand Up @@ -121,7 +124,7 @@ async def fetch_all(self, query: ClauseElement) -> typing.List[typing.Mapping]:
rows = await cursor.fetchall()
metadata = ResultMetaData(context, cursor.description)
return [
RowProxy(metadata, row, metadata._processors, metadata._keymap)
Row(metadata, row, metadata._processors, metadata._keymap)
for row in rows
]
finally:
Expand All @@ -137,7 +140,7 @@ async def fetch_one(self, query: ClauseElement) -> typing.Optional[typing.Mappin
if row is None:
return None
metadata = ResultMetaData(context, cursor.description)
return RowProxy(metadata, row, metadata._processors, metadata._keymap)
return Row(metadata, row, metadata._processors, metadata._keymap)
finally:
cursor.close()

Expand Down Expand Up @@ -171,7 +174,7 @@ async def iterate(
await cursor.execute(query, args)
metadata = ResultMetaData(context, cursor.description)
async for row in cursor:
yield RowProxy(metadata, row, metadata._processors, metadata._keymap)
yield Row(metadata, row, metadata._processors, metadata._keymap)
finally:
cursor.close()

Expand Down
13 changes: 8 additions & 5 deletions databases/backends/mysql.py
Expand Up @@ -6,10 +6,13 @@
import aiomysql
from sqlalchemy.dialects.mysql import pymysql
from sqlalchemy.engine.interfaces import Dialect, ExecutionContext
from sqlalchemy.engine.result import ResultMetaData, RowProxy
from sqlalchemy.engine.result import ResultMetaData
try:
from sqlalchemy.engine.result import Row
except ImportError: # pragma: no cover
from sqlalchemy.engine.result import RowProxy as Row
from sqlalchemy.sql import ClauseElement
from sqlalchemy.sql.ddl import DDLElement
from sqlalchemy.types import TypeEngine

from databases.core import LOG_EXTRA, DatabaseURL
from databases.interfaces import ConnectionBackend, DatabaseBackend, TransactionBackend
Expand Down Expand Up @@ -109,7 +112,7 @@ async def fetch_all(self, query: ClauseElement) -> typing.List[typing.Mapping]:
rows = await cursor.fetchall()
metadata = ResultMetaData(context, cursor.description)
return [
RowProxy(metadata, row, metadata._processors, metadata._keymap)
Row(metadata, row, metadata._processors, metadata._keymap)
for row in rows
]
finally:
Expand All @@ -125,7 +128,7 @@ async def fetch_one(self, query: ClauseElement) -> typing.Optional[typing.Mappin
if row is None:
return None
metadata = ResultMetaData(context, cursor.description)
return RowProxy(metadata, row, metadata._processors, metadata._keymap)
return Row(metadata, row, metadata._processors, metadata._keymap)
finally:
await cursor.close()

Expand Down Expand Up @@ -161,7 +164,7 @@ async def iterate(
await cursor.execute(query, args)
metadata = ResultMetaData(context, cursor.description)
async for row in cursor:
yield RowProxy(metadata, row, metadata._processors, metadata._keymap)
yield Row(metadata, row, metadata._processors, metadata._keymap)
finally:
await cursor.close()

Expand Down
13 changes: 8 additions & 5 deletions databases/backends/sqlite.py
Expand Up @@ -5,10 +5,13 @@
import aiosqlite
from sqlalchemy.dialects.sqlite import pysqlite
from sqlalchemy.engine.interfaces import Dialect, ExecutionContext
from sqlalchemy.engine.result import ResultMetaData, RowProxy
from sqlalchemy.engine.result import ResultMetaData
try:
from sqlalchemy.engine.result import Row
except ImportError: # pragma: no cover
from sqlalchemy.engine.result import RowProxy as Row
from sqlalchemy.sql import ClauseElement
from sqlalchemy.sql.ddl import DDLElement
from sqlalchemy.types import TypeEngine

from databases.core import LOG_EXTRA, DatabaseURL
from databases.interfaces import ConnectionBackend, DatabaseBackend, TransactionBackend
Expand Down Expand Up @@ -94,7 +97,7 @@ async def fetch_all(self, query: ClauseElement) -> typing.List[typing.Mapping]:
rows = await cursor.fetchall()
metadata = ResultMetaData(context, cursor.description)
return [
RowProxy(metadata, row, metadata._processors, metadata._keymap)
Row(metadata, row, metadata._processors, metadata._keymap)
for row in rows
]

Expand All @@ -107,7 +110,7 @@ async def fetch_one(self, query: ClauseElement) -> typing.Optional[typing.Mappin
if row is None:
return None
metadata = ResultMetaData(context, cursor.description)
return RowProxy(metadata, row, metadata._processors, metadata._keymap)
return Row(metadata, row, metadata._processors, metadata._keymap)

async def execute(self, query: ClauseElement) -> typing.Any:
assert self._connection is not None, "Connection is not acquired"
Expand All @@ -131,7 +134,7 @@ async def iterate(
async with self._connection.execute(query, args) as cursor:
metadata = ResultMetaData(context, cursor.description)
async for row in cursor:
yield RowProxy(metadata, row, metadata._processors, metadata._keymap)
yield Row(metadata, row, metadata._processors, metadata._keymap)

def transaction(self) -> TransactionBackend:
return SQLiteTransaction(self)
Expand Down

0 comments on commit 89ab2b9

Please sign in to comment.