Improve comments in StateGroupBackgroundUpdateStore. (#16383)

This commit is contained in:
Patrick Cloke 2023-09-25 14:50:47 -04:00 committed by GitHub
parent 9fd18e9b06
commit 2763c49eca
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 2 deletions

1
changelog.d/16383.misc Normal file
View File

@ -0,0 +1 @@
Improve comments in `StateGroupBackgroundUpdateStore`.

View File

@ -94,6 +94,18 @@ class StateGroupBackgroundUpdateStore(SQLBaseStore):
groups: List[int], groups: List[int],
state_filter: Optional[StateFilter] = None, state_filter: Optional[StateFilter] = None,
) -> Mapping[int, StateMap[str]]: ) -> Mapping[int, StateMap[str]]:
"""
Given a number of state groups, fetch the latest state for each group.
Args:
txn: The transaction object.
groups: The given state groups that you want to fetch the latest state for.
state_filter: The state filter to apply the state we fetch state from the database.
Returns:
Map from state_group to a StateMap at that point.
"""
state_filter = state_filter or StateFilter.all() state_filter = state_filter or StateFilter.all()
results: Dict[int, MutableStateMap[str]] = {group: {} for group in groups} results: Dict[int, MutableStateMap[str]] = {group: {} for group in groups}
@ -206,8 +218,10 @@ class StateGroupBackgroundUpdateStore(SQLBaseStore):
if where_clause: if where_clause:
where_clause = " AND (%s)" % (where_clause,) where_clause = " AND (%s)" % (where_clause,)
# We don't use WITH RECURSIVE on sqlite3 as there are distributions # XXX: We could `WITH RECURSIVE` here since it's supported on SQLite 3.8.3
# that ship with an sqlite3 version that doesn't support it (e.g. wheezy) # or higher and our minimum supported version is greater than that.
#
# We just haven't put in the time to refactor this.
for group in groups: for group in groups:
next_group: Optional[int] = group next_group: Optional[int] = group