From 399b2aa1a9771c26f0d3c36e8878e3d64478a310 Mon Sep 17 00:00:00 2001 From: Ori Hoch Date: Sun, 3 Dec 2023 19:23:38 +0200 Subject: [PATCH] optimize agg queries --- open_bus_stride_api/routers/gtfs_rides_agg.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/open_bus_stride_api/routers/gtfs_rides_agg.py b/open_bus_stride_api/routers/gtfs_rides_agg.py index abcee0e..fb38b8e 100644 --- a/open_bus_stride_api/routers/gtfs_rides_agg.py +++ b/open_bus_stride_api/routers/gtfs_rides_agg.py @@ -63,11 +63,15 @@ def list_(limit: int = common.param_limit(default_limit=DEFAULT_LIMIT), where agg.gtfs_route_id = rt.id and agg.gtfs_route_date >= :date_from - and agg.gtfs_route_date <= :date_to + and agg.gtfs_route_date <= :date_to + and rt.date >= :rt_date_from + and rt.date <= :rt_date_to """ sql_params = { 'date_from': date_from, 'date_to': date_to, + 'rt_date_from': date_from - datetime.timedelta(days=1), + 'rt_date_to': date_from + datetime.timedelta(days=1), } if exclude_hours_from: @@ -116,10 +120,14 @@ def group_by_(date_from: datetime.date = common.doc_param('date', filter_type='d agg.gtfs_route_id = rt.id and agg.gtfs_route_date >= :date_from and agg.gtfs_route_date <= :date_to + and rt.date >= :rt_date_from + and rt.date <= :rt_date_to """) sql_params = { 'date_from': date_from, 'date_to': date_to, + 'rt_date_from': date_from - datetime.timedelta(days=1), + 'rt_date_to': date_from + datetime.timedelta(days=1), } if exclude_hours_from: