@@ -48,7 +48,6 @@ CREATE TABLE `PilotAgents` (
48
48
KEY ` Statuskey` (` GridSite` ,` DestinationSite` ,` Status` )
49
49
) ENGINE= InnoDB DEFAULT CHARSET= utf8mb4;
50
50
51
-
52
51
DROP TABLE IF EXISTS ` JobToPilotMapping` ;
53
52
CREATE TABLE `JobToPilotMapping ` (
54
53
` PilotID` INT (11 ) UNSIGNED NOT NULL ,
@@ -65,3 +64,89 @@ CREATE TABLE `PilotOutput` (
65
64
` StdError` MEDIUMTEXT,
66
65
PRIMARY KEY (` PilotID` )
67
66
) ENGINE= InnoDB DEFAULT CHARSET= utf8mb4;
67
+
68
+
69
+ -- ------------------------------------------------------------------------------
70
+ -- summary tables and triggers
71
+ -- ------------------------------------------------------------------------------
72
+
73
+ -- distict values for GridType, GridSite, DestinationSite, Status and VO
74
+
75
+ DROP TABLE IF EXISTS Summary_GridType;
76
+ CREATE TABLE Summary_GridSite (
77
+ GridSite VARCHAR (128 ) PRIMARY KEY
78
+ );
79
+ DROP TABLE IF EXISTS Summary_DestinationSite;
80
+ CREATE TABLE Summary_DestinationSite (
81
+ DestinationSite VARCHAR (128 ) PRIMARY KEY
82
+ );
83
+ DROP TABLE IF EXISTS Summary_Status;
84
+ CREATE TABLE Summary_Status (
85
+ Status VARCHAR (128 ) PRIMARY KEY
86
+ );
87
+ DROP TABLE IF EXISTS Summary_VO;
88
+ CREATE TABLE Summary_VO (
89
+ VO VARCHAR (128 ) PRIMARY KEY
90
+ );
91
+
92
+ DELIMITER //
93
+
94
+ CREATE TRIGGER trg_pa_insert
95
+ AFTER INSERT ON PilotAgents
96
+ FOR EACH ROW
97
+ BEGIN
98
+ INSERT IGNORE INTO Summary_GridSite (GridSite)
99
+ VALUES (NEW .GridSite );
100
+
101
+ INSERT IGNORE INTO Summary_DestinationSite (DestinationSite)
102
+ VALUES (NEW .DestinationSite );
103
+
104
+ INSERT IGNORE INTO Summary_Status (Status)
105
+ VALUES (NEW .Status );
106
+
107
+ INSERT IGNORE INTO Summary_VO (VO)
108
+ VALUES (NEW .VO );
109
+ END;
110
+ //
111
+
112
+ DELIMITER ;
113
+
114
+ DELIMITER //
115
+
116
+ CREATE TRIGGER trg_pa_delete
117
+ AFTER DELETE ON PilotAgents
118
+ FOR EACH ROW
119
+ BEGIN
120
+ IF NOT EXISTS (
121
+ SELECT 1 FROM PilotAgents WHERE GridType = OLD .GridType
122
+ ) THEN
123
+ DELETE FROM Summary_GridType WHERE GridType = OLD .GridType ;
124
+ END IF;
125
+
126
+ IF NOT EXISTS (
127
+ SELECT 1 FROM PilotAgents WHERE GridSite = OLD .GridSite
128
+ ) THEN
129
+ DELETE FROM Summary_GridSite WHERE GridSite = OLD .GridSite ;
130
+ END IF;
131
+
132
+ IF NOT EXISTS (
133
+ SELECT 1 FROM PilotAgents WHERE DestinationSite = OLD .DestinationSite
134
+ ) THEN
135
+ DELETE FROM Summary_DestinationSite WHERE DestinationSite = OLD .DestinationSite ;
136
+ END IF;
137
+
138
+ IF NOT EXISTS (
139
+ SELECT 1 FROM PilotAgents WHERE Status = OLD .Status
140
+ ) THEN
141
+ DELETE FROM Summary_Status WHERE Status = OLD .Status ;
142
+ END IF;
143
+
144
+ IF NOT EXISTS (
145
+ SELECT 1 FROM PilotAgents WHERE VO = OLD .VO
146
+ ) THEN
147
+ DELETE FROM Summary_VO WHERE VO = OLD .VO ;
148
+ END IF;
149
+ END;
150
+ //
151
+
152
+ DELIMITER ;
0 commit comments