blob: 8ecc3b05da13a5499e3db41c5e16d9f258b45813 [file] [log] [blame]
shockjianga5ae48c2014-07-27 23:21:41 -07001/*
2some difference with Alex's sql file:
31. class field in table rrsets could be NULL
42. type field in table rrsets is changed to text from integer(10)
5*/
6DROP TRIGGER IF EXISTS rrs_update;
7DROP TABLE IF EXISTS zones;
8DROP TABLE IF EXISTS rrsets;
9DROP TABLE IF EXISTS rrs;
10CREATE TABLE zones (
11 id INTEGER NOT NULL PRIMARY KEY,
12 name blob NOT NULL UNIQUE);
13CREATE TABLE rrsets (
14 id INTEGER NOT NULL PRIMARY KEY,
15 zone_id integer(10) NOT NULL,
16 label text NOT NULL,
17 class integer(10),
18 type text NOT NULL,
19 ndndata blob,
20 FOREIGN KEY(zone_id) REFERENCES zones(id) ON UPDATE Cascade ON DELETE Cascade);
21CREATE TABLE rrs (
22 id INTEGER NOT NULL PRIMARY KEY,
23 rrset_id integer(10) NOT NULL,
24 ttl integer(10) NOT NULL,
25 rrdata blob NOT NULL,
26 FOREIGN KEY(rrset_id) REFERENCES rrsets(id) ON UPDATE Cascade ON DELETE Cascade);
27CREATE UNIQUE INDEX rrsets_zone_id_label_class_type
28 ON rrsets (zone_id, label, class, type);
29CREATE INDEX rrs_rrset_id
30 ON rrs (rrset_id);
31CREATE INDEX rrs_rrset_id_rrdata
32 ON rrs (rrset_id, rrdata);
33CREATE TRIGGER rrs_update
34BEFORE INSERT ON rrs
35FOR EACH ROW
36BEGIN
37 DELETE FROM rrs WHERE rrset_id = NEW.rrset_id AND rrdata = NEW.rrdata;
38END;
39