From c2ab0c0f636d2949d2bdef532d4fbeb84657c8b0 Mon Sep 17 00:00:00 2001 From: Taha Yassine Kraiem Date: Tue, 8 Nov 2022 17:27:28 +0100 Subject: [PATCH] feat(chalice): refactored funnel query --- api/chalicelib/core/significance.py | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/api/chalicelib/core/significance.py b/api/chalicelib/core/significance.py index fa20fe177..2276694a7 100644 --- a/api/chalicelib/core/significance.py +++ b/api/chalicelib/core/significance.py @@ -199,14 +199,12 @@ def get_stages_and_events(filter_d, project_id) -> List[RealDictRow]: n_stages_query += ") AS stages_t" n_stages_query = f""" - SELECT stages_and_issues_t.*,sessions.session_id, sessions.user_uuid FROM ( + SELECT stages_and_issues_t.*, sessions.user_uuid FROM ( SELECT * FROM ( SELECT * FROM {n_stages_query} LEFT JOIN LATERAL - ( - SELECT * FROM - (SELECT ISE.session_id, + ( SELECT ISE.session_id, ISS.type as issue_type, ISE.timestamp AS issue_timestamp, ISS.context_string as issue_context, @@ -215,10 +213,9 @@ def get_stages_and_events(filter_d, project_id) -> List[RealDictRow]: WHERE ISE.timestamp >= stages_t.stage1_timestamp AND ISE.timestamp <= stages_t.stage{i + 1}_timestamp AND ISS.project_id=%(project_id)s - {"AND ISS.type IN %(issueTypes)s" if len(filter_issues) > 0 else ""}) AS base_t - ) AS issues_t - USING (session_id)) AS stages_and_issues_t - inner join sessions USING(session_id); + {"AND ISS.type IN %(issueTypes)s" if len(filter_issues) > 0 else ""} + ) AS issues_t USING (session_id) + ) AS stages_and_issues_t INNER JOIN sessions USING(session_id); """ # LIMIT 10000