Annotations for state_deltas.py (#11316)
I was sad that I couldn't do better for `_curr_state_delta_stream_cache`. At least it's explicitly called out in a comment with #TODO.pull/11339/head
parent
3fad4e3fe5
commit
fe58672546
|
@ -0,0 +1 @@
|
|||
Add type hints to storage classes.
|
4
mypy.ini
4
mypy.ini
|
@ -47,7 +47,6 @@ exclude = (?x)
|
|||
|synapse/storage/databases/main/roommember.py
|
||||
|synapse/storage/databases/main/search.py
|
||||
|synapse/storage/databases/main/state.py
|
||||
|synapse/storage/databases/main/state_deltas.py
|
||||
|synapse/storage/databases/main/stats.py
|
||||
|synapse/storage/databases/main/transactions.py
|
||||
|synapse/storage/databases/main/user_directory.py
|
||||
|
@ -181,6 +180,9 @@ disallow_untyped_defs = True
|
|||
[mypy-synapse.storage.databases.main.room_batch]
|
||||
disallow_untyped_defs = True
|
||||
|
||||
[mypy-synapse.storage.databases.main.state_deltas]
|
||||
disallow_untyped_defs = True
|
||||
|
||||
[mypy-synapse.storage.databases.main.user_erasure_store]
|
||||
disallow_untyped_defs = True
|
||||
|
||||
|
|
|
@ -16,11 +16,17 @@ import logging
|
|||
from typing import Any, Dict, List, Tuple
|
||||
|
||||
from synapse.storage._base import SQLBaseStore
|
||||
from synapse.storage.database import LoggingTransaction
|
||||
from synapse.util.caches.stream_change_cache import StreamChangeCache
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class StateDeltasStore(SQLBaseStore):
|
||||
# This class must be mixed in with a child class which provides the following
|
||||
# attribute. TODO: can we get static analysis to enforce this?
|
||||
_curr_state_delta_stream_cache: StreamChangeCache
|
||||
|
||||
async def get_current_state_deltas(
|
||||
self, prev_stream_id: int, max_stream_id: int
|
||||
) -> Tuple[int, List[Dict[str, Any]]]:
|
||||
|
@ -60,7 +66,9 @@ class StateDeltasStore(SQLBaseStore):
|
|||
# max_stream_id.
|
||||
return max_stream_id, []
|
||||
|
||||
def get_current_state_deltas_txn(txn):
|
||||
def get_current_state_deltas_txn(
|
||||
txn: LoggingTransaction,
|
||||
) -> Tuple[int, List[Dict[str, Any]]]:
|
||||
# First we calculate the max stream id that will give us less than
|
||||
# N results.
|
||||
# We arbitrarily limit to 100 stream_id entries to ensure we don't
|
||||
|
@ -106,7 +114,9 @@ class StateDeltasStore(SQLBaseStore):
|
|||
"get_current_state_deltas", get_current_state_deltas_txn
|
||||
)
|
||||
|
||||
def _get_max_stream_id_in_current_state_deltas_txn(self, txn):
|
||||
def _get_max_stream_id_in_current_state_deltas_txn(
|
||||
self, txn: LoggingTransaction
|
||||
) -> int:
|
||||
return self.db_pool.simple_select_one_onecol_txn(
|
||||
txn,
|
||||
table="current_state_delta_stream",
|
||||
|
@ -114,7 +124,7 @@ class StateDeltasStore(SQLBaseStore):
|
|||
retcol="COALESCE(MAX(stream_id), -1)",
|
||||
)
|
||||
|
||||
async def get_max_stream_id_in_current_state_deltas(self):
|
||||
async def get_max_stream_id_in_current_state_deltas(self) -> int:
|
||||
return await self.db_pool.runInteraction(
|
||||
"get_max_stream_id_in_current_state_deltas",
|
||||
self._get_max_stream_id_in_current_state_deltas_txn,
|
||||
|
|
Loading…
Reference in New Issue