Fix method subtyping [recorder] (#134212)

This commit is contained in:
Marc Mueller 2024-12-29 17:16:11 +01:00 committed by GitHub
parent d3fab42c85
commit 3df91cfba5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 7 additions and 3 deletions

View File

@ -6,7 +6,7 @@ from collections.abc import Callable
from datetime import datetime, timedelta from datetime import datetime, timedelta
import logging import logging
import time import time
from typing import Any, Final, Self, cast from typing import Any, Final, Protocol, Self, cast
import ciso8601 import ciso8601
from fnv_hash_fast import fnv1a_32 from fnv_hash_fast import fnv1a_32
@ -233,10 +233,14 @@ CONTEXT_BINARY_TYPE = LargeBinary(CONTEXT_ID_BIN_MAX_LENGTH).with_variant(
TIMESTAMP_TYPE = DOUBLE_TYPE TIMESTAMP_TYPE = DOUBLE_TYPE
class _LiteralProcessorType(Protocol):
def __call__(self, value: Any) -> str: ...
class JSONLiteral(JSON): class JSONLiteral(JSON):
"""Teach SA how to literalize json.""" """Teach SA how to literalize json."""
def literal_processor(self, dialect: Dialect) -> Callable[[Any], str]: def literal_processor(self, dialect: Dialect) -> _LiteralProcessorType:
"""Processor to convert a value to JSON.""" """Processor to convert a value to JSON."""
def process(value: Any) -> str: def process(value: Any) -> str:

View File

@ -2453,7 +2453,7 @@ class BaseMigration(ABC):
self.migration_changes = migration_changes self.migration_changes = migration_changes
@abstractmethod @abstractmethod
def migrate_data(self, instance: Recorder) -> bool: def migrate_data(self, instance: Recorder, /) -> bool:
"""Migrate some data, return True if migration is completed.""" """Migrate some data, return True if migration is completed."""
def _migrate_data(self, instance: Recorder) -> bool: def _migrate_data(self, instance: Recorder) -> bool: