mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-06-25 05:41:53 +03:00
Remove 2x unnecessary index on reviewsegment, remove reference to prior code implementation in comment in event.py
This commit is contained in:
parent
7b55c4b758
commit
9fa345f192
@ -411,22 +411,20 @@ def events_explore(
|
|||||||
)
|
)
|
||||||
|
|
||||||
# Single query: per-label COUNT and top-N ranking by start_time computed
|
# Single query: per-label COUNT and top-N ranking by start_time computed
|
||||||
# via window functions in a CTE, then filtered to rn <= limit. Replaces
|
# via window functions in a CTE, then filtered to rn <= limit
|
||||||
# the previous loop that issued 2 queries per distinct label.
|
event_count = fn.COUNT(Event.id).over(partition_by=[Event.label]).alias("event_count")
|
||||||
event_count = (
|
rn = fn.ROW_NUMBER().over(
|
||||||
fn.COUNT(Event.id).over(partition_by=[Event.label]).alias("event_count")
|
partition_by=[Event.label], order_by=[Event.start_time.desc()]
|
||||||
)
|
).alias("rn")
|
||||||
rn = (
|
|
||||||
fn.ROW_NUMBER()
|
|
||||||
.over(partition_by=[Event.label], order_by=[Event.start_time.desc()])
|
|
||||||
.alias("rn")
|
|
||||||
)
|
|
||||||
|
|
||||||
base_query = Event.select(
|
base_query = (
|
||||||
*explore_columns,
|
Event.select(
|
||||||
event_count,
|
*explore_columns,
|
||||||
rn,
|
event_count,
|
||||||
).where(Event.camera << allowed_cameras)
|
rn,
|
||||||
|
)
|
||||||
|
.where(Event.camera << allowed_cameras)
|
||||||
|
)
|
||||||
ranked = base_query.cte("ranked")
|
ranked = base_query.cte("ranked")
|
||||||
query = (
|
query = (
|
||||||
Event.select(
|
Event.select(
|
||||||
@ -484,7 +482,9 @@ def events_explore(
|
|||||||
"false_positive": event.false_positive,
|
"false_positive": event.false_positive,
|
||||||
"box": event.box,
|
"box": event.box,
|
||||||
"data": {
|
"data": {
|
||||||
k: v for k, v in (event.data or {}).items() if k in allowed_data_keys
|
k: v
|
||||||
|
for k, v in (event.data or {}).items()
|
||||||
|
if k in allowed_data_keys
|
||||||
},
|
},
|
||||||
"event_count": event.event_count,
|
"event_count": event.event_count,
|
||||||
}
|
}
|
||||||
|
|||||||
@ -21,17 +21,7 @@ def migrate(migrator, database, fake=False, **kwargs):
|
|||||||
'CREATE INDEX IF NOT EXISTS "event_camera_start_time" '
|
'CREATE INDEX IF NOT EXISTS "event_camera_start_time" '
|
||||||
'ON "event" ("camera", "start_time" DESC)'
|
'ON "event" ("camera", "start_time" DESC)'
|
||||||
)
|
)
|
||||||
migrator.sql(
|
|
||||||
'CREATE INDEX IF NOT EXISTS "reviewsegment_camera_start_time" '
|
|
||||||
'ON "reviewsegment" ("camera", "start_time" DESC)'
|
|
||||||
)
|
|
||||||
migrator.sql(
|
|
||||||
'CREATE INDEX IF NOT EXISTS "reviewsegment_end_time" '
|
|
||||||
'ON "reviewsegment" ("end_time")'
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def rollback(migrator, database, fake=False, **kwargs):
|
def rollback(migrator, database, fake=False, **kwargs):
|
||||||
migrator.sql('DROP INDEX IF EXISTS "event_camera_start_time"')
|
migrator.sql('DROP INDEX IF EXISTS "event_camera_start_time"')
|
||||||
migrator.sql('DROP INDEX IF EXISTS "reviewsegment_camera_start_time"')
|
|
||||||
migrator.sql('DROP INDEX IF EXISTS "reviewsegment_end_time"')
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user