1 CREATE TABLE IF NOT EXISTS RELATION_TYPE
\r
3 RELATION_TYPE TEXT NOT NULL,
\r
4 ID SERIAL PRIMARY KEY
\r
7 CREATE TABLE IF NOT EXISTS DATASPACE
\r
9 ID SERIAL PRIMARY KEY,
\r
11 CONSTRAINT "UQ_NAME" UNIQUE (NAME)
\r
14 CREATE TABLE IF NOT EXISTS SCHEMA_NODE
\r
16 SCHEMA_NODE_IDENTIFIER TEXT NOT NULL,
\r
17 ID SERIAL PRIMARY KEY
\r
20 CREATE TABLE IF NOT EXISTS SCHEMA_SET
\r
22 ID SERIAL PRIMARY KEY,
\r
24 DATASPACE_ID BIGINT NOT NULL,
\r
25 UNIQUE (NAME, DATASPACE_ID),
\r
26 CONSTRAINT SCHEMA_SET_DATASPACE FOREIGN KEY (DATASPACE_ID) REFERENCES DATASPACE(ID) ON UPDATE CASCADE ON DELETE CASCADE
\r
29 CREATE TABLE IF NOT EXISTS YANG_RESOURCE
\r
31 ID SERIAL PRIMARY KEY,
\r
32 CHECKSUM TEXT NOT NULL,
\r
33 CONTENT TEXT NOT NULL,
\r
37 CREATE TABLE IF NOT EXISTS SCHEMA_SET_YANG_RESOURCES
\r
39 SCHEMA_SET_ID BIGINT NOT NULL,
\r
40 YANG_RESOURCE_ID BIGINT NOT NULL REFERENCES YANG_RESOURCE(ID),
\r
41 CONSTRAINT SCHEMA_SET_RESOURCE FOREIGN KEY (SCHEMA_SET_ID) REFERENCES SCHEMA_SET(ID) ON DELETE CASCADE
\r
44 CREATE TABLE IF NOT EXISTS MODULE
\r
46 ID SERIAL PRIMARY KEY,
\r
47 NAMESPACE TEXT NOT NULL,
\r
48 REVISION TEXT NOT NULL,
\r
49 MODULE_CONTENT TEXT NOT NULL,
\r
50 DATASPACE_ID BIGINT NOT NULL,
\r
51 UNIQUE (DATASPACE_ID, NAMESPACE, REVISION),
\r
52 CONSTRAINT MODULE_DATASPACE FOREIGN KEY (DATASPACE_ID) REFERENCES DATASPACE (id) ON UPDATE CASCADE ON DELETE CASCADE
\r
55 CREATE TABLE IF NOT EXISTS FRAGMENT
\r
57 ID BIGSERIAL PRIMARY KEY,
\r
58 XPATH TEXT NOT NULL,
\r
61 ANCHOR_ID BIGINT REFERENCES FRAGMENT(ID),
\r
62 PARENT_ID BIGINT REFERENCES FRAGMENT(ID),
\r
63 MODULE_ID INTEGER REFERENCES MODULE(ID),
\r
64 DATASPACE_ID INTEGER NOT NULL REFERENCES DATASPACE(ID),
\r
65 SCHEMA_NODE_ID INTEGER REFERENCES SCHEMA_NODE(ID),
\r
66 UNIQUE (DATASPACE_ID, ANCHOR_NAME, XPATH)
\r
69 CREATE TABLE IF NOT EXISTS RELATION
\r
71 FROM_FRAGMENT_ID BIGINT NOT NULL REFERENCES FRAGMENT(ID),
\r
72 TO_FRAGMENT_ID BIGINT NOT NULL REFERENCES FRAGMENT(ID),
\r
73 RELATION_TYPE_ID INTEGER NOT NULL REFERENCES RELATION_TYPE(ID),
\r
74 FROM_REL_XPATH TEXT NOT NULL,
\r
75 TO_REL_XPATH TEXT NOT NULL,
\r
76 CONSTRAINT RELATION_PKEY PRIMARY KEY (TO_FRAGMENT_ID, FROM_FRAGMENT_ID, RELATION_TYPE_ID)
\r
79 CREATE INDEX IF NOT EXISTS "FKI_FRAGMENT_DATASPACE_ID_FK" ON FRAGMENT USING BTREE(DATASPACE_ID) ;
\r
80 CREATE INDEX IF NOT EXISTS "FKI_FRAGMENT_MODULE_ID_FK" ON FRAGMENT USING BTREE(MODULE_ID) ;
\r
81 CREATE INDEX IF NOT EXISTS "FKI_FRAGMENT_PARENT_ID_FK" ON FRAGMENT USING BTREE(PARENT_ID) ;
\r
82 CREATE INDEX IF NOT EXISTS "FKI_FRAGMENT_ANCHOR_ID_FK" ON FRAGMENT USING BTREE(ANCHOR_ID) ;
\r
83 CREATE INDEX IF NOT EXISTS "PERF_SCHEMA_NODE_SCHEMA_NODE_ID" ON SCHEMA_NODE USING BTREE(SCHEMA_NODE_IDENTIFIER) ;
\r
84 CREATE INDEX IF NOT EXISTS "FKI_SCHEMA_NODE_ID_TO_ID" ON FRAGMENT USING BTREE(SCHEMA_NODE_ID) ;
\r
85 CREATE INDEX IF NOT EXISTS "FKI_RELATION_TYPE_ID_FK" ON RELATION USING BTREE(RELATION_TYPE_ID);
\r
86 CREATE INDEX IF NOT EXISTS "FKI_RELATIONS_FROM_ID_FK" ON RELATION USING BTREE(FROM_FRAGMENT_ID);
\r
87 CREATE INDEX IF NOT EXISTS "FKI_RELATIONS_TO_ID_FK" ON RELATION USING BTREE(TO_FRAGMENT_ID);
\r
88 CREATE INDEX IF NOT EXISTS "PERF_MODULE_MODULE_CONTENT" ON MODULE USING BTREE(MODULE_CONTENT);
\r
89 CREATE UNIQUE INDEX IF NOT EXISTS "UQ_FRAGMENT_XPATH"ON FRAGMENT USING btree(xpath COLLATE pg_catalog."default" text_pattern_ops, dataspace_id);
\r