summaryrefslogtreecommitdiff
path: root/controller/schema.sql.c
blob: e84ee7661b8547332c6273e54ba447643420e108 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#define ZT_NETCONF_SCHEMA_SQL \
"CREATE TABLE Config (\n"\
"  k varchar(16) PRIMARY KEY NOT NULL,\n"\
"  v varchar(1024) NOT NULL\n"\
");\n"\
"\n"\
"CREATE TABLE Network (\n"\
"  id char(16) PRIMARY KEY NOT NULL,\n"\
"  name varchar(128) NOT NULL,\n"\
"  private integer NOT NULL DEFAULT(1),\n"\
"  enableBroadcast integer NOT NULL DEFAULT(1),\n"\
"  allowPassiveBridging integer NOT NULL DEFAULT(0),\n"\
"  multicastLimit integer NOT NULL DEFAULT(32),\n"\
"  creationTime integer NOT NULL DEFAULT(0),\n"\
"  revision integer NOT NULL DEFAULT(1),\n"\
"  memberRevisionCounter integer NOT NULL DEFAULT(1),\n"\
"  flags integer NOT NULL DEFAULT(0)\n"\
");\n"\
"\n"\
"CREATE TABLE AuthToken (\n"\
"  id integer PRIMARY KEY NOT NULL,\n"\
"  networkId char(16) NOT NULL REFERENCES Network(id) ON DELETE CASCADE,\n"\
"  authMode integer NOT NULL DEFAULT(1),\n"\
"  useCount integer NOT NULL DEFAULT(0),\n"\
"  maxUses integer NOT NULL DEFAULT(0),\n"\
"  expiresAt integer NOT NULL DEFAULT(0),\n"\
"  token varchar(256) NOT NULL\n"\
");\n"\
"\n"\
"CREATE INDEX AuthToken_networkId_token ON AuthToken(networkId,token);\n"\
"\n"\
"CREATE TABLE Node (\n"\
"  id char(10) PRIMARY KEY NOT NULL,\n"\
"  identity varchar(4096) NOT NULL\n"\
");\n"\
"\n"\
"CREATE TABLE IpAssignment (\n"\
"  networkId char(16) NOT NULL REFERENCES Network(id) ON DELETE CASCADE,\n"\
"  nodeId char(10) REFERENCES Node(id) ON DELETE CASCADE,\n"\
"  type integer NOT NULL DEFAULT(0),\n"\
"  ip blob(16) NOT NULL,\n"\
"  ipNetmaskBits integer NOT NULL DEFAULT(0),\n"\
"  ipVersion integer NOT NULL DEFAULT(4)\n"\
");\n"\
"\n"\
"CREATE UNIQUE INDEX IpAssignment_networkId_ip ON IpAssignment (networkId, ip);\n"\
"\n"\
"CREATE INDEX IpAssignment_networkId_nodeId ON IpAssignment (networkId, nodeId);\n"\
"\n"\
"CREATE TABLE IpAssignmentPool (\n"\
"  networkId char(16) NOT NULL REFERENCES Network(id) ON DELETE CASCADE,\n"\
"  ipRangeStart blob(16) NOT NULL,\n"\
"  ipRangeEnd blob(16) NOT NULL,\n"\
"  ipVersion integer NOT NULL DEFAULT(4)\n"\
");\n"\
"\n"\
"CREATE UNIQUE INDEX IpAssignmentPool_networkId_ipRangeStart ON IpAssignmentPool (networkId,ipRangeStart);\n"\
"\n"\
"CREATE TABLE Member (\n"\
"  networkId char(16) NOT NULL REFERENCES Network(id) ON DELETE CASCADE,\n"\
"  nodeId char(10) NOT NULL REFERENCES Node(id) ON DELETE CASCADE,\n"\
"  authorized integer NOT NULL DEFAULT(0),\n"\
"  activeBridge integer NOT NULL DEFAULT(0),\n"\
"  memberRevision integer NOT NULL DEFAULT(0),\n"\
"  flags integer NOT NULL DEFAULT(0),\n"\
"  lastRequestTime integer NOT NULL DEFAULT(0),\n"\
"  lastPowDifficulty integer NOT NULL DEFAULT(0),\n"\
"  lastPowTime integer NOT NULL DEFAULT(0),\n"\
"  recentHistory blob,\n"\
"  PRIMARY KEY (networkId, nodeId)\n"\
");\n"\
"\n"\
"CREATE INDEX Member_networkId_nodeId ON Member(networkId,nodeId);\n"\
"CREATE INDEX Member_networkId_activeBridge ON Member(networkId, activeBridge);\n"\
"CREATE INDEX Member_networkId_memberRevision ON Member(networkId, memberRevision);\n"\
"CREATE INDEX Member_networkId_lastRequestTime ON Member(networkId, lastRequestTime);\n"\
"\n"\
"CREATE TABLE Route (\n"\
"  networkId char(16) NOT NULL REFERENCES Network(id) ON DELETE CASCADE,\n"\
"  target blob(16) NOT NULL,\n"\
"  via blob(16),\n"\
"  targetNetmaskBits integer NOT NULL,\n"\
"  ipVersion integer NOT NULL,\n"\
"  flags integer NOT NULL,\n"\
"  metric integer NOT NULL\n"\
");\n"\
"\n"\
"CREATE INDEX Route_networkId ON Route (networkId);\n"\
"\n"\
"CREATE TABLE Relay (\n"\
"  networkId char(16) NOT NULL REFERENCES Network(id) ON DELETE CASCADE,\n"\
"  address char(10) NOT NULL,\n"\
"  phyAddress varchar(64) NOT NULL\n"\
");\n"\
"\n"\
"CREATE UNIQUE INDEX Relay_networkId_address ON Relay (networkId,address);\n"\
"\n"\
"CREATE TABLE Rule (\n"\
"  networkId char(16) NOT NULL REFERENCES Network(id) ON DELETE CASCADE,\n"\
"  policyId varchar(32),\n"\
"  ruleNo integer NOT NULL,\n"\
"  ruleType integer NOT NULL DEFAULT(0),\n"\
"  \"addr\" blob(16),\n"\
"  \"int1\" integer,\n"\
"  \"int2\" integer,\n"\
"  \"int3\" integer,\n"\
"  \"int4\" integer\n"\
");\n"\
"\n"\
"CREATE INDEX Rule_networkId_ruleNo ON Rule (networkId, ruleNo);\n"\
"CREATE INDEX Rule_networkId_policyId ON Rule (networkId, policyId);\n"\
""