Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.

Commit 5305a5e

Browse files
authored
Type hint the constructors of the data store classes (#11555)
1 parent 1abfb15 commit 5305a5e

35 files changed

+351
-87
lines changed

changelog.d/11555.misc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Add missing type hints to storage classes.

synapse/replication/slave/storage/_base.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
import logging
1616
from typing import TYPE_CHECKING, Optional
1717

18-
from synapse.storage.database import DatabasePool
18+
from synapse.storage.database import DatabasePool, LoggingDatabaseConnection
1919
from synapse.storage.databases.main.cache import CacheInvalidationWorkerStore
2020
from synapse.storage.engines import PostgresEngine
2121
from synapse.storage.util.id_generators import MultiWriterIdGenerator
@@ -27,7 +27,12 @@
2727

2828

2929
class BaseSlavedStore(CacheInvalidationWorkerStore):
30-
def __init__(self, database: DatabasePool, db_conn, hs: "HomeServer"):
30+
def __init__(
31+
self,
32+
database: DatabasePool,
33+
db_conn: LoggingDatabaseConnection,
34+
hs: "HomeServer",
35+
):
3136
super().__init__(database, db_conn, hs)
3237
if isinstance(self.database_engine, PostgresEngine):
3338
self._cache_id_gen: Optional[

synapse/replication/slave/storage/client_ips.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
from typing import TYPE_CHECKING
1616

17-
from synapse.storage.database import DatabasePool
17+
from synapse.storage.database import DatabasePool, LoggingDatabaseConnection
1818
from synapse.storage.databases.main.client_ips import LAST_SEEN_GRANULARITY
1919
from synapse.util.caches.lrucache import LruCache
2020

@@ -25,7 +25,12 @@
2525

2626

2727
class SlavedClientIpStore(BaseSlavedStore):
28-
def __init__(self, database: DatabasePool, db_conn, hs: "HomeServer"):
28+
def __init__(
29+
self,
30+
database: DatabasePool,
31+
db_conn: LoggingDatabaseConnection,
32+
hs: "HomeServer",
33+
):
2934
super().__init__(database, db_conn, hs)
3035

3136
self.client_ip_last_seen: LruCache[tuple, int] = LruCache(

synapse/replication/slave/storage/devices.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
from synapse.replication.slave.storage._base import BaseSlavedStore
1818
from synapse.replication.slave.storage._slaved_id_tracker import SlavedIdTracker
1919
from synapse.replication.tcp.streams._base import DeviceListsStream, UserSignatureStream
20-
from synapse.storage.database import DatabasePool
20+
from synapse.storage.database import DatabasePool, LoggingDatabaseConnection
2121
from synapse.storage.databases.main.devices import DeviceWorkerStore
2222
from synapse.storage.databases.main.end_to_end_keys import EndToEndKeyWorkerStore
2323
from synapse.util.caches.stream_change_cache import StreamChangeCache
@@ -27,7 +27,12 @@
2727

2828

2929
class SlavedDeviceStore(EndToEndKeyWorkerStore, DeviceWorkerStore, BaseSlavedStore):
30-
def __init__(self, database: DatabasePool, db_conn, hs: "HomeServer"):
30+
def __init__(
31+
self,
32+
database: DatabasePool,
33+
db_conn: LoggingDatabaseConnection,
34+
hs: "HomeServer",
35+
):
3136
super().__init__(database, db_conn, hs)
3237

3338
self.hs = hs

synapse/replication/slave/storage/events.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
import logging
1616
from typing import TYPE_CHECKING
1717

18-
from synapse.storage.database import DatabasePool
18+
from synapse.storage.database import DatabasePool, LoggingDatabaseConnection
1919
from synapse.storage.databases.main.event_federation import EventFederationWorkerStore
2020
from synapse.storage.databases.main.event_push_actions import (
2121
EventPushActionsWorkerStore,
@@ -58,7 +58,12 @@ class SlavedEventStore(
5858
RelationsWorkerStore,
5959
BaseSlavedStore,
6060
):
61-
def __init__(self, database: DatabasePool, db_conn, hs: "HomeServer"):
61+
def __init__(
62+
self,
63+
database: DatabasePool,
64+
db_conn: LoggingDatabaseConnection,
65+
hs: "HomeServer",
66+
):
6267
super().__init__(database, db_conn, hs)
6368

6469
events_max = self._stream_id_gen.get_current_token()

synapse/replication/slave/storage/filtering.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
from typing import TYPE_CHECKING
1616

17-
from synapse.storage.database import DatabasePool
17+
from synapse.storage.database import DatabasePool, LoggingDatabaseConnection
1818
from synapse.storage.databases.main.filtering import FilteringStore
1919

2020
from ._base import BaseSlavedStore
@@ -24,7 +24,12 @@
2424

2525

2626
class SlavedFilteringStore(BaseSlavedStore):
27-
def __init__(self, database: DatabasePool, db_conn, hs: "HomeServer"):
27+
def __init__(
28+
self,
29+
database: DatabasePool,
30+
db_conn: LoggingDatabaseConnection,
31+
hs: "HomeServer",
32+
):
2833
super().__init__(database, db_conn, hs)
2934

3035
# Filters are immutable so this cache doesn't need to be expired

synapse/replication/slave/storage/groups.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
from synapse.replication.slave.storage._base import BaseSlavedStore
1818
from synapse.replication.slave.storage._slaved_id_tracker import SlavedIdTracker
1919
from synapse.replication.tcp.streams import GroupServerStream
20-
from synapse.storage.database import DatabasePool
20+
from synapse.storage.database import DatabasePool, LoggingDatabaseConnection
2121
from synapse.storage.databases.main.group_server import GroupServerWorkerStore
2222
from synapse.util.caches.stream_change_cache import StreamChangeCache
2323

@@ -26,7 +26,12 @@
2626

2727

2828
class SlavedGroupServerStore(GroupServerWorkerStore, BaseSlavedStore):
29-
def __init__(self, database: DatabasePool, db_conn, hs: "HomeServer"):
29+
def __init__(
30+
self,
31+
database: DatabasePool,
32+
db_conn: LoggingDatabaseConnection,
33+
hs: "HomeServer",
34+
):
3035
super().__init__(database, db_conn, hs)
3136

3237
self.hs = hs

synapse/storage/_base.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,8 @@
1717
from abc import ABCMeta
1818
from typing import TYPE_CHECKING, Any, Collection, Iterable, Optional, Union
1919

20-
from synapse.storage.database import LoggingTransaction # noqa: F401
21-
from synapse.storage.database import make_in_list_sql_clause # noqa: F401
22-
from synapse.storage.database import DatabasePool
23-
from synapse.storage.types import Connection
20+
from synapse.storage.database import make_in_list_sql_clause # noqa: F401; noqa: F401
21+
from synapse.storage.database import DatabasePool, LoggingDatabaseConnection
2422
from synapse.types import get_domain_from_id
2523
from synapse.util import json_decoder
2624

@@ -38,7 +36,12 @@ class SQLBaseStore(metaclass=ABCMeta):
3836
per data store (and not one per physical database).
3937
"""
4038

41-
def __init__(self, database: DatabasePool, db_conn: Connection, hs: "HomeServer"):
39+
def __init__(
40+
self,
41+
database: DatabasePool,
42+
db_conn: LoggingDatabaseConnection,
43+
hs: "HomeServer",
44+
):
4245
self.hs = hs
4346
self._clock = hs.get_clock()
4447
self.database_engine = database.engine

synapse/storage/database.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ def commit(self) -> None:
175175
def rollback(self) -> None:
176176
self.conn.rollback()
177177

178-
def __enter__(self) -> "Connection":
178+
def __enter__(self) -> "LoggingDatabaseConnection":
179179
self.conn.__enter__()
180180
return self
181181

synapse/storage/databases/main/__init__.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
from typing import TYPE_CHECKING, List, Optional, Tuple
1919

2020
from synapse.config.homeserver import HomeServerConfig
21-
from synapse.storage.database import DatabasePool
21+
from synapse.storage.database import DatabasePool, LoggingDatabaseConnection
2222
from synapse.storage.databases.main.stats import UserSortOrder
2323
from synapse.storage.engines import PostgresEngine
2424
from synapse.storage.util.id_generators import (
@@ -129,7 +129,12 @@ class DataStore(
129129
LockStore,
130130
SessionStore,
131131
):
132-
def __init__(self, database: DatabasePool, db_conn, hs: "HomeServer"):
132+
def __init__(
133+
self,
134+
database: DatabasePool,
135+
db_conn: LoggingDatabaseConnection,
136+
hs: "HomeServer",
137+
):
133138
self.hs = hs
134139
self._clock = hs.get_clock()
135140
self.database_engine = database.engine

0 commit comments

Comments
 (0)