mirror of
https://github.com/home-assistant/core.git
synced 2025-07-22 20:57:21 +00:00
Fix sqlalchemy warning about logbook query being converted from subquery (#71710)
This commit is contained in:
parent
08851d8366
commit
19168227eb
@ -6,7 +6,7 @@ from datetime import datetime as dt
|
|||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
import sqlalchemy
|
import sqlalchemy
|
||||||
from sqlalchemy import lambda_stmt, select
|
from sqlalchemy import lambda_stmt, select, union_all
|
||||||
from sqlalchemy.orm import aliased
|
from sqlalchemy.orm import aliased
|
||||||
from sqlalchemy.sql.expression import literal
|
from sqlalchemy.sql.expression import literal
|
||||||
from sqlalchemy.sql.lambdas import StatementLambdaElement
|
from sqlalchemy.sql.lambdas import StatementLambdaElement
|
||||||
@ -118,15 +118,15 @@ def _select_entities_context_ids_sub_query(
|
|||||||
entity_ids: list[str],
|
entity_ids: list[str],
|
||||||
) -> Select:
|
) -> Select:
|
||||||
"""Generate a subquery to find context ids for multiple entities."""
|
"""Generate a subquery to find context ids for multiple entities."""
|
||||||
return (
|
return select(
|
||||||
_select_events_context_id_subquery(start_day, end_day, event_types)
|
union_all(
|
||||||
.where(_apply_event_entity_id_matchers(entity_ids))
|
_select_events_context_id_subquery(start_day, end_day, event_types).where(
|
||||||
.union_all(
|
_apply_event_entity_id_matchers(entity_ids)
|
||||||
|
),
|
||||||
select(States.context_id)
|
select(States.context_id)
|
||||||
.filter((States.last_updated > start_day) & (States.last_updated < end_day))
|
.filter((States.last_updated > start_day) & (States.last_updated < end_day))
|
||||||
.where(States.entity_id.in_(entity_ids))
|
.where(States.entity_id.in_(entity_ids)),
|
||||||
)
|
).c.context_id
|
||||||
.subquery()
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@ -183,18 +183,16 @@ def _select_entity_context_ids_sub_query(
|
|||||||
entity_id_like: str,
|
entity_id_like: str,
|
||||||
) -> Select:
|
) -> Select:
|
||||||
"""Generate a subquery to find context ids for a single entity."""
|
"""Generate a subquery to find context ids for a single entity."""
|
||||||
return (
|
return select(
|
||||||
_select_events_context_id_subquery(start_day, end_day, event_types)
|
union_all(
|
||||||
.where(
|
_select_events_context_id_subquery(start_day, end_day, event_types).where(
|
||||||
Events.event_data.like(entity_id_like)
|
Events.event_data.like(entity_id_like)
|
||||||
| EventData.shared_data.like(entity_id_like)
|
| EventData.shared_data.like(entity_id_like)
|
||||||
)
|
),
|
||||||
.union_all(
|
|
||||||
select(States.context_id)
|
select(States.context_id)
|
||||||
.filter((States.last_updated > start_day) & (States.last_updated < end_day))
|
.filter((States.last_updated > start_day) & (States.last_updated < end_day))
|
||||||
.where(States.entity_id == entity_id)
|
.where(States.entity_id == entity_id),
|
||||||
)
|
).c.context_id
|
||||||
.subquery()
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user