Skip to content

Compatibility Issue with asyncpg 0.30.0 in Gino 1.0.1 #1204

Open
@eamial-pub

Description

@eamial-pub
  • 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 (await Model.insert().gino.all([{...}, {...}])] 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:

    async def bind_execute_many(
        self,
        state: PreparedStatementState,
        args,
        portal_name: str,
        timeout,
        return_rows: bool = True,
    )

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions