Conversation

Tynukua

No description provided.

@eirnym

Looks good for me.

@@ -566,7 +566,7 @@ async def fetchrow(self, query, *args, timeout=None):
async with self.acquire() as con:
return await con.fetchrow(query, *args, timeout=timeout)

def acquire(self, *, timeout=None):
def acquire(self, *, timeout=None) -> connection.Connection:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This type hint only covers usual await case:

con = await pool.acquire()

But won't work properly for context manager case:

async with pool.acquire() as con:
    await con.execute(...)

The more correct return type could be something like PoolAcquireContext but we should check if mypy understands it first.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#577 contains more precise types

@DanielNoord

It is clear that this is incorrect and should be PoolAcquireContext.

I'd suggest either changing that in this PR or just closing this and wait until a PR that targets more of these simple methods is created.

@DanielNoord

This is superseded by #1209

Sign up for free to join this conversation on . Already have an account? Sign in to comment
None yet
None yet

Successfully merging this pull request may close these issues.