MagicStack/asyncpg

Compatibility with gino

Closed this issue · 0 comments

  • asyncpg version: 0.30.0
  • PostgreSQL version: 16.1
  • Do you use a PostgreSQL SaaS? If so, which? Can you reproduce
    the issue with a local PostgreSQL install?
    : No
  • Python version: 3.13
  • Platform: MacOS
  • Do you use pgbouncer?: No
  • Did you install asyncpg with pip?: Yes
  • If you built asyncpg locally, which version of Cython did you use?:
  • Can the issue be reproduced under both asyncio and
    uvloop?
    : Yes

Hi there! I am using gino 1.0.1 and unfortunately, this project is no longer being updated. For migrating to Python 3.13 I install asyncpg 0.30.0 and found, that gino can't work with current version. Issue occurs when calling bind_execute_many Gino expects 4 arguments, but in version 0.30.0, a new argument return_rows was added.

How to gino using asyncpg:

def executor(state, timeout_):
    if many:
        return _protocol.bind_execute_many(state, args, "", timeout_)
    else:
         return _protocol.bind_execute(state, args, "", limit, True, timeout_)

My suggestion: add True as the default value for the return_rows argument:
@cython.iterable_coroutine async def bind_execute_many( self, state: PreparedStatementState, args, portal_name: str, timeout, return_rows: bool = True, )