| | 70 | ------------------- |
| | 71 | -- Scan Triggers |
| | 72 | ------------------- |
| | 73 | |
| | 74 | -- Triggers for preventing bad insertion on scan |
| | 75 | CREATE TRIGGER scan_insert_bad_scanner |
| | 76 | BEFORE INSERT ON scan |
| | 77 | FOR EACH ROW BEGIN |
| | 78 | SELECT CASE |
| | 79 | WHEN ((SELECT pk FROM scanner WHERE pk = NEW.fk_scanner) IS NULL) |
| | 80 | THEN RAISE (ABORT, "BAD INSERT on table 'scan', invalid fk_scanner especified") |
| | 81 | END; |
| | 82 | END; |
| | 83 | |
| | 84 | CREATE TRIGGER scan_insert_bad_scan_type |
| | 85 | BEFORE INSERT ON scan |
| | 86 | FOR EACH ROW BEGIN |
| | 87 | SELECT CASE |
| | 88 | WHEN ((SELECT pk FROM scan_type WHERE pk = NEW.fk_type) IS NULL) |
| | 89 | THEN RAISE (ABORT, "Bad INSERT on table 'scan', invalid fk_type especified") |
| | 90 | END; |
| | 91 | END; |
| | 92 | |
| | 93 | CREATE TRIGGER scan_insert_bad_protocol |
| | 94 | BEFORE INSERT ON scan |
| | 95 | FOR EACH ROW BEGIN |
| | 96 | SELECT CASE |
| | 97 | WHEN ((SELECT pk FROM protocol WHERE pk = NEW.fk_protocol) IS NULL) |
| | 98 | THEN RAISE (ABORT, "Bad INSERT on table 'scan', invalid fk_protocol especified") |
| | 99 | END; |
| | 100 | END; |
| | 101 | |
| | 102 | -- Triggers for preventing bad insertion on _scan_host |
| | 103 | CREATE TRIGGER _scan_host_insert_bad_scan |
| | 104 | BEFORE INSERT ON _scan_host |
| | 105 | FOR EACH ROW BEGIN |
| | 106 | SELECT CASE |
| | 107 | WHEN ((SELECT pk FROM scan WHERE pk = NEW.fk_scan) IS NULL) |
| | 108 | THEN RAISE (ABORT, "Bad INSERT on table '_scan_host', invalid fk_scan especified") |
| | 109 | END; |
| | 110 | END; |
| | 111 | |
| | 112 | CREATE TRIGGER _scan_host_insert_bad_host |
| | 113 | BEFORE INSERT ON _scan_host |
| | 114 | FOR EACH ROW BEGIN |
| | 115 | SELECT CASE |
| | 116 | WHEN ((SELECT pk FROM host WHERE pk = NEW.fk_host) IS NULL) |
| | 117 | THEN RAISE (ABORT, "Bad INSERT on table '_scan_host', invalid fk_host specified") |
| | 118 | END; |
| | 119 | END; |
| | 120 | |
| | 121 | |
| | 177 | |
| | 178 | ------------------- |
| | 179 | -- Host Triggers |
| | 180 | ------------------- |
| | 181 | |
| | 182 | -- Trigger for preventing bad insertion on host |
| | 183 | CREATE TRIGGER host_insert_bad_host_state |
| | 184 | BEFORE INSERT ON host |
| | 185 | FOR EACH ROW BEGIN |
| | 186 | SELECT CASE |
| | 187 | WHEN ((SELECT pk FROM host_state WHERE pk = NEW.fk_host_state) IS NULL) |
| | 188 | THEN RAISE (ABORT, "Bad INSERT on table 'host', invalid fk_host_state especified") |
| | 189 | END; |
| | 190 | END; |
| | 191 | |
| | 192 | -- Trigger for preventing bad insertion on address |
| | 193 | CREATE TRIGGER address_insert_bad_vendor |
| | 194 | BEFORE INSERT ON address |
| | 195 | FOR EACH ROW BEGIN |
| | 196 | SELECT CASE |
| | 197 | WHEN ((SELECT pk FROM vendor WHERE pk = NEW.fk_vendor) IS NULL) |
| | 198 | THEN RAISE (ABORT, "Bad INSERT on table 'address', invalid fk_vendor especified") |
| | 199 | END; |
| | 200 | END; |
| | 201 | |
| | 202 | -- Triggers for preventing bad insertion on _host_hostname |
| | 203 | CREATE TRIGGER _host_hostname_insert_bad_host |
| | 204 | BEFORE INSERT ON _host_hostname |
| | 205 | FOR EACH ROW BEGIN |
| | 206 | SELECT CASE |
| | 207 | WHEN ((SELECT pk FROM host WHERE pk = NEW.fk_host) IS NULL) |
| | 208 | THEN RAISE (ABORT, "Bad INSERT on table '_host_hostname', invalid fk_host especified") |
| | 209 | END; |
| | 210 | END; |
| | 211 | |
| | 212 | CREATE TRIGGER _host_hostname_insert_bad_hostname |
| | 213 | BEFORE INSERT ON _host_hostname |
| | 214 | FOR EACH ROW BEGIN |
| | 215 | SELECT CASE |
| | 216 | WHEN ((SELECT pk FROM hostname WHERE pk = NEW.fk_hostname) IS NULL) |
| | 217 | THEN RAISE (ABORT, "Bad INSERT on table '_host_hostname', invalid fk_hostname especified") |
| | 218 | END; |
| | 219 | END; |
| | 220 | |
| | 221 | -- Triggers for preventing bad insertion on _host_address |
| | 222 | CREATE TRIGGER _host_address_bad_host |
| | 223 | BEFORE INSERT ON _host_address |
| | 224 | FOR EACH ROW BEGIN |
| | 225 | SELECT CASE |
| | 226 | WHEN ((SELECT pk FROM host WHERE pk = NEW.fk_host) IS NULL) |
| | 227 | THEN RAISE (ABORT, "Bad INSERT on table '_host_address', invalid fk_host especified") |
| | 228 | END; |
| | 229 | END; |
| | 230 | |
| | 231 | CREATE TRIGGER _host_address_bad_address |
| | 232 | BEFORE INSERT ON _host_address |
| | 233 | FOR EACH ROW BEGIN |
| | 234 | SELECT CASE |
| | 235 | WHEN ((SELECT pk FROM address WHERE pk = NEW.fk_address) IS NULL) |
| | 236 | THEN RAISE (ABORT, "Bad INSERT on table '_host_address', invalid fk_address especified") |
| | 237 | END; |
| | 238 | END; |
| | 239 | |
| | 240 | -- Triggers for preventing bad insertion on _host_port |
| | 241 | CREATE TRIGGER _host_port_bad_host |
| | 242 | BEFORE INSERT ON _host_port |
| | 243 | FOR EACH ROW BEGIN |
| | 244 | SELECT CASE |
| | 245 | WHEN ((SELECT pk FROM host WHERE pk = NEW.fk_host) IS NULL) |
| | 246 | THEN RAISE (ABORT, "Bad INSERT on table '_host_port', invalid fk_host especified") |
| | 247 | END; |
| | 248 | END; |
| | 249 | |
| | 250 | CREATE TRIGGER _host_port_bad_port |
| | 251 | BEFORE INSERT ON _host_port |
| | 252 | FOR EACH ROW BEGIN |
| | 253 | SELECT CASE |
| | 254 | WHEN ((SELECT pk FROM port WHERE pk = NEW.fk_port) IS NULL) |
| | 255 | THEN RAISE (ABORT, "Bad INSERT on table '_host_port', invalid fk_port especified") |
| | 256 | END; |
| | 257 | END; |
| | 301 | |
| | 302 | ------------------- |
| | 303 | -- Port Triggers |
| | 304 | ------------------- |
| | 305 | |
| | 306 | -- Triggers for preventing bad insertion on port |
| | 307 | CREATE TRIGGER port_insert_bad_service |
| | 308 | BEFORE INSERT ON port |
| | 309 | FOR EACH ROW BEGIN |
| | 310 | SELECT CASE |
| | 311 | WHEN ((SELECT pk FROM service WHERE pk = NEW.fk_service) IS NULL) |
| | 312 | THEN RAISE (ABORT, "Bad INSERT on table 'port', invalid fk_service especified") |
| | 313 | END; |
| | 314 | END; |
| | 315 | |
| | 316 | CREATE TRIGGER port_insert_bad_protocol |
| | 317 | BEFORE INSERT ON port |
| | 318 | FOR EACH ROW BEGIN |
| | 319 | SELECT CASE |
| | 320 | WHEN ((SELECT pk FROM protocol WHERE pk = NEW.fk_protocol) IS NULL) |
| | 321 | THEN RAISE (ABORT, "Bad INSERT on table 'port', invalid fk_protocol especified") |
| | 322 | END; |
| | 323 | END; |
| | 324 | |
| | 325 | CREATE TRIGGER port_insert_bad_port_state |
| | 326 | BEFORE INSERT ON port |
| | 327 | FOR EACH ROW BEGIN |
| | 328 | SELECT CASE |
| | 329 | WHEN ((SELECT pk FROM port_state WHERE pk = NEW.fk_port_state) IS NULL) |
| | 330 | THEN RAISE (ABORT, "Bad INSERT on table 'port', invalid fk_port_state especified") |
| | 331 | END; |
| | 332 | END; |
| | 333 | |
| | 334 | -- Trigger for preventing bad insertion on extraports |
| | 335 | CREATE TRIGGER extraports_insert_bad_port_state |
| | 336 | BEFORE INSERT ON extraports |
| | 337 | FOR EACH ROW BEGIN |
| | 338 | SELECT CASE |
| | 339 | WHEN ((SELECT pk FROM port_state WHERE pk = NEW.fk_port_state) IS NULL) |
| | 340 | THEN RAISE (ABORT, "Bad INSERT on table 'extraports', invalid fk_port_state especified") |
| | 341 | END; |
| | 342 | END; |