Add trigger to clean up chart labels and charts (#18248)
Stelios Fragkakis committed
Aug 14, 2024 at 10:02 UTC
7660b73bf14f0b54b5b4c26c03571ab42eb6f71b
1 file changed
+11
src/database/sqlite/sqlite_metadata.c
+11
@@ -28,6 +28,17 @@ const char *database_config[] = {
28
"CREATE TABLE IF NOT EXISTS chart_label(chart_id blob, source_type int, label_key text, "
29
"label_value text, date_created int, PRIMARY KEY (chart_id, label_key))",
30
31
+ "CREATE TRIGGER IF NOT EXISTS del_chart_label AFTER DELETE ON chart "
32
+ "BEGIN DELETE FROM chart_label WHERE chart_id = old.chart_id; END",
33
+
34
+ "CREATE TRIGGER IF NOT EXISTS del_chart "
35
+ "AFTER DELETE ON dimension "
36
+ "FOR EACH ROW "
37
+ "BEGIN"
38
+ " DELETE FROM chart WHERE chart_id = OLD.chart_id "
39
+ " AND NOT EXISTS (SELECT 1 FROM dimension WHERE chart_id = OLD.chart_id);"
40
+ "END",
41
+
42
"CREATE TABLE IF NOT EXISTS node_instance (host_id blob PRIMARY KEY, claim_id, node_id, date_created)",
43
44
"CREATE TABLE IF NOT EXISTS alert_hash(hash_id blob PRIMARY KEY, date_updated int, alarm text, template text, "