From 8e25bda401332ac56d4750cffda2127a4302cd2f Mon Sep 17 00:00:00 2001 From: Donal Burns <56016914+Don-Burns@users.noreply.github.com> Date: Thu, 17 Jul 2025 10:41:58 +0100 Subject: [PATCH] psycopg2: Add types to RealDictCursor.execute (#14427) --- stubs/psycopg2/psycopg2/extras.pyi | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/stubs/psycopg2/psycopg2/extras.pyi b/stubs/psycopg2/psycopg2/extras.pyi index 2c0587efa..97c67b408 100644 --- a/stubs/psycopg2/psycopg2/extras.pyi +++ b/stubs/psycopg2/psycopg2/extras.pyi @@ -15,6 +15,7 @@ from psycopg2._psycopg import ( ReplicationConnection as _replicationConnection, ReplicationCursor as _replicationCursor, ReplicationMessage as ReplicationMessage, + _Vars, connection as _connection, cursor as _cursor, quote_ident as quote_ident, @@ -29,6 +30,7 @@ from psycopg2._range import ( RangeCaster as RangeCaster, register_range as register_range, ) +from psycopg2.sql import Composable _T_cur = TypeVar("_T_cur", bound=_cursor) @@ -106,7 +108,7 @@ class RealDictConnection(_connection): class RealDictCursor(DictCursorBase): def __init__(self, *args, **kwargs) -> None: ... column_mapping: Any - def execute(self, query, vars=None): ... + def execute(self, query: str | bytes | Composable, vars: _Vars = None) -> None: ... def callproc(self, procname, vars=None): ... def fetchone(self) -> RealDictRow | None: ... # type: ignore[override] def fetchmany(self, size: int | None = None) -> list[RealDictRow]: ... # type: ignore[override]