Aggregate (cost=3090.93..3090.94 rows=1 width=8) |
-> Sort (cost=3090.64..3090.69 rows=19 width=65) |
Sort Key: w.start_at |
-> Nested Loop (cost=84.94..3090.24 rows=19 width=65) |
-> Seq Scan on tbl_users u (cost=0.00..8.12 rows=1 width=4) |
Filter: ((id = 5295) AND (department_id = 1)) |
-> Append (cost=84.94..3081.74 rows=19 width=65) |
-> Nested Loop Left Join (cost=84.94..1579.82 rows=1 width=307) |
Join Filter: (wlso.id = w.scenario_option_id) |
-> Bitmap Heap Scan on tbl_work_logs w (cost=84.94..1577.94 rows=1 width=32) |
Recheck Cond: (created_by = 5295) |
Filter: ((NOT is_draft) AND (((start_at >= '2025-08-21 00:00:00+08'::timestamp with time zone) AND (end_at < '2025-08-21 23:59:59+08'::timestamp with time zone)) OR ((start_at <= '2025-08-21 00:00:00+08'::timestamp with time zone) AND (end_at > '2025-08-21 00:00:00+08'::timestamp with time zone)) OR ((start_at <= '2025-08-21 23:59:59+08'::timestamp with time zone) AND (end_at > '2025-08-21 23:59:59+08'::timestamp with time zone))) AND (((start_at >= '2025-08-21 00:00:00+08'::timestamp with time zone) AND (end_at < '2025-08-21 23:59:59+08'::timestamp with time zone)) OR ((start_at <= '2025-08-21 00:00:00+08'::timestamp with time zone) AND (end_at > '2025-08-21 00:00:00+08'::timestamp with time zone)) OR ((start_at <= '2025-08-21 23:59:59+08'::timestamp with time zone) AND (end_at > '2025-08-21 23:59:59+08'::timestamp with time zone)))) |
-> Bitmap Index Scan on tbl_work_logs_created_by_idx (cost=0.00..84.94 rows=4353 width=0) |
Index Cond: (created_by = 5295) |
-> Seq Scan on tbl_work_log_scenario_options wlso (cost=0.00..1.39 rows=39 width=278) |
-> Result (cost=396.15..1501.92 rows=18 width=65) |
-> Append (cost=396.15..1501.74 rows=18 width=65) |
-> Hash Right Join (cost=396.15..409.26 rows=17 width=109) |
Hash Cond: (ccr.schedule_id = tbl_schedules.id) |
Filter: (((tbl_schedules.is_public = 1) AND (tbl_schedules.created_by <> 5295)) OR (tbl_schedules.created_by = 5295) OR (ccr.user_id = 5295)) |
-> Seq Scan on tbl_schedule_carbon_copy_rels ccr (cost=0.00..10.91 rows=691 width=8) |
-> Hash (cost=395.93..395.93 rows=18 width=141) |
-> Bitmap Heap Scan on tbl_schedules (cost=14.93..395.93 rows=18 width=141) |
Recheck Cond: ((created_by = ANY ('{5300,5295,5295}'::integer[])) AND (created_by = 5295)) |
Filter: (((start_at IS NOT NULL) OR (end_at IS NOT NULL)) AND (((CASE WHEN (start_at IS NULL) THEN CASE WHEN (end_at < now()) THEN CASE WHEN is_complete THEN created_at ELSE end_at END ELSE CASE WHEN is_complete THEN created_at ELSE now() END END ELSE start_at END >= '2025-08-21 00:00:00+08'::timestamp with time zone) AND (CASE WHEN (end_at IS NULL) THEN CASE WHEN (start_at > now()) THEN start_at ELSE CASE WHEN is_complete THEN complete_at ELSE now() END END ELSE CASE WHEN ((start_at IS NULL) AND (end_at < now())) THEN CASE WHEN is_complete THEN complete_at ELSE now() END ELSE end_at END END < '2025-08-21 23:59:59+08'::timestamp with time zone)) OR ((CASE WHEN (start_at IS NULL) THEN CASE WHEN (end_at < now()) THEN CASE WHEN is_complete THEN created_at ELSE end_at END ELSE CASE WHEN is_complete THEN created_at ELSE now() END END ELSE start_at END <= '2025-08-21 00:00:00+08'::timestamp with time zone) AND (CASE WHEN (end_at IS NULL) THEN CASE WHEN (start_at > now()) THEN start_at ELSE CASE WHEN is_complete THEN complete_at ELSE now() END END ELSE CASE WHEN ((start_at IS NULL) AND (end_at < now())) THEN CASE WHEN is_complete THEN complete_at ELSE now() END ELSE end_at END END > '2025-08-21 00:00:00+08'::timestamp with time zone)) OR ((CASE WHEN (start_at IS NULL) THEN CASE WHEN (end_at < now()) THEN CASE WHEN is_complete THEN created_at ELSE end_at END ELSE CASE WHEN is_complete THEN created_at ELSE now() END END ELSE start_at END <= '2025-08-21 23:59:59+08'::timestamp with time zone) AND (CASE WHEN (end_at IS NULL) THEN CASE WHEN (start_at > now()) THEN start_at ELSE CASE WHEN is_complete THEN complete_at ELSE now() END END ELSE CASE WHEN ((start_at IS NULL) AND (end_at < now())) THEN CASE WHEN is_complete THEN complete_at ELSE now() END ELSE end_at END END > '2025-08-21 23:59:59+08'::timestamp with time zone))) AND (((CASE WHEN (start_at IS NULL) THEN CASE WHEN (end_at < now()) THEN CASE WHEN is_complete THEN created_at ELSE end_at END ELSE CASE WHEN is_complete THEN created_at ELSE now() END END ELSE start_at END >= '2025-08-21 00:00:00+08'::timestamp with time zone) AND (CASE WHEN (end_at IS NULL) THEN CASE WHEN (start_at > now()) THEN start_at ELSE CASE WHEN is_complete THEN complete_at ELSE now() END END ELSE CASE WHEN ((start_at IS NULL) AND (end_at < now())) THEN CASE WHEN is_complete THEN complete_at ELSE now() END ELSE end_at END END < '2025-08-21 23:59:59+08'::timestamp with time zone)) OR ((CASE WHEN (start_at IS NULL) THEN CASE WHEN (end_at < now()) THEN CASE WHEN is_complete THEN created_at ELSE end_at END ELSE CASE WHEN is_complete THEN created_at ELSE now() END END ELSE start_at END <= '2025-08-21 00:00:00+08'::timestamp with time zone) AND (CASE WHEN (end_at IS NULL) THEN CASE WHEN (start_at > now()) THEN start_at ELSE CASE WHEN is_complete THEN complete_at ELSE now() END END ELSE CASE WHEN ((start_at IS NULL) AND (end_at < now())) THEN CASE WHEN is_complete THEN complete_at ELSE now() END ELSE end_at END END > '2025-08-21 00:00:00+08'::timestamp with time zone)) OR ((CASE WHEN (start_at IS NULL) THEN CASE WHEN (end_at < now()) THEN CASE WHEN is_complete THEN created_at ELSE end_at END ELSE CASE WHEN is_complete THEN created_at ELSE now() END END ELSE start_at END <= '2025-08-21 23:59:59+08'::timestamp with time zone) AND (CASE WHEN (end_at IS NULL) THEN CASE WHEN (start_at > now()) THEN start_at ELSE CASE WHEN is_complete THEN complete_at ELSE now() END END ELSE CASE WHEN ((start_at IS NULL) AND (end_at < now())) THEN CASE WHEN is_complete THEN complete_at ELSE now() END ELSE end_at END END > '2025-08-21 23:59:59+08'::timestamp with time zone)))) |
-> Bitmap Index Scan on tbl_schedules_created_by_idx (cost=0.00..14.93 rows=206 width=0) |
Index Cond: ((created_by = ANY ('{5300,5295,5295}'::integer[])) AND (created_by = 5295)) |
-> Subquery Scan on "*SELECT* 3" (cost=0.00..1092.31 rows=1 width=65) |
-> Seq Scan on tbl_calendars c (cost=0.00..1092.30 rows=1 width=78) |
Filter: ((created_by = 5295) AND (((is_public = 1) AND (created_by <> 5295)) OR (created_by = 5295)) AND (((start_at >= '2025-08-21 00:00:00+08'::timestamp with time zone) AND (end_at < '2025-08-21 23:59:59+08'::timestamp with time zone)) OR ((start_at <= '2025-08-21 00:00:00+08'::timestamp with time zone) AND (end_at > '2025-08-21 00:00:00+08'::timestamp with time zone)) OR ((start_at <= '2025-08-21 23:59:59+08'::timestamp with time zone) AND (end_at > '2025-08-21 23:59:59+08'::timestamp with time zone))) AND (((start_at >= '2025-08-21 00:00:00+08'::timestamp with time zone) AND (end_at < '2025-08-21 23:59:59+08'::timestamp with time zone)) OR ((start_at <= '2025-08-21 00:00:00+08'::timestamp with time zone) AND (end_at > '2025-08-21 00:00:00+08'::timestamp with time zone)) OR ((start_at <= '2025-08-21 23:59:59+08'::timestamp with time zone) AND (end_at > '2025-08-21 23:59:59+08'::timestamp with time zone)))) |