-
Notifications
You must be signed in to change notification settings - Fork 419
add type for pool.acquire() #521
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
base: master
Are you sure you want to change the base?
Conversation
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: |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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
It is clear that this is incorrect and should be 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. |
This is superseded by #1209 |
No description provided.