diff --git a/django-stubs/db/backends/mysql/base.pyi b/django-stubs/db/backends/mysql/base.pyi index b51618314..cb9cb0a69 100644 --- a/django-stubs/db/backends/mysql/base.pyi +++ b/django-stubs/db/backends/mysql/base.pyi @@ -1,5 +1,5 @@ from collections.abc import Container, Iterator -from typing import Any, Literal +from typing import Any, Literal, Protocol from django.db.backends.base.base import BaseDatabaseWrapper @@ -8,12 +8,15 @@ from .creation import DatabaseCreation from .features import DatabaseFeatures from .introspection import DatabaseIntrospection from .operations import DatabaseOperations +from .schema import DatabaseSchemaEditor from .validation import DatabaseValidation version: Any django_conversions: Any server_version_re: Any +class MySQLDatabase(Protocol): ... + class CursorWrapper: codes_for_integrityerror: Any cursor: Any @@ -39,20 +42,18 @@ class DatabaseWrapper(BaseDatabaseWrapper): validation_class: type[DatabaseValidation] vendor: str - data_types: Any - operators: Any + operators: dict[str, str] pattern_esc: str - pattern_ops: Any - isolation_levels: Any - Database: Any - SchemaEditorClass: Any - isolation_level: Any + pattern_ops: dict[str, str] + isolation_levels: set[str] + Database: MySQLDatabase + SchemaEditorClass: type[DatabaseSchemaEditor] + isolation_level: set[str] def get_connection_params(self) -> dict[str, Any]: ... def get_new_connection(self, conn_params: Any) -> Any: ... def init_connection_state(self) -> None: ... def create_cursor(self, name: Any | None = ...) -> CursorWrapper: ... def disable_constraint_checking(self) -> Literal[True]: ... - needs_rollback: Any def enable_constraint_checking(self) -> None: ... def check_constraints(self, table_names: Any | None = ...) -> None: ... def is_usable(self) -> bool: ...