Fix purge of legacy database events that are not state changed (#72815)

pull/72824/head
J. Nick Koston 2022-05-31 23:56:06 -10:00 committed by Franck Nijhof
parent 1139136365
commit 2f3359f376
No known key found for this signature in database
GPG Key ID: D62583BA8AB11CA3
2 changed files with 11 additions and 2 deletions

View File

@ -631,7 +631,7 @@ def find_legacy_event_state_and_attributes_and_data_ids_to_purge(
lambda: select(
Events.event_id, Events.data_id, States.state_id, States.attributes_id
)
.join(States, Events.event_id == States.event_id)
.outerjoin(States, Events.event_id == States.event_id)
.filter(Events.time_fired < purge_before)
.limit(MAX_ROWS_TO_PURGE)
)

View File

@ -26,7 +26,7 @@ from homeassistant.components.recorder.services import (
)
from homeassistant.components.recorder.tasks import PurgeTask
from homeassistant.components.recorder.util import session_scope
from homeassistant.const import EVENT_STATE_CHANGED, STATE_ON
from homeassistant.const import EVENT_STATE_CHANGED, EVENT_THEMES_UPDATED, STATE_ON
from homeassistant.core import HomeAssistant
from homeassistant.helpers.typing import ConfigType
from homeassistant.util import dt as dt_util
@ -925,6 +925,15 @@ async def test_purge_without_state_attributes_filtered_states_to_empty(
time_fired=timestamp,
)
)
session.add(
Events(
event_id=event_id + 1,
event_type=EVENT_THEMES_UPDATED,
event_data="{}",
origin="LOCAL",
time_fired=timestamp,
)
)
service_data = {"keep_days": 10}
_add_db_entries(hass)