|
1 | 1 | -- Delete orphaned alerts entries
|
2 |
| -DELETE FROM alerts WHERE NOT actionid IN (SELECT actionid FROM actions); |
3 |
| -DELETE FROM alerts WHERE NOT eventid IN (SELECT eventid FROM events); |
| 2 | +DELETE FROM alerts WHERE NOT EXISTS (SELECT 1 FROM actions WHERE alerts.actionid = actions.actionid); |
| 3 | +DELETE FROM alerts WHERE NOT EXISTS (SELECT 1 FROM events WHERE alerts.eventid = events.eventid); |
4 | 4 | DELETE FROM alerts WHERE NOT userid IN (SELECT userid FROM users);
|
5 | 5 | DELETE FROM alerts WHERE NOT mediatypeid IN (SELECT mediatypeid FROM media_type);
|
6 | 6 |
|
@@ -54,28 +54,31 @@ DELETE FROM rights WHERE NOT groupid IN (SELECT usrgrpid FROM usrgrp);
|
54 | 54 | DELETE FROM rights WHERE NOT id IN (SELECT groupid FROM groups);
|
55 | 55 | DELETE FROM sessions WHERE NOT userid IN (SELECT userid FROM users);
|
56 | 56 |
|
57 |
| --- Screens |
| 57 | +-- Delete orphaned screens |
58 | 58 | DELETE FROM screens_items WHERE screenid NOT IN (SELECT screenid FROM screens);
|
59 | 59 |
|
60 |
| --- Events & triggers |
| 60 | +-- Delete orphaned events & triggers |
61 | 61 | DELETE FROM trigger_depends WHERE triggerid_down NOT IN (SELECT triggerid FROM triggers);
|
62 | 62 | DELETE FROM trigger_depends WHERE triggerid_up NOT IN (SELECT triggerid FROM triggers);
|
63 | 63 |
|
64 |
| --- Delete records in the history/trends table where items that no longer exist |
65 |
| -DELETE FROM history WHERE itemid NOT IN (SELECT itemid FROM items); |
66 |
| -DELETE FROM history_uint WHERE itemid NOT IN (SELECT itemid FROM items); |
67 |
| -DELETE FROM history_log WHERE itemid NOT IN (SELECT itemid FROM items); |
68 |
| -DELETE FROM history_str WHERE itemid NOT IN (SELECT itemid FROM items); |
69 |
| -DELETE FROM history_text WHERE itemid NOT IN (SELECT itemid FROM items); |
| 64 | +-- Delete records in the history/trends table for items that no longer exist |
| 65 | +DELETE FROM history WHERE NOT EXISTS (SELECT 1 FROM items WHERE history.itemid = items.itemid); |
| 66 | +DELETE FROM history_uint WHERE NOT EXISTS (SELECT 1 FROM items WHERE history_uint.itemid = items.itemid); |
| 67 | +DELETE FROM history_log WHERE NOT EXISTS (SELECT 1 FROM items WHERE history_log.itemid = items.itemid); |
| 68 | +DELETE FROM history_str WHERE NOT EXISTS (SELECT 1 FROM items WHERE history_str.itemid = items.itemid); |
| 69 | +DELETE FROM history_text WHERE NOT EXISTS (SELECT 1 FROM items WHERE history_text.itemid = items.itemid); |
70 | 70 |
|
71 |
| -DELETE FROM trends WHERE itemid NOT IN (SELECT itemid FROM items); |
72 |
| -DELETE FROM trends_uint WHERE itemid NOT IN (SELECT itemid FROM items); |
| 71 | +DELETE FROM trends WHERE NOT EXISTS (SELECT 1 FROM items WHERE trends.itemid = items.itemid); |
| 72 | +DELETE FROM trends_uint WHERE NOT EXISTS (SELECT 1 FROM items WHERE trends_uint.itemid = items.itemid); |
73 | 73 |
|
74 |
| --- Delete records in the events table where triggers/items no longer exist |
| 74 | +-- Delete records in the events table for triggers/items that no longer exist |
75 | 75 | DELETE FROM events WHERE source = 0 AND object = 0 AND objectid NOT IN (SELECT triggerid FROM triggers);
|
76 | 76 | DELETE FROM events WHERE source = 3 AND object = 0 AND objectid NOT IN (SELECT triggerid FROM triggers);
|
77 | 77 | DELETE FROM events WHERE source = 3 AND object = 4 AND objectid NOT IN (SELECT itemid FROM items);
|
78 | 78 |
|
79 | 79 | -- Delete all orphaned acknowledge entries
|
80 |
| -DELETE FROM acknowledges WHERE eventid NOT IN (SELECT eventid FROM events); |
81 |
| -DELETE FROM acknowledges WHERE userid NOT IN (SELECT userid FROM users); |
| 80 | +DELETE FROM acknowledges WHERE NOT eventid IN (SELECT eventid FROM events); |
| 81 | +DELETE FROM acknowledges WHERE NOT userid IN (SELECT userid FROM users); |
| 82 | +DELETE FROM acknowledges WHERE eventid IN (SELECT eventid FROM events WHERE (source = 0 OR source=3) AND object = 0 AND objectid NOT IN (SELECT triggerid FROM triggers)); |
| 83 | +DELETE FROM acknowledges WHERE eventid IN (SELECT eventid FROM events WHERE source=3 AND object = 4 AND objectid NOT IN (SELECT itemid FROM items)); |
| 84 | + |
0 commit comments