aboutsummaryrefslogtreecommitdiff
path: root/contrib/auto-naming/create-db.sql
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/auto-naming/create-db.sql')
-rw-r--r--contrib/auto-naming/create-db.sql29
1 files changed, 29 insertions, 0 deletions
diff --git a/contrib/auto-naming/create-db.sql b/contrib/auto-naming/create-db.sql
new file mode 100644
index 000000000..6377be3ea
--- /dev/null
+++ b/contrib/auto-naming/create-db.sql
@@ -0,0 +1,29 @@
+
+CREATE TABLE router (
+ router_id SERIAL PRIMARY KEY,
+ fingerprint CHAR(40) NOT NULL,
+ UNIQUE(fingerprint)
+);
+-- already created implicitly due to unique contraint
+-- CREATE INDEX router_fingerprint ON router(fingerprint);
+
+CREATE TABLE nickname (
+ nickname_id SERIAL PRIMARY KEY,
+ nick VARCHAR(30) NOT NULL,
+ UNIQUE(nick)
+);
+-- already created implicitly due to unique contraint
+-- CREATE INDEX nickname_nick ON nickname(nick);
+
+CREATE TABLE router_claims_nickname (
+ router_id INTEGER NOT NULL REFERENCES router(router_id) ON DELETE CASCADE,
+ nickname_id INTEGER NOT NULL REFERENCES nickname(nickname_id) ON DELETE CASCADE,
+ first_seen TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ last_seen TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ named BOOLEAN NOT NULL DEFAULT 'false',
+ UNIQUE(router_id, nickname_id)
+);
+CREATE INDEX router_claims_nickname_router_id ON router_claims_nickname(router_id);
+CREATE INDEX router_claims_nickname_nickname_id ON router_claims_nickname(nickname_id);
+CREATE INDEX router_claims_nickname_first_seen ON router_claims_nickname(first_seen);
+CREATE INDEX router_claims_nickname_last_seen ON router_claims_nickname(last_seen);