-- $Id$ -- Copyright (C) 2009-2011 Internet Systems Consortium ("ISC") -- -- Permission to use, copy, modify, and distribute this software for any -- purpose with or without fee is hereby granted, provided that the above -- copyright notice and this permission notice appear in all copies. -- -- THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH -- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -- AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, -- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE -- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -- PERFORMANCE OF THIS SOFTWARE. -- Copyright (C) 2007-2008 American Registry for Internet Numbers ("ARIN") -- -- Permission to use, copy, modify, and distribute this software for any -- purpose with or without fee is hereby granted, provided that the above -- copyright notice and this permission notice appear in all copies. -- -- THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH -- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -- AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, -- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE -- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -- PERFORMANCE OF THIS SOFTWARE. -- SQL objects needed by irdbd.py. You only need this if you're using -- irdbd.py as your IRDB; if you have a "real" backend you can do -- anything you like so long as you implement the relevant portion of -- the left-right protocol. -- DROP TABLE commands must be in correct (reverse dependency) order -- to satisfy FOREIGN KEY constraints. DROP TABLE IF EXISTS roa_request_prefix; DROP TABLE IF EXISTS roa_request; DROP TABLE IF EXISTS registrant_net; DROP TABLE IF EXISTS registrant_asn; DROP TABLE IF EXISTS registrant; DROP TABLE IF EXISTS ghostbuster_request; DROP TABLE IF EXISTS ee_certificate_asn; DROP TABLE IF EXISTS ee_certificate_net; DROP TABLE IF EXISTS ee_certificate; CREATE TABLE registrant ( registrant_id SERIAL NOT NULL, registrant_handle VARCHAR(255) NOT NULL, registrant_name TEXT, registry_handle VARCHAR(255), valid_until DATETIME NOT NULL, PRIMARY KEY (registrant_id), UNIQUE (registry_handle, registrant_handle) ) ENGINE=InnoDB; CREATE TABLE registrant_asn ( start_as BIGINT UNSIGNED NOT NULL, end_as BIGINT UNSIGNED NOT NULL, registrant_id BIGINT UNSIGNED NOT NULL, PRIMARY KEY (registrant_id, start_as, end_as), CONSTRAINT registrant_asn_registrant_id FOREIGN KEY (registrant_id) REFERENCES registrant (registrant_id) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB; CREATE TABLE registrant_net ( start_ip VARCHAR(40) NOT NULL, end_ip VARCHAR(40) NOT NULL, version TINYINT UNSIGNED NOT NULL, registrant_id BIGINT UNSIGNED NOT NULL, PRIMARY KEY (registrant_id, version, start_ip, end_ip), CONSTRAINT registrant_net_registrant_id FOREIGN KEY (registrant_id) REFERENCES registrant (registrant_id) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB; CREATE TABLE roa_request ( roa_request_id SERIAL NOT NULL, self_handle VARCHAR(255) NOT NULL, asn BIGINT UNSIGNED NOT NULL, PRIMARY KEY (roa_request_id) ) ENGINE=InnoDB; CREATE TABLE roa_request_prefix ( prefix VARCHAR(40) NOT NULL, prefixlen TINYINT UNSIGNED NOT NULL, max_prefixlen TINYINT UNSIGNED NOT NULL, version TINYINT UNSIGNED NOT NULL, roa_request_id BIGINT UNSIGNED NOT NULL, PRIMARY KEY (roa_request_id, prefix, prefixlen, max_prefixlen), CONSTRAINT roa_request_prefix_roa_request_id FOREIGN KEY (roa_request_id) REFERENCES roa_request (roa_request_id) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB; CREATE TABLE ghostbuster_request ( ghostbuster_request_id SERIAL NOT NULL, self_handle VARCHAR(255) NOT NULL, parent_handle VARCHAR(255), vcard LONGBLOB NOT NULL, PRIMARY KEY (ghostbuster_request_id) ) ENGINE=InnoDB; CREATE TABLE ee_certificate ( ee_certificate_id SERIAL NOT NULL, self_handle VARCHAR(255) NOT NULL, pkcs10 LONGBLOB NOT NULL, gski VARCHAR(27) NOT NULL, cn VARCHAR(64) NOT NULL, sn VARCHAR(64), eku TEXT NOT NULL, valid_until DATETIME NOT NULL, PRIMARY KEY (ee_certificate_id), UNIQUE (self_handle, gski) ) ENGINE=InnoDB; CREATE TABLE ee_certificate_asn ( start_as BIGINT UNSIGNED NOT NULL, end_as BIGINT UNSIGNED NOT NULL, ee_certificate_id BIGINT UNSIGNED NOT NULL, PRIMARY KEY (ee_certificate_id, start_as, end_as), CONSTRAINT ee_certificate_asn_ee_certificate_id FOREIGN KEY (ee_certificate_id) REFERENCES ee_certificate (ee_certificate_id) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB; CREATE TABLE ee_certificate_net ( version TINYINT UNSIGNED NOT NULL, start_ip VARCHAR(40) NOT NULL, end_ip VARCHAR(40) NOT NULL, ee_certificate_id BIGINT UNSIGNED NOT NULL, PRIMARY KEY (ee_certificate_id, version, start_ip, end_ip), CONSTRAINT ee_certificate_net_ee_certificate_id FOREIGN KEY (ee_certificate_id) REFERENCES ee_certificate (ee_certificate_id) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB; -- Local Variables: -- indent-tabs-mode: nil -- End: