| Aggregate (cost=1228.73..1228.74 rows=1 width=8) |
| -> Sort (cost=1228.24..1228.32 rows=33 width=65) |
| Sort Key: w.start_at |
| -> Subquery Scan on w (cost=5.07..1227.41 rows=33 width=65) |
| -> Append (cost=5.07..1227.08 rows=33 width=65) |
| -> Nested Loop Left Join (cost=5.07..331.11 rows=1 width=307) |
| Join Filter: (wlso.id = w_1.scenario_option_id) |
| -> Bitmap Heap Scan on tbl_work_logs w_1 (cost=5.07..329.24 rows=1 width=32) |
| Recheck Cond: (created_by = 5085) |
| Filter: ((start_at IS NOT NULL) AND (end_at IS NOT NULL) AND (NOT is_draft) AND (((start_at >= '2026-06-10 00:00:00+08'::timestamp with time zone) AND (end_at < '2026-06-10 23:59:59+08'::timestamp with time zone)) OR ((start_at <= '2026-06-10 00:00:00+08'::timestamp with time zone) AND (end_at > '2026-06-10 00:00:00+08'::timestamp with time zone)) OR ((start_at <= '2026-06-10 23:59:59+08'::timestamp with time zone) AND (end_at > '2026-06-10 23:59:59+08'::timestamp with time zone)))) |
| -> Bitmap Index Scan on tbl_work_logs_created_by_idx (cost=0.00..5.07 rows=104 width=0) |
| Index Cond: (created_by = 5085) |
| -> Seq Scan on tbl_work_log_scenario_options wlso (cost=0.00..1.39 rows=39 width=278) |
| -> Result (cost=4.54..895.95 rows=32 width=65) |
| -> Append (cost=4.54..895.63 rows=32 width=65) |
| -> Bitmap Heap Scan on tbl_schedules (cost=4.54..112.01 rows=10 width=109) |
| Recheck Cond: (created_by = 5085) |
| 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 >= '2026-06-10 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 < '2026-06-10 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 <= '2026-06-10 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 > '2026-06-10 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 <= '2026-06-10 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 > '2026-06-10 23:59:59+08'::timestamp with time zone)))) |
| -> Bitmap Index Scan on tbl_schedules_created_by_idx (cost=0.00..4.54 rows=34 width=0) |
| Index Cond: (created_by = 5085) |
| -> Subquery Scan on "*SELECT* 3" (cost=0.00..783.52 rows=22 width=65) |
| -> Seq Scan on tbl_calendars c (cost=0.00..783.30 rows=22 width=78) |
| Filter: ((start_at IS NOT NULL) AND (end_at IS NOT NULL) AND (created_by = 5085) AND (((start_at >= '2026-06-10 00:00:00+08'::timestamp with time zone) AND (end_at < '2026-06-10 23:59:59+08'::timestamp with time zone)) OR ((start_at <= '2026-06-10 00:00:00+08'::timestamp with time zone) AND (end_at > '2026-06-10 00:00:00+08'::timestamp with time zone)) OR ((start_at <= '2026-06-10 23:59:59+08'::timestamp with time zone) AND (end_at > '2026-06-10 23:59:59+08'::timestamp with time zone)))) |