-- H2 2.1.214;
;             
CREATE USER IF NOT EXISTS "SA" SALT '87d4b0b52535849d' HASH 'a7e90ac9f64cf1ef8796ef4d82ef3350165d517f79473848a7d5d99cc2215d20' ADMIN;         
CREATE MEMORY TABLE "PUBLIC"."DATABASECHANGELOGLOCK"(
    "ID" INTEGER NOT NULL,
    "LOCKED" BOOLEAN NOT NULL,
    "LOCKGRANTED" TIMESTAMP,
    "LOCKEDBY" CHARACTER VARYING(255)
);    
ALTER TABLE "PUBLIC"."DATABASECHANGELOGLOCK" ADD CONSTRAINT "PUBLIC"."PK_DATABASECHANGELOGLOCK" PRIMARY KEY("ID");            
-- 1 +/- SELECT COUNT(*) FROM PUBLIC.DATABASECHANGELOGLOCK;   
INSERT INTO "PUBLIC"."DATABASECHANGELOGLOCK" VALUES
(1, FALSE, NULL, NULL);  
CREATE MEMORY TABLE "PUBLIC"."DATABASECHANGELOG"(
    "ID" CHARACTER VARYING(255) NOT NULL,
    "AUTHOR" CHARACTER VARYING(255) NOT NULL,
    "FILENAME" CHARACTER VARYING(255) NOT NULL,
    "DATEEXECUTED" TIMESTAMP NOT NULL,
    "ORDEREXECUTED" INTEGER NOT NULL,
    "EXECTYPE" CHARACTER VARYING(10) NOT NULL,
    "MD5SUM" CHARACTER VARYING(35),
    "DESCRIPTION" CHARACTER VARYING(255),
    "COMMENTS" CHARACTER VARYING(255),
    "TAG" CHARACTER VARYING(255),
    "LIQUIBASE" CHARACTER VARYING(20),
    "CONTEXTS" CHARACTER VARYING(255),
    "LABELS" CHARACTER VARYING(255),
    "DEPLOYMENT_ID" CHARACTER VARYING(10)
);   
-- 40 +/- SELECT COUNT(*) FROM PUBLIC.DATABASECHANGELOG;      
INSERT INTO "PUBLIC"."DATABASECHANGELOG" VALUES
('1', 'nowina', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.175164', 1, 'EXECUTED', '8:f0a6ef607d522b24e752305b80196631', 'createTable tableName=PROFILE', '', NULL, '4.9.1', NULL, NULL, '5168115811'),
('2', 'nowina', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.185134', 2, 'EXECUTED', '8:94da3b1538c06c9fc06f14067b421ebf', 'createTable tableName=OPERATION', '', NULL, '4.9.1', NULL, NULL, '5168115811'),
('3', 'nowina', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.198104', 3, 'EXECUTED', '8:a4b8f9a03aec55d4b3ae9b02feeb9ee1', 'createTable tableName=OPERATION_INPUT', '', NULL, '4.9.1', NULL, NULL, '5168115811'),
('4', 'nowina', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.211064', 4, 'EXECUTED', '8:38163f95bf7be86ee3d0004b5b80b6a1', 'createTable tableName=OPERATION_OUTPUT', '', NULL, '4.9.1', NULL, NULL, '5168115811'),
('5', 'nowina', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.220084', 5, 'EXECUTED', '8:9a8537f631c5f2ac77effb1f1c6a5178', 'createTable tableName=FORMAT', '', NULL, '4.9.1', NULL, NULL, '5168115811'),
('6', 'nowina', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.230014', 6, 'EXECUTED', '8:3a933b0b5c96c8f6453a7002f5bdaf7d', 'createTable tableName=PARAMETER', '', NULL, '4.9.1', NULL, NULL, '5168115811'),
('7', 'nowina', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.252952', 7, 'EXECUTED', '8:a9c906cd2a3734a39c102fd580b10553', 'addForeignKeyConstraint baseTableName=OPERATION, constraintName=FK_OPERATION_PROFILE, referencedTableName=PROFILE', '', NULL, '4.9.1', NULL, NULL, '5168115811'),
('8', 'nowina', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.276894', 8, 'EXECUTED', '8:ca03e963394190015d18d11e10d7db9f', 'addForeignKeyConstraint baseTableName=OPERATION_INPUT, constraintName=FK_OPERATION_INPUT_FORMAT, referencedTableName=FORMAT', '', NULL, '4.9.1', NULL, NULL, '5168115811'),
('9', 'nowina', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.290855', 9, 'EXECUTED', '8:72de5ba3b52701fe4691abc42904e53b', 'addForeignKeyConstraint baseTableName=OPERATION_INPUT, constraintName=FK_OPERATION_INPUT_OPERATION, referencedTableName=OPERATION', '', NULL, '4.9.1', NULL, NULL, '5168115811'),
('10', 'nowina', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.30282', 10, 'EXECUTED', '8:43b01aaedee931adbdf8c16ac47495ab', 'addForeignKeyConstraint baseTableName=OPERATION_OUTPUT, constraintName=FK_OPERATION_OUTPUT_OPERATION, referencedTableName=OPERATION', '', NULL, '4.9.1', NULL, NULL, '5168115811'),
('11', 'nowina', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.315789', 11, 'EXECUTED', '8:a42e0cc72cd0be406c303cd4ffeacd66', 'addForeignKeyConstraint baseTableName=PARAMETER, constraintName=FK_PARAMETER_PARENT_FORMAT, referencedTableName=FORMAT', '', NULL, '4.9.1', NULL, NULL, '5168115811'),
('12', 'nowina', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.335733', 12, 'EXECUTED', '8:677676dd80626ad1b8598e8072494d32', 'addForeignKeyConstraint baseTableName=PARAMETER, constraintName=FK_PARAMETER_FORMAT, referencedTableName=FORMAT', '', NULL, '4.9.1', NULL, NULL, '5168115811'),
('13', 'nowina', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.352685', 13, 'EXECUTED', '8:44883d4207d88a8c3d5e470533c6fd2f', 'insert tableName=PROFILE', '', NULL, '4.9.1', NULL, NULL, '5168115811'),
('14', 'nowina', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.366651', 14, 'EXECUTED', '8:93172ae5d4c3d495d208d7877ceae470', 'insert tableName=OPERATION', '', NULL, '4.9.1', NULL, NULL, '5168115811'),
('15', 'nowina', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.379615', 15, 'EXECUTED', '8:50e43418d0e214c7a267acd71be84f8c', 'insert tableName=OPERATION', '', NULL, '4.9.1', NULL, NULL, '5168115811'),
('16', 'nowina', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.391583', 16, 'EXECUTED', '8:38c03ea146423fc3883c07b1001ae835', 'insert tableName=FORMAT', '', NULL, '4.9.1', NULL, NULL, '5168115811');        
INSERT INTO "PUBLIC"."DATABASECHANGELOG" VALUES
('17', 'nowina', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.408536', 17, 'EXECUTED', '8:f2691055a9c4ca2fd785c2e8bc940ee6', 'insert tableName=OPERATION_INPUT', '', NULL, '4.9.1', NULL, NULL, '5168115811'),
('18', 'nowina', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.420504', 18, 'EXECUTED', '8:ca43f5053cd7d680c5b58bf423f0b467', 'insert tableName=OPERATION_INPUT', '', NULL, '4.9.1', NULL, NULL, '5168115811'),
('19', 'nowina', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.434467', 19, 'EXECUTED', '8:419905eac8f54b9bcff6c40119e65ad6', 'insert tableName=OPERATION_OUTPUT', '', NULL, '4.9.1', NULL, NULL, '5168115811'),
('20', 'nowina', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.447952', 20, 'EXECUTED', '8:3eb6490a699926c8b52dfcea2c0c4947', 'insert tableName=OPERATION_OUTPUT', '', NULL, '4.9.1', NULL, NULL, '5168115811'),
('21', 'nowina', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.460916', 21, 'EXECUTED', '8:08141fb7c2b506f9103c92ab7c65e013', 'insert tableName=FORMAT', '', NULL, '4.9.1', NULL, NULL, '5168115811'),
('22', 'nowina', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.475873', 22, 'EXECUTED', '8:e55fb33d38f7dc16295b047648152e0a', 'insert tableName=PARAMETER', '', NULL, '4.9.1', NULL, NULL, '5168115811'),
('23', 'nowina', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.483852', 23, 'EXECUTED', '8:7cd8a585fc40a2f634a381918b107305', 'insert tableName=FORMAT', '', NULL, '4.9.1', NULL, NULL, '5168115811'),
('24', 'nowina', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.491833', 24, 'EXECUTED', '8:097f01dd4a757264bcab2f707a6ebf47', 'insert tableName=PARAMETER', '', NULL, '4.9.1', NULL, NULL, '5168115811'),
('25', 'belinda', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.502802', 25, 'EXECUTED', '8:08ac27acfab36a2399cd5678a6efe4fb', 'createTable tableName=PO', '', NULL, '4.9.1', NULL, NULL, '5168115811'),
('26', 'belinda', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.510781', 26, 'EXECUTED', '8:a8a8b08f63c937b14c3d05aef80ed6b5', 'createTable tableName=DIGESTLIST', '', NULL, '4.9.1', NULL, NULL, '5168115811'),
('27', 'belinda', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.521753', 27, 'EXECUTED', '8:cf343e2abf8c31f9586dfe1bce92c43a', 'createTable tableName=DIGEST', '', NULL, '4.9.1', NULL, NULL, '5168115811'),
('29', 'belinda', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.531724', 28, 'EXECUTED', '8:254465d854d0e4e89088208d5eddd717', 'addForeignKeyConstraint baseTableName=DIGESTLIST, constraintName=FK_DIGESTLIST_PO, referencedTableName=PO', '', NULL, '4.9.1', NULL, NULL, '5168115811'),
('30', 'belinda', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.539221', 29, 'EXECUTED', '8:3016522655dcafb33956f91a7e9b6205', 'addForeignKeyConstraint baseTableName=DIGEST, constraintName=FK_DIGEST_DIGESTLIST, referencedTableName=DIGESTLIST', '', NULL, '4.9.1', NULL, NULL, '5168115811'),
('31', 'bimbambel', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.607041', 30, 'EXECUTED', '8:aa628278262400b6fd89516b9edf03cd', 'addColumn tableName=PO; dropColumn tableName=PO', '', NULL, '4.9.1', NULL, NULL, '5168115811'),
('32', 'bimbambel', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.61801', 31, 'EXECUTED', '8:49273a912efc276b850e3c905f06b57d', 'createTable tableName=POIDs', '', NULL, '4.9.1', NULL, NULL, '5168115811'),
('33', 'bimbambel', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.633969', 32, 'EXECUTED', '8:4e209b3ac83749da1397036731695e1a', 'createTable tableName=RELATED_OBJECT', '', NULL, '4.9.1', NULL, NULL, '5168115811'),
('34', 'bimbambel', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.64448', 33, 'EXECUTED', '8:abf25cf6ac27aa58a59316fc59ee7818', 'addForeignKeyConstraint baseTableName=RELATED_OBJECT, constraintName=FK_RELOBJ, referencedTableName=PO', '', NULL, '4.9.1', NULL, NULL, '5168115811');  
INSERT INTO "PUBLIC"."DATABASECHANGELOG" VALUES
('35', 'bimbambel', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.659439', 34, 'EXECUTED', '8:7c6f83e58575e9cbe777353bcb988b24', 'addForeignKeyConstraint baseTableName=PO, constraintName=FK_REQ_PO, referencedTableName=POIDs', '', NULL, '4.9.1', NULL, NULL, '5168115811'),
('36', 'sasha', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.668421', 35, 'EXECUTED', '8:40cced2a7a7b13b2bac78c7aa28a107b', 'createTable tableName=Nodes', '', NULL, '4.9.1', NULL, NULL, '5168115811'),
('37', 'sasha', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.675398', 36, 'EXECUTED', '8:f8aa30afb5f7ab2fd2453d631e184817', 'addForeignKeyConstraint baseTableName=NODES, constraintName=FK_PARENT_ID, referencedTableName=NODES', '', NULL, '4.9.1', NULL, NULL, '5168115811'),
('38', 'sasha', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.687365', 37, 'EXECUTED', '8:be848b4a007aea9f8732ace16b74f8fb', 'addForeignKeyConstraint baseTableName=NODES, constraintName=FK_NEIGHBOUR_ID, referencedTableName=NODES', '', NULL, '4.9.1', NULL, NULL, '5168115811'),
('39', 'sasha', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.695344', 38, 'EXECUTED', '8:d41d8cd98f00b204e9800998ecf8427e', 'empty', '', NULL, '4.9.1', NULL, NULL, '5168115811'),
('40', 'sasha', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.705316', 39, 'EXECUTED', '8:5c5803efb1030919cf95c0e2365f3e39', 'createTable tableName=Temporary_records', '', NULL, '4.9.1', NULL, NULL, '5168115811'),
('41', 'sasha', 'db/changelog/db.changelog-1.0.yaml', TIMESTAMP '2023-01-31 13:28:36.709306', 40, 'EXECUTED', '8:d41d8cd98f00b204e9800998ecf8427e', 'empty', '', NULL, '4.9.1', NULL, NULL, '5168115811');        
CREATE MEMORY TABLE "PUBLIC"."PROFILE"(
    "ID" BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1 RESTART WITH 2) NOT NULL,
    "PROFILE_IDENTIFIER" CHARACTER VARYING(2048) NOT NULL,
    "PRESERVATION_EVIDENCE_POLICY" CHARACTER VARYING(2048) NOT NULL,
    "VALID_FROM" TIMESTAMP(3) NOT NULL,
    "VALID_UNTIL" TIMESTAMP(3),
    "PRESERVATION_STORAGE_MODEL" CHARACTER VARYING(32) NOT NULL,
    "PRESERVATION_GOAL" CHARACTER VARYING(2048) NOT NULL,
    "EVIDENCE_FORMAT" CHARACTER VARYING(2048) NOT NULL,
    "SCHEME_IDENTIFIER" CHARACTER VARYING(2048),
    "SPECIFICATION" CHARACTER VARYING(2048),
    "PRESERVATION_EVIDENCE_RETENTION_PERIOD" CHARACTER VARYING(32),
    "PRESERVATION_EVIDENCE_RETENTION_DURATION" CHARACTER VARYING(32)
);             
ALTER TABLE "PUBLIC"."PROFILE" ADD CONSTRAINT "PUBLIC"."PK_PROFILE" PRIMARY KEY("ID");        
-- 1 +/- SELECT COUNT(*) FROM PUBLIC.PROFILE; 
INSERT INTO "PUBLIC"."PROFILE" VALUES
(1, 'https://uclouvain.be/en/faculties/epl/preservation-api/profile/v1.0', 'https://uclouvain.be/en/faculties/epl/preservation-api/profile/preservation-evidence-policy/v1.0', TIMESTAMP '2022-10-01 02:00:00', NULL, 'WITH_TEMPORARY_STORAGE', 'http://uri.etsi.org/19512/goal/pgd', 'urn:ietf:rfc:6283', 'http://uri.etsi.org/19512/scheme/pgd+wts+ers', 'https://www.etsi.org/deliver/etsi_ts/119500_119599/119512/01.01.02_60/ts_119512v010102p.pdf', 'P10Y', 'PT0S');             
CREATE MEMORY TABLE "PUBLIC"."OPERATION"(
    "ID" BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1 RESTART WITH 3) NOT NULL,
    "NAME" CHARACTER VARYING(128) NOT NULL,
    "SPECIFICATION" CHARACTER VARYING(2048) NOT NULL,
    "DESCRIPTION" CHARACTER VARYING(2048) NOT NULL,
    "PROFILE_ID" BIGINT NOT NULL
);             
ALTER TABLE "PUBLIC"."OPERATION" ADD CONSTRAINT "PUBLIC"."PK_OPERATION" PRIMARY KEY("ID");    
-- 2 +/- SELECT COUNT(*) FROM PUBLIC.OPERATION;               
INSERT INTO "PUBLIC"."OPERATION" VALUES
(1, 'PreservePO', 'https://www.etsi.org/deliver/etsi_ts/119500_119599/119512/01.01.02_60/ts_119512v010102p.pdf', 'See clause 5.3.3', 1),
(2, 'RetrievePO', 'https://www.etsi.org/deliver/etsi_ts/119500_119599/119512/01.01.02_60/ts_119512v010102p.pdf', 'See clause 5.3.4', 1);   
CREATE MEMORY TABLE "PUBLIC"."OPERATION_INPUT"(
    "ID" BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1 RESTART WITH 3) NOT NULL,
    "NAME" CHARACTER VARYING(128) NOT NULL,
    "DESCRIPTION" CHARACTER VARYING(2048),
    "FORMAT_ID" BIGINT,
    "OPERATION_ID" BIGINT NOT NULL
);            
ALTER TABLE "PUBLIC"."OPERATION_INPUT" ADD CONSTRAINT "PUBLIC"."PK_OPERATION_INPUT" PRIMARY KEY("ID");        
-- 2 +/- SELECT COUNT(*) FROM PUBLIC.OPERATION_INPUT;         
INSERT INTO "PUBLIC"."OPERATION_INPUT" VALUES
(1, 'PreservePORequest', 'See clause 5.3.3.1', 1, 1),
(2, 'RetrievePORequest', 'See clause 5.3.4.1', NULL, 2);
CREATE MEMORY TABLE "PUBLIC"."OPERATION_OUTPUT"(
    "ID" BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1 RESTART WITH 3) NOT NULL,
    "NAME" CHARACTER VARYING(128) NOT NULL,
    "DESCRIPTION" CHARACTER VARYING(2048) NOT NULL,
    "OPERATION_ID" BIGINT NOT NULL
);           
ALTER TABLE "PUBLIC"."OPERATION_OUTPUT" ADD CONSTRAINT "PUBLIC"."PK_OPERATION_OUTPUT" PRIMARY KEY("ID");      
-- 2 +/- SELECT COUNT(*) FROM PUBLIC.OPERATION_OUTPUT;        
INSERT INTO "PUBLIC"."OPERATION_OUTPUT" VALUES
(1, 'PreservePOResponse', 'See clause 5.3.3.2', 1),
(2, 'RetrievePOResponse', 'See clause 5.3.4.2', 2);      
CREATE MEMORY TABLE "PUBLIC"."FORMAT"(
    "ID" BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1 RESTART WITH 4) NOT NULL,
    "FORMAT_ID" CHARACTER VARYING(2048) NOT NULL
);         
ALTER TABLE "PUBLIC"."FORMAT" ADD CONSTRAINT "PUBLIC"."PK_FORMAT" PRIMARY KEY("ID");          
-- 3 +/- SELECT COUNT(*) FROM PUBLIC.FORMAT;  
INSERT INTO "PUBLIC"."FORMAT" VALUES
(1, 'http://uri.etsi.org/19512/format/DigestList'),
(2, 'SHA-256'),
(3, 'SHA-512');   
CREATE MEMORY TABLE "PUBLIC"."PARAMETER"(
    "ID" BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1 RESTART WITH 3) NOT NULL,
    "PARENT_FORMAT_ID" BIGINT NOT NULL,
    "FORMAT_ID" BIGINT NOT NULL
);              
ALTER TABLE "PUBLIC"."PARAMETER" ADD CONSTRAINT "PUBLIC"."PK_PARAMETER" PRIMARY KEY("ID");    
-- 2 +/- SELECT COUNT(*) FROM PUBLIC.PARAMETER;               
INSERT INTO "PUBLIC"."PARAMETER" VALUES
(1, 1, 2),
(2, 1, 3);               
CREATE MEMORY TABLE "PUBLIC"."PO"(
    "ID" BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) NOT NULL,
    "UNIQUE_IDENTIFIER" CHARACTER VARYING(2048),
    "FORMAT_IDENTIFIER" CHARACTER VARYING(2048) NOT NULL,
    "MIMETYPE" CHARACTER VARYING(2048),
    "PRONOM_ID" CHARACTER VARYING(2048),
    "REQ_ID" BINARY(255) NOT NULL
);           
ALTER TABLE "PUBLIC"."PO" ADD CONSTRAINT "PUBLIC"."PK_PO" PRIMARY KEY("ID");  
-- 0 +/- SELECT COUNT(*) FROM PUBLIC.PO;      
CREATE MEMORY TABLE "PUBLIC"."DIGESTLIST"(
    "ID" BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) NOT NULL,
    "DIGEST_METHOD" CHARACTER VARYING(2048),
    "PO_ID" BIGINT
);    
ALTER TABLE "PUBLIC"."DIGESTLIST" ADD CONSTRAINT "PUBLIC"."PK_DIGESTLIST" PRIMARY KEY("ID");  
-- 0 +/- SELECT COUNT(*) FROM PUBLIC.DIGESTLIST;              
CREATE MEMORY TABLE "PUBLIC"."DIGEST"(
    "ID" BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) NOT NULL,
    "DIGEST_VALUE" CHARACTER VARYING(2048) NOT NULL,
    "DIGESTLIST_ID" BIGINT
);        
ALTER TABLE "PUBLIC"."DIGEST" ADD CONSTRAINT "PUBLIC"."PK_DIGEST" PRIMARY KEY("ID");          
-- 0 +/- SELECT COUNT(*) FROM PUBLIC.DIGEST;  
CREATE MEMORY TABLE "PUBLIC"."POIDS"(
    "POID" BINARY(255) NOT NULL,
    "PROFILE_ID" BIGINT NOT NULL,
    "CLIENT_ID" INTEGER NOT NULL,
    "NODE_ID" BIGINT
);       
ALTER TABLE "PUBLIC"."POIDS" ADD CONSTRAINT "PUBLIC"."PK_POID" PRIMARY KEY("POID");           
-- 0 +/- SELECT COUNT(*) FROM PUBLIC.POIDS;   
CREATE MEMORY TABLE "PUBLIC"."RELATED_OBJECT"(
    "ID" BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) NOT NULL,
    "RELATED_OBJECT_NAME" CHARACTER VARYING(128) NOT NULL,
    "PO_ID" BIGINT NOT NULL
);         
ALTER TABLE "PUBLIC"."RELATED_OBJECT" ADD CONSTRAINT "PUBLIC"."PK_RELOBJ" PRIMARY KEY("ID");  
-- 0 +/- SELECT COUNT(*) FROM PUBLIC.RELATED_OBJECT;          
CREATE MEMORY TABLE "PUBLIC"."NODES"(
    "NODE_ID" BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) NOT NULL,
    "PARENT_ID" BIGINT,
    "NEIGHBOUR_ID" BIGINT,
    "TREE_ID" BIGINT NOT NULL,
    "IN_TREE_ID" BIGINT NOT NULL
);               
ALTER TABLE "PUBLIC"."NODES" ADD CONSTRAINT "PUBLIC"."PK_NODE_ID" PRIMARY KEY("NODE_ID");     
-- 0 +/- SELECT COUNT(*) FROM PUBLIC.NODES;   
CREATE MEMORY TABLE "PUBLIC"."TEMPORARY_RECORDS"(
    "POID" BINARY(255) NOT NULL,
    "DIG_NUM" INTEGER NOT NULL,
    "DIG_METHOD" CHARACTER VARYING(2048) NOT NULL,
    "VALUE" CHARACTER VARYING(128) NOT NULL,
    "CLIENT_ID" INTEGER NOT NULL
);  
ALTER TABLE "PUBLIC"."TEMPORARY_RECORDS" ADD CONSTRAINT "PUBLIC"."PK_POID__DIG_NUM" PRIMARY KEY("POID", "DIG_NUM");           
-- 0 +/- SELECT COUNT(*) FROM PUBLIC.TEMPORARY_RECORDS;       
ALTER TABLE "PUBLIC"."NODES" ADD CONSTRAINT "PUBLIC"."CONSTRAINT_4" UNIQUE("NEIGHBOUR_ID");   
ALTER TABLE "PUBLIC"."PO" ADD CONSTRAINT "PUBLIC"."UK_PO_IDENTIFIER" UNIQUE("UNIQUE_IDENTIFIER");             
ALTER TABLE "PUBLIC"."PROFILE" ADD CONSTRAINT "PUBLIC"."UK_PROFILE_IDENTIFIER" UNIQUE("PROFILE_IDENTIFIER");  
ALTER TABLE "PUBLIC"."RELATED_OBJECT" ADD CONSTRAINT "PUBLIC"."FK_RELOBJ" FOREIGN KEY("PO_ID") REFERENCES "PUBLIC"."PO"("ID") NOCHECK;        
ALTER TABLE "PUBLIC"."NODES" ADD CONSTRAINT "PUBLIC"."FK_PARENT_ID" FOREIGN KEY("PARENT_ID") REFERENCES "PUBLIC"."NODES"("NODE_ID") NOCHECK;  
ALTER TABLE "PUBLIC"."NODES" ADD CONSTRAINT "PUBLIC"."FK_NEIGHBOUR_ID" FOREIGN KEY("NEIGHBOUR_ID") REFERENCES "PUBLIC"."NODES"("NODE_ID") NOCHECK;            
ALTER TABLE "PUBLIC"."DIGESTLIST" ADD CONSTRAINT "PUBLIC"."FK_DIGESTLIST_PO" FOREIGN KEY("PO_ID") REFERENCES "PUBLIC"."PO"("ID") NOCHECK;     
ALTER TABLE "PUBLIC"."PARAMETER" ADD CONSTRAINT "PUBLIC"."FK_PARAMETER_PARENT_FORMAT" FOREIGN KEY("PARENT_FORMAT_ID") REFERENCES "PUBLIC"."FORMAT"("ID") NOCHECK;             
ALTER TABLE "PUBLIC"."PO" ADD CONSTRAINT "PUBLIC"."FK_REQ_PO" FOREIGN KEY("REQ_ID") REFERENCES "PUBLIC"."POIDS"("POID") NOCHECK;              
ALTER TABLE "PUBLIC"."OPERATION_INPUT" ADD CONSTRAINT "PUBLIC"."FK_OPERATION_INPUT_OPERATION" FOREIGN KEY("OPERATION_ID") REFERENCES "PUBLIC"."OPERATION"("ID") NOCHECK;      
ALTER TABLE "PUBLIC"."OPERATION" ADD CONSTRAINT "PUBLIC"."FK_OPERATION_PROFILE" FOREIGN KEY("PROFILE_ID") REFERENCES "PUBLIC"."PROFILE"("ID") NOCHECK;        
ALTER TABLE "PUBLIC"."DIGEST" ADD CONSTRAINT "PUBLIC"."FK_DIGEST_DIGESTLIST" FOREIGN KEY("DIGESTLIST_ID") REFERENCES "PUBLIC"."DIGESTLIST"("ID") NOCHECK;     
ALTER TABLE "PUBLIC"."OPERATION_OUTPUT" ADD CONSTRAINT "PUBLIC"."FK_OPERATION_OUTPUT_OPERATION" FOREIGN KEY("OPERATION_ID") REFERENCES "PUBLIC"."OPERATION"("ID") NOCHECK;    
ALTER TABLE "PUBLIC"."OPERATION_INPUT" ADD CONSTRAINT "PUBLIC"."FK_OPERATION_INPUT_FORMAT" FOREIGN KEY("FORMAT_ID") REFERENCES "PUBLIC"."FORMAT"("ID") NOCHECK;               
ALTER TABLE "PUBLIC"."PARAMETER" ADD CONSTRAINT "PUBLIC"."FK_PARAMETER_FORMAT" FOREIGN KEY("FORMAT_ID") REFERENCES "PUBLIC"."FORMAT"("ID") NOCHECK;           
