mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-06-12 22:02:53 -04:00
Update type hints for Cursor to match PEP 249. (#9299)
This commit is contained in:
parent
5a9cdaa6e9
commit
d882fbca38
5 changed files with 48 additions and 18 deletions
|
@ -12,7 +12,7 @@
|
|||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
from typing import Any, Iterable, Iterator, List, Optional, Tuple
|
||||
from typing import Any, Iterator, List, Mapping, Optional, Sequence, Tuple, Union
|
||||
|
||||
from typing_extensions import Protocol
|
||||
|
||||
|
@ -20,23 +20,44 @@ from typing_extensions import Protocol
|
|||
Some very basic protocol definitions for the DB-API2 classes specified in PEP-249
|
||||
"""
|
||||
|
||||
_Parameters = Union[Sequence[Any], Mapping[str, Any]]
|
||||
|
||||
|
||||
class Cursor(Protocol):
|
||||
def execute(self, sql: str, parameters: Iterable[Any] = ...) -> Any:
|
||||
def execute(self, sql: str, parameters: _Parameters = ...) -> Any:
|
||||
...
|
||||
|
||||
def executemany(self, sql: str, parameters: Iterable[Iterable[Any]]) -> Any:
|
||||
def executemany(self, sql: str, parameters: Sequence[_Parameters]) -> Any:
|
||||
...
|
||||
|
||||
def fetchone(self) -> Optional[Tuple]:
|
||||
...
|
||||
|
||||
def fetchmany(self, size: Optional[int] = ...) -> List[Tuple]:
|
||||
...
|
||||
|
||||
def fetchall(self) -> List[Tuple]:
|
||||
...
|
||||
|
||||
def fetchone(self) -> Tuple:
|
||||
...
|
||||
|
||||
@property
|
||||
def description(self) -> Any:
|
||||
return None
|
||||
def description(
|
||||
self,
|
||||
) -> Optional[
|
||||
Sequence[
|
||||
# Note that this is an approximate typing based on sqlite3 and other
|
||||
# drivers, and may not be entirely accurate.
|
||||
Tuple[
|
||||
str,
|
||||
Optional[Any],
|
||||
Optional[int],
|
||||
Optional[int],
|
||||
Optional[int],
|
||||
Optional[int],
|
||||
Optional[int],
|
||||
]
|
||||
]
|
||||
]:
|
||||
...
|
||||
|
||||
@property
|
||||
def rowcount(self) -> int:
|
||||
|
@ -59,7 +80,7 @@ class Connection(Protocol):
|
|||
def commit(self) -> None:
|
||||
...
|
||||
|
||||
def rollback(self, *args, **kwargs) -> None:
|
||||
def rollback(self) -> None:
|
||||
...
|
||||
|
||||
def __enter__(self) -> "Connection":
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue