Trying very hard not to miss calendar events
1-- Query Evolution Data Server calendar cache for events
2-- Hardcoded date range: 2025-12-25 to 2026-03-31 (extended to catch recurring events)
3-- This query works against ~/.cache/evolution/calendar/{hash}/cache.db
4
5SELECT
6 ECacheUID,
7 summary,
8 -- Use occur_start if available (for recurring events),
9 -- otherwise parse DTSTART from the iCalendar object
10 CASE
11 WHEN occur_start != '' THEN occur_start
12 ELSE substr(
13 substr(ECacheOBJ, instr(ECacheOBJ, 'DTSTART')),
14 instr(substr(ECacheOBJ, instr(ECacheOBJ, 'DTSTART')), ':') + 1,
15 15
16 )
17 END as event_start,
18 -- Extract location from iCalendar object if present
19 CASE
20 WHEN instr(ECacheOBJ, 'LOCATION:') > 0 THEN
21 rtrim(substr(
22 substr(ECacheOBJ, instr(ECacheOBJ, 'LOCATION:')),
23 10,
24 instr(substr(ECacheOBJ, instr(ECacheOBJ, 'LOCATION:')), char(10)) - 10
25 ))
26 ELSE ''
27 END as location
28FROM ECacheObjects
29WHERE substr(event_start, 1, 8) BETWEEN '20251225' AND '20260115'
30 AND event_start != ''
31ORDER BY event_start;