From f577abe2530fbfb95330e36de3ae9329399781e3 Mon Sep 17 00:00:00 2001 From: Cedric CAFFY <cedric.caffy@cern.ch> Date: Tue, 3 Mar 2020 11:30:13 +0100 Subject: [PATCH] Created catalogue schema version 1.2 without any modifications regarding version 1.1 --- catalogue/1.2/mysql_catalogue_schema.sql | 303 +++++ catalogue/1.2/oracle_catalogue_schema.sql | 326 +++++ catalogue/1.2/postgres_catalogue_schema.sql | 314 +++++ catalogue/1.2/sqlite_catalogue_schema.sql | 292 +++++ catalogue/AllCatalogueSchema.hpp | 1242 +++++++++++++++++++ catalogue/CMakeLists.txt | 2 + cmake/CTAVersions.cmake | 2 +- 7 files changed, 2480 insertions(+), 1 deletion(-) create mode 100644 catalogue/1.2/mysql_catalogue_schema.sql create mode 100644 catalogue/1.2/oracle_catalogue_schema.sql create mode 100644 catalogue/1.2/postgres_catalogue_schema.sql create mode 100644 catalogue/1.2/sqlite_catalogue_schema.sql diff --git a/catalogue/1.2/mysql_catalogue_schema.sql b/catalogue/1.2/mysql_catalogue_schema.sql new file mode 100644 index 0000000000..044092a2b7 --- /dev/null +++ b/catalogue/1.2/mysql_catalogue_schema.sql @@ -0,0 +1,303 @@ +CREATE TABLE ARCHIVE_FILE_ID( + ID BIGINT UNSIGNED, + CONSTRAINT ARCHIVE_FILE_ID_PK PRIMARY KEY(ID) +); +INSERT INTO ARCHIVE_FILE_ID(ID) VALUES(1); +CREATE TABLE LOGICAL_LIBRARY_ID( + ID BIGINT UNSIGNED, + CONSTRAINT LOGICAL_LIBRARY_ID_PK PRIMARY KEY(ID) +); +INSERT INTO LOGICAL_LIBRARY_ID(ID) VALUES(1); +CREATE TABLE STORAGE_CLASS_ID( + ID BIGINT UNSIGNED, + CONSTRAINT STORAGE_CLASS_ID_PK PRIMARY KEY(ID) +); +INSERT INTO STORAGE_CLASS_ID(ID) VALUES(1); +CREATE TABLE TAPE_POOL_ID( + ID BIGINT UNSIGNED, + CONSTRAINT TAPE_POOL_ID_PK PRIMARY KEY(ID) +); +INSERT INTO TAPE_POOL_ID(ID) VALUES(1); + +CREATE TABLE CTA_CATALOGUE( + SCHEMA_VERSION_MAJOR BIGINT UNSIGNED CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL, + SCHEMA_VERSION_MINOR BIGINT UNSIGNED CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL, + NEXT_SCHEMA_VERSION_MAJOR BIGINT UNSIGNED, + NEXT_SCHEMA_VERSION_MINOR BIGINT UNSIGNED, + STATUS VARCHAR(100) +); +CREATE TABLE ADMIN_USER( + ADMIN_USER_NAME VARCHAR(100) CONSTRAINT ADMIN_USER_AUN_NN NOT NULL, + USER_COMMENT VARCHAR(1000) CONSTRAINT ADMIN_USER_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL, + CREATION_LOG_TIME BIGINT UNSIGNED CONSTRAINT ADMIN_USER_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL, + LAST_UPDATE_TIME BIGINT UNSIGNED CONSTRAINT ADMIN_USER_LUT_NN NOT NULL, + CONSTRAINT ADMIN_USER_PK PRIMARY KEY(ADMIN_USER_NAME) +); +CREATE TABLE DISK_SYSTEM( + DISK_SYSTEM_NAME VARCHAR(100) CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL, + FILE_REGEXP VARCHAR(100) CONSTRAINT DISK_SYSTEM_FR_NN NOT NULL, + FREE_SPACE_QUERY_URL VARCHAR(1000) CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL, + REFRESH_INTERVAL BIGINT UNSIGNED CONSTRAINT DISK_SYSTEM_RI_NN NOT NULL, + TARGETED_FREE_SPACE BIGINT UNSIGNED CONSTRAINT DISK_SYSTEM_TFS_NN NOT NULL, + SLEEP_TIME BIGINT UNSIGNED CONSTRAINT DISK_SYSTEM_ST_NN NOT NULL, + USER_COMMENT VARCHAR(1000) CONSTRAINT DISK_SYSTEM_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL, + CREATION_LOG_TIME BIGINT UNSIGNED CONSTRAINT DISK_SYSTEM_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL, + LAST_UPDATE_TIME BIGINT UNSIGNED CONSTRAINT DISK_SYSTEM_LUT_NN NOT NULL, + CONSTRAINT NAME_PK PRIMARY KEY(DISK_SYSTEM_NAME) +); +CREATE TABLE STORAGE_CLASS( + STORAGE_CLASS_ID BIGINT UNSIGNED CONSTRAINT STORAGE_CLASS_SCI_NN NOT NULL, + DISK_INSTANCE_NAME VARCHAR(100) CONSTRAINT STORAGE_CLASS_DIN_NN NOT NULL, + STORAGE_CLASS_NAME VARCHAR(100) CONSTRAINT STORAGE_CLASS_SCN_NN NOT NULL, + NB_COPIES TINYINT UNSIGNED CONSTRAINT STORAGE_CLASS_NC_NN NOT NULL, + USER_COMMENT VARCHAR(1000) CONSTRAINT STORAGE_CLASS_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL, + CREATION_LOG_TIME BIGINT UNSIGNED CONSTRAINT STORAGE_CLASS_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL, + LAST_UPDATE_TIME BIGINT UNSIGNED CONSTRAINT STORAGE_CLASS_LUT_NN NOT NULL, + CONSTRAINT STORAGE_CLASS_PK PRIMARY KEY(STORAGE_CLASS_ID), + CONSTRAINT STORAGE_CLASS_SCN_UN UNIQUE(STORAGE_CLASS_NAME) +); +CREATE TABLE TAPE_POOL( + TAPE_POOL_ID BIGINT UNSIGNED CONSTRAINT TAPE_POOL_TPI_NN NOT NULL, + TAPE_POOL_NAME VARCHAR(100) CONSTRAINT TAPE_POOL_TPN_NN NOT NULL, + VO VARCHAR(100) CONSTRAINT TAPE_POOL_VO_NN NOT NULL, + NB_PARTIAL_TAPES BIGINT UNSIGNED CONSTRAINT TAPE_POOL_NPT_NN NOT NULL, + IS_ENCRYPTED CHAR(1) CONSTRAINT TAPE_POOL_IE_NN NOT NULL, + SUPPLY VARCHAR(100), + USER_COMMENT VARCHAR(1000) CONSTRAINT TAPE_POOL_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL, + CREATION_LOG_TIME BIGINT UNSIGNED CONSTRAINT TAPE_POOL_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL, + LAST_UPDATE_TIME BIGINT UNSIGNED CONSTRAINT TAPE_POOL_LUT_NN NOT NULL, + CONSTRAINT TAPE_POOL_PK PRIMARY KEY(TAPE_POOL_ID), + CONSTRAINT TAPE_POOL_TPN_UN UNIQUE(TAPE_POOL_NAME), + CONSTRAINT TAPE_POOL_IS_ENCRYPTED_BOOL_CK CHECK(IS_ENCRYPTED IN ('0', '1')) +); +CREATE TABLE ARCHIVE_ROUTE( + STORAGE_CLASS_ID BIGINT UNSIGNED CONSTRAINT ARCHIVE_ROUTE_SCI_NN NOT NULL, + COPY_NB TINYINT UNSIGNED CONSTRAINT ARCHIVE_ROUTE_CN_NN NOT NULL, + TAPE_POOL_ID BIGINT UNSIGNED CONSTRAINT ARCHIVE_ROUTE_TPI_NN NOT NULL, + USER_COMMENT VARCHAR(1000) CONSTRAINT ARCHIVE_ROUTE_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL, + CREATION_LOG_TIME BIGINT UNSIGNED CONSTRAINT ARCHIVE_ROUTE_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL, + LAST_UPDATE_TIME BIGINT UNSIGNED CONSTRAINT ARCHIVE_ROUTE_LUT_NN NOT NULL, + CONSTRAINT ARCHIVE_ROUTE_PK PRIMARY KEY(STORAGE_CLASS_ID, COPY_NB), + CONSTRAINT ARCHIVE_ROUTE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID), + CONSTRAINT ARCHIVE_ROUTE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID), + CONSTRAINT ARCHIVE_ROUTE_COPY_NB_GT_0_CK CHECK(COPY_NB > 0), + CONSTRAINT ARCHIVE_ROUTE_SCI_TPI_UN UNIQUE(STORAGE_CLASS_ID, TAPE_POOL_ID) +); +CREATE TABLE LOGICAL_LIBRARY( + LOGICAL_LIBRARY_ID BIGINT UNSIGNED CONSTRAINT LOGICAL_LIBRARY_LLI_NN NOT NULL, + LOGICAL_LIBRARY_NAME VARCHAR(100) CONSTRAINT LOGICAL_LIBRARY_LLN_NN NOT NULL, + IS_DISABLED CHAR(1) DEFAULT '0' CONSTRAINT LOGICAL_LIBRARY_ID_NN NOT NULL, + USER_COMMENT VARCHAR(1000) CONSTRAINT LOGICAL_LIBRARY_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL, + CREATION_LOG_TIME BIGINT UNSIGNED CONSTRAINT LOGICAL_LIBRARY_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL, + LAST_UPDATE_TIME BIGINT UNSIGNED CONSTRAINT LOGICAL_LIBRARY_LUT_NN NOT NULL, + CONSTRAINT LOGICAL_LIBRARY_PK PRIMARY KEY(LOGICAL_LIBRARY_ID), + CONSTRAINT LOGICAL_LIBRARY_LLN_UN UNIQUE(LOGICAL_LIBRARY_NAME), + CONSTRAINT LOGICAL_LIBRARY_ID_BOOL_CK CHECK(IS_DISABLED IN ('0', '1')) +); +CREATE TABLE TAPE( + VID VARCHAR(100) CONSTRAINT TAPE_V_NN NOT NULL, + MEDIA_TYPE VARCHAR(100) CONSTRAINT TAPE_MT_NN NOT NULL, + VENDOR VARCHAR(100) CONSTRAINT TAPE_V2_NN NOT NULL, + LOGICAL_LIBRARY_ID BIGINT UNSIGNED CONSTRAINT TAPE_LLI_NN NOT NULL, + TAPE_POOL_ID BIGINT UNSIGNED CONSTRAINT TAPE_TPI_NN NOT NULL, + ENCRYPTION_KEY_NAME VARCHAR(100), + CAPACITY_IN_BYTES BIGINT UNSIGNED CONSTRAINT TAPE_CIB_NN NOT NULL, + DATA_IN_BYTES BIGINT UNSIGNED CONSTRAINT TAPE_DIB_NN NOT NULL, + LAST_FSEQ BIGINT UNSIGNED CONSTRAINT TAPE_LF_NN NOT NULL, + NB_MASTER_FILES BIGINT UNSIGNED DEFAULT 0 CONSTRAINT TAPE_NB_MASTER_FILES_NN NOT NULL, + MASTER_DATA_IN_BYTES BIGINT UNSIGNED DEFAULT 0 CONSTRAINT TAPE_MASTER_DATA_IN_BYTES_NN NOT NULL, + IS_DISABLED CHAR(1) CONSTRAINT TAPE_ID_NN NOT NULL, + IS_FULL CHAR(1) CONSTRAINT TAPE_IF_NN NOT NULL, + IS_READ_ONLY CHAR(1) CONSTRAINT TAPE_IRO_NN NOT NULL, + IS_FROM_CASTOR CHAR(1) CONSTRAINT TAPE_IFC_NN NOT NULL, + IS_ARCHIVED CHAR(1) DEFAULT '0' CONSTRAINT TAPE_IA_NN NOT NULL, + IS_EXPORTED CHAR(1) DEFAULT '0' CONSTRAINT TAPE_IE_NN NOT NULL, + DIRTY CHAR(1) DEFAULT '1' CONSTRAINT TAPE_DIRTY_NN NOT NULL, + LABEL_DRIVE VARCHAR(100), + LABEL_TIME BIGINT UNSIGNED , + LAST_READ_DRIVE VARCHAR(100), + LAST_READ_TIME BIGINT UNSIGNED , + LAST_WRITE_DRIVE VARCHAR(100), + LAST_WRITE_TIME BIGINT UNSIGNED , + READ_MOUNT_COUNT BIGINT UNSIGNED DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL, + WRITE_MOUNT_COUNT BIGINT UNSIGNED DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL, + USER_COMMENT VARCHAR(1000) CONSTRAINT TAPE_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT TAPE_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT TAPE_CLHN_NN NOT NULL, + CREATION_LOG_TIME BIGINT UNSIGNED CONSTRAINT TAPE_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT TAPE_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT TAPE_LUHN_NN NOT NULL, + LAST_UPDATE_TIME BIGINT UNSIGNED CONSTRAINT TAPE_LUT_NN NOT NULL, + CONSTRAINT TAPE_PK PRIMARY KEY(VID), + CONSTRAINT TAPE_LOGICAL_LIBRARY_FK FOREIGN KEY(LOGICAL_LIBRARY_ID) REFERENCES LOGICAL_LIBRARY(LOGICAL_LIBRARY_ID), + CONSTRAINT TAPE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID), + CONSTRAINT TAPE_IS_DISABLED_BOOL_CK CHECK(IS_DISABLED IN ('0', '1')), + CONSTRAINT TAPE_IS_FULL_BOOL_CK CHECK(IS_FULL IN ('0', '1')), + CONSTRAINT TAPE_IS_READ_ONLY_BOOL_CK CHECK(IS_READ_ONLY IN ('0', '1')), + CONSTRAINT TAPE_IS_FROM_CASTOR_BOOL_CK CHECK(IS_FROM_CASTOR IN ('0', '1')), + CONSTRAINT TAPE_IS_ARCHVIED_BOOL_CK CHECK(IS_ARCHIVED IN ('0', '1')), + CONSTRAINT TAPE_IS_EXPORTED_BOOL_CK CHECK(IS_EXPORTED IN ('0', '1')), + CONSTRAINT TAPE_DIRTY_BOOL_CK CHECK(DIRTY IN ('0','1')) +); +CREATE INDEX TAPE_TAPE_POOL_ID_IDX ON TAPE(TAPE_POOL_ID); +CREATE TABLE MOUNT_POLICY( + MOUNT_POLICY_NAME VARCHAR(100) CONSTRAINT MOUNT_POLICY_MPN_NN NOT NULL, + ARCHIVE_PRIORITY BIGINT UNSIGNED CONSTRAINT MOUNT_POLICY_AP_NN NOT NULL, + ARCHIVE_MIN_REQUEST_AGE BIGINT UNSIGNED CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL, + RETRIEVE_PRIORITY BIGINT UNSIGNED CONSTRAINT MOUNT_POLICY_RP_NN NOT NULL, + RETRIEVE_MIN_REQUEST_AGE BIGINT UNSIGNED CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL, + MAX_DRIVES_ALLOWED BIGINT UNSIGNED CONSTRAINT MOUNT_POLICY_MDA_NN NOT NULL, + USER_COMMENT VARCHAR(1000) CONSTRAINT MOUNT_POLICY_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL, + CREATION_LOG_TIME BIGINT UNSIGNED CONSTRAINT MOUNT_POLICY_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL, + LAST_UPDATE_TIME BIGINT UNSIGNED CONSTRAINT MOUNT_POLICY_LUT_NN NOT NULL, + CONSTRAINT MOUNT_POLICY_PK PRIMARY KEY(MOUNT_POLICY_NAME) +); +CREATE TABLE REQUESTER_MOUNT_RULE( + DISK_INSTANCE_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_DIN_NN NOT NULL, + REQUESTER_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_RN_NN NOT NULL, + MOUNT_POLICY_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_MPN_NN NOT NULL, + USER_COMMENT VARCHAR(1000) CONSTRAINT RQSTER_RULE_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL, + CREATION_LOG_TIME BIGINT UNSIGNED CONSTRAINT RQSTER_RULE_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL, + LAST_UPDATE_TIME BIGINT UNSIGNED CONSTRAINT RQSTER_RULE_LUT_NN NOT NULL, + CONSTRAINT RQSTER_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_NAME), + CONSTRAINT RQSTER_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME) + REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME) +); +CREATE TABLE REQUESTER_GROUP_MOUNT_RULE( + DISK_INSTANCE_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_DIN_NN NOT NULL, + REQUESTER_GROUP_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_RGN_NN NOT NULL, + MOUNT_POLICY_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_MPN_NN NOT NULL, + USER_COMMENT VARCHAR(1000) CONSTRAINT RQSTER_GRP_RULE_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL, + CREATION_LOG_TIME BIGINT UNSIGNED CONSTRAINT RQSTER_GRP_RULE_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL, + LAST_UPDATE_TIME BIGINT UNSIGNED CONSTRAINT RQSTER_GRP_RULE_LUT_NN NOT NULL, + CONSTRAINT RQSTER_GRP_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_GROUP_NAME), + CONSTRAINT RQSTER_GRP_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME) + REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME) +); +CREATE TABLE ARCHIVE_FILE( + ARCHIVE_FILE_ID BIGINT UNSIGNED CONSTRAINT ARCHIVE_FILE_AFI_NN NOT NULL, + DISK_INSTANCE_NAME VARCHAR(100) CONSTRAINT ARCHIVE_FILE_DIN_NN NOT NULL, + DISK_FILE_ID VARCHAR(100) CONSTRAINT ARCHIVE_FILE_DFI_NN NOT NULL, + DISK_FILE_PATH VARCHAR(2000) CONSTRAINT ARCHIVE_FILE_DFP_NN NOT NULL, + DISK_FILE_UID INT UNSIGNED CONSTRAINT ARCHIVE_FILE_DFUID_NN NOT NULL, + DISK_FILE_GID INT UNSIGNED CONSTRAINT ARCHIVE_FILE_DFGID_NN NOT NULL, + SIZE_IN_BYTES BIGINT UNSIGNED CONSTRAINT ARCHIVE_FILE_SIB_NN NOT NULL, + CHECKSUM_BLOB VARBINARY(200), + CHECKSUM_ADLER32 INT UNSIGNED CONSTRAINT ARCHIVE_FILE_CB2_NN NOT NULL, + STORAGE_CLASS_ID BIGINT UNSIGNED CONSTRAINT ARCHIVE_FILE_SCI_NN NOT NULL, + CREATION_TIME BIGINT UNSIGNED CONSTRAINT ARCHIVE_FILE_CT2_NN NOT NULL, + RECONCILIATION_TIME BIGINT UNSIGNED CONSTRAINT ARCHIVE_FILE_RT_NN NOT NULL, + IS_DELETED CHAR(1) DEFAULT '0' CONSTRAINT ARCHIVE_FILE_ID_NN NOT NULL, + COLLOCATION_HINT VARCHAR(100), + CONSTRAINT ARCHIVE_FILE_PK PRIMARY KEY(ARCHIVE_FILE_ID), + CONSTRAINT ARCHIVE_FILE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID), + CONSTRAINT ARCHIVE_FILE_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID), + CONSTRAINT ARCHIVE_FILE_ID_BOOL_CK CHECK(IS_DELETED IN ('0', '1')) +); +CREATE INDEX ARCHIVE_FILE_DIN_DFP_IDX ON ARCHIVE_FILE(DISK_INSTANCE_NAME, DISK_FILE_PATH); +CREATE INDEX ARCHIVE_FILE_DFI_IDX ON ARCHIVE_FILE(DISK_FILE_ID); +CREATE TABLE TAPE_FILE( + VID VARCHAR(100) CONSTRAINT TAPE_FILE_V_NN NOT NULL, + FSEQ BIGINT UNSIGNED CONSTRAINT TAPE_FILE_F_NN NOT NULL, + BLOCK_ID BIGINT UNSIGNED CONSTRAINT TAPE_FILE_BI_NN NOT NULL, + LOGICAL_SIZE_IN_BYTES BIGINT UNSIGNED CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL, + COPY_NB TINYINT UNSIGNED CONSTRAINT TAPE_FILE_CN_NN NOT NULL, + CREATION_TIME BIGINT UNSIGNED CONSTRAINT TAPE_FILE_CT_NN NOT NULL, + ARCHIVE_FILE_ID BIGINT UNSIGNED CONSTRAINT TAPE_FILE_AFI_NN NOT NULL, + SUPERSEDED_BY_VID VARCHAR(100), + SUPERSEDED_BY_FSEQ BIGINT UNSIGNED , + WRITE_START_WRAP SMALLINT UNSIGNED, + WRITE_START_LPOS INT UNSIGNED, + WRITE_END_WRAP SMALLINT UNSIGNED, + WRITE_END_LPOS INT UNSIGNED, + READ_START_WRAP SMALLINT UNSIGNED, + READ_START_LPOS INT UNSIGNED, + READ_END_WRAP SMALLINT UNSIGNED, + READ_END_LPOS INT UNSIGNED, + CONSTRAINT TAPE_FILE_PK PRIMARY KEY(VID, FSEQ), + CONSTRAINT TAPE_FILE_TAPE_FK FOREIGN KEY(VID) + REFERENCES TAPE(VID), + CONSTRAINT TAPE_FILE_ARCHIVE_FILE_FK FOREIGN KEY(ARCHIVE_FILE_ID) + REFERENCES ARCHIVE_FILE(ARCHIVE_FILE_ID), + CONSTRAINT TAPE_FILE_VID_BLOCK_ID_UN UNIQUE(VID, BLOCK_ID), + CONSTRAINT TAPE_FILE_COPY_NB_GT_0_CK CHECK(COPY_NB > 0), + CONSTRAINT TAPE_FILE_SS_VID_FSEQ_FK FOREIGN KEY(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ) + REFERENCES TAPE_FILE(VID, FSEQ) +); +CREATE INDEX TAPE_FILE_VID_IDX ON TAPE_FILE(VID); +CREATE INDEX TAPE_FILE_ARCHIVE_FILE_ID_IDX ON TAPE_FILE(ARCHIVE_FILE_ID); +CREATE INDEX TAPE_FILE_SBV_SBF_IDX ON TAPE_FILE(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ); +CREATE TABLE ACTIVITIES_WEIGHTS ( + DISK_INSTANCE_NAME VARCHAR(100), + ACTIVITY VARCHAR(100), + WEIGHT VARCHAR(100), + USER_COMMENT VARCHAR(1000) CONSTRAINT ACTIV_WEIGHTS_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL, + CREATION_LOG_TIME BIGINT UNSIGNED CONSTRAINT ACTIV_WEIGHTS_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL, + LAST_UPDATE_TIME BIGINT UNSIGNED CONSTRAINT ACTIV_WEIGHTS_LUT_NN NOT NULL +); +CREATE TABLE USAGESTATS ( + GID INT UNSIGNED DEFAULT 0 CONSTRAINT USAGESTATS_GID_NN NOT NULL, + TIMESTAMP BIGINT UNSIGNED DEFAULT 0 CONSTRAINT USAGESTATS_TS_NN NOT NULL, + MAXFILEID BIGINT UNSIGNED, + FILECOUNT BIGINT UNSIGNED, + FILESIZE BIGINT UNSIGNED, + SEGCOUNT BIGINT UNSIGNED, + SEGSIZE BIGINT UNSIGNED, + SEG2COUNT BIGINT UNSIGNED, + SEG2SIZE BIGINT UNSIGNED, + CONSTRAINT USAGESTATS_GID_TS_PK PRIMARY KEY (GID, TIMESTAMP) +); +CREATE TABLE EXPERIMENTS ( + NAME VARCHAR(20), + GID INT UNSIGNED CONSTRAINT EXPERIMENTS_GID_PK PRIMARY KEY +); +INSERT INTO CTA_CATALOGUE( + SCHEMA_VERSION_MAJOR, + SCHEMA_VERSION_MINOR, + STATUS) +VALUES( + 1, + 2, + 'PRODUCTION'); +ALTER TABLE CTA_CATALOGUE ADD CONSTRAINT + CATALOGUE_STATUS_CONTENT_CK CHECK((NEXT_SCHEMA_VERSION_MAJOR IS NULL AND NEXT_SCHEMA_VERSION_MINOR IS NULL AND STATUS='PRODUCTION') OR (STATUS='UPGRADING')); \ No newline at end of file diff --git a/catalogue/1.2/oracle_catalogue_schema.sql b/catalogue/1.2/oracle_catalogue_schema.sql new file mode 100644 index 0000000000..6a2c522cd8 --- /dev/null +++ b/catalogue/1.2/oracle_catalogue_schema.sql @@ -0,0 +1,326 @@ +CREATE SEQUENCE ARCHIVE_FILE_ID_SEQ + INCREMENT BY 1 + START WITH 4294967296 + NOMAXVALUE + MINVALUE 1 + NOCYCLE + CACHE 20 + NOORDER; +CREATE SEQUENCE LOGICAL_LIBRARY_ID_SEQ + INCREMENT BY 1 + START WITH 4294967296 + NOMAXVALUE + MINVALUE 1 + NOCYCLE + CACHE 20 + NOORDER; +CREATE SEQUENCE STORAGE_CLASS_ID_SEQ + INCREMENT BY 1 + START WITH 4294967296 + NOMAXVALUE + MINVALUE 1 + NOCYCLE + CACHE 20 + NOORDER; +CREATE SEQUENCE TAPE_POOL_ID_SEQ + INCREMENT BY 1 + START WITH 4294967296 + NOMAXVALUE + MINVALUE 1 + NOCYCLE + CACHE 20 + NOORDER; +CREATE GLOBAL TEMPORARY TABLE TEMP_TAPE_FILE_INSERTION_BATCH( + VID VARCHAR2(100), + FSEQ NUMERIC(20, 0) , + BLOCK_ID NUMERIC(20, 0) , + LOGICAL_SIZE_IN_BYTES NUMERIC(20, 0) , + COPY_NB NUMERIC(3, 0) , + CREATION_TIME NUMERIC(20, 0) , + ARCHIVE_FILE_ID NUMERIC(20, 0) +) +ON COMMIT DELETE ROWS; +CREATE INDEX TEMP_T_F_I_B_AFI_IDX ON TEMP_TAPE_FILE_INSERTION_BATCH(ARCHIVE_FILE_ID); +CREATE TABLE CTA_CATALOGUE( + SCHEMA_VERSION_MAJOR NUMERIC(20, 0) CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL, + SCHEMA_VERSION_MINOR NUMERIC(20, 0) CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL, + NEXT_SCHEMA_VERSION_MAJOR NUMERIC(20, 0), + NEXT_SCHEMA_VERSION_MINOR NUMERIC(20, 0), + STATUS VARCHAR2(100) +); +CREATE TABLE ADMIN_USER( + ADMIN_USER_NAME VARCHAR2(100) CONSTRAINT ADMIN_USER_AUN_NN NOT NULL, + USER_COMMENT VARCHAR2(1000) CONSTRAINT ADMIN_USER_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR2(100) CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR2(100) CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL, + CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT ADMIN_USER_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR2(100) CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR2(100) CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL, + LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT ADMIN_USER_LUT_NN NOT NULL, + CONSTRAINT ADMIN_USER_PK PRIMARY KEY(ADMIN_USER_NAME) +); +CREATE TABLE DISK_SYSTEM( + DISK_SYSTEM_NAME VARCHAR2(100) CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL, + FILE_REGEXP VARCHAR2(100) CONSTRAINT DISK_SYSTEM_FR_NN NOT NULL, + FREE_SPACE_QUERY_URL VARCHAR2(1000) CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL, + REFRESH_INTERVAL NUMERIC(20, 0) CONSTRAINT DISK_SYSTEM_RI_NN NOT NULL, + TARGETED_FREE_SPACE NUMERIC(20, 0) CONSTRAINT DISK_SYSTEM_TFS_NN NOT NULL, + SLEEP_TIME NUMERIC(20, 0) CONSTRAINT DISK_SYSTEM_ST_NN NOT NULL, + USER_COMMENT VARCHAR2(1000) CONSTRAINT DISK_SYSTEM_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR2(100) CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR2(100) CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL, + CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT DISK_SYSTEM_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR2(100) CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR2(100) CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL, + LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT DISK_SYSTEM_LUT_NN NOT NULL, + CONSTRAINT NAME_PK PRIMARY KEY(DISK_SYSTEM_NAME) +); +CREATE TABLE STORAGE_CLASS( + STORAGE_CLASS_ID NUMERIC(20, 0) CONSTRAINT STORAGE_CLASS_SCI_NN NOT NULL, + DISK_INSTANCE_NAME VARCHAR2(100) CONSTRAINT STORAGE_CLASS_DIN_NN NOT NULL, + STORAGE_CLASS_NAME VARCHAR2(100) CONSTRAINT STORAGE_CLASS_SCN_NN NOT NULL, + NB_COPIES NUMERIC(3, 0) CONSTRAINT STORAGE_CLASS_NC_NN NOT NULL, + USER_COMMENT VARCHAR2(1000) CONSTRAINT STORAGE_CLASS_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR2(100) CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR2(100) CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL, + CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT STORAGE_CLASS_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR2(100) CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR2(100) CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL, + LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT STORAGE_CLASS_LUT_NN NOT NULL, + CONSTRAINT STORAGE_CLASS_PK PRIMARY KEY(STORAGE_CLASS_ID), + CONSTRAINT STORAGE_CLASS_SCN_UN UNIQUE(STORAGE_CLASS_NAME) +); +CREATE TABLE TAPE_POOL( + TAPE_POOL_ID NUMERIC(20, 0) CONSTRAINT TAPE_POOL_TPI_NN NOT NULL, + TAPE_POOL_NAME VARCHAR2(100) CONSTRAINT TAPE_POOL_TPN_NN NOT NULL, + VO VARCHAR2(100) CONSTRAINT TAPE_POOL_VO_NN NOT NULL, + NB_PARTIAL_TAPES NUMERIC(20, 0) CONSTRAINT TAPE_POOL_NPT_NN NOT NULL, + IS_ENCRYPTED CHAR(1) CONSTRAINT TAPE_POOL_IE_NN NOT NULL, + SUPPLY VARCHAR2(100), + USER_COMMENT VARCHAR2(1000) CONSTRAINT TAPE_POOL_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR2(100) CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR2(100) CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL, + CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT TAPE_POOL_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR2(100) CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR2(100) CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL, + LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT TAPE_POOL_LUT_NN NOT NULL, + CONSTRAINT TAPE_POOL_PK PRIMARY KEY(TAPE_POOL_ID), + CONSTRAINT TAPE_POOL_TPN_UN UNIQUE(TAPE_POOL_NAME), + CONSTRAINT TAPE_POOL_IS_ENCRYPTED_BOOL_CK CHECK(IS_ENCRYPTED IN ('0', '1')) +); +CREATE TABLE ARCHIVE_ROUTE( + STORAGE_CLASS_ID NUMERIC(20, 0) CONSTRAINT ARCHIVE_ROUTE_SCI_NN NOT NULL, + COPY_NB NUMERIC(3, 0) CONSTRAINT ARCHIVE_ROUTE_CN_NN NOT NULL, + TAPE_POOL_ID NUMERIC(20, 0) CONSTRAINT ARCHIVE_ROUTE_TPI_NN NOT NULL, + USER_COMMENT VARCHAR2(1000) CONSTRAINT ARCHIVE_ROUTE_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR2(100) CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR2(100) CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL, + CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT ARCHIVE_ROUTE_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR2(100) CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR2(100) CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL, + LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT ARCHIVE_ROUTE_LUT_NN NOT NULL, + CONSTRAINT ARCHIVE_ROUTE_PK PRIMARY KEY(STORAGE_CLASS_ID, COPY_NB), + CONSTRAINT ARCHIVE_ROUTE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID), + CONSTRAINT ARCHIVE_ROUTE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID), + CONSTRAINT ARCHIVE_ROUTE_COPY_NB_GT_0_CK CHECK(COPY_NB > 0), + CONSTRAINT ARCHIVE_ROUTE_SCI_TPI_UN UNIQUE(STORAGE_CLASS_ID, TAPE_POOL_ID) +); +CREATE TABLE LOGICAL_LIBRARY( + LOGICAL_LIBRARY_ID NUMERIC(20, 0) CONSTRAINT LOGICAL_LIBRARY_LLI_NN NOT NULL, + LOGICAL_LIBRARY_NAME VARCHAR2(100) CONSTRAINT LOGICAL_LIBRARY_LLN_NN NOT NULL, + IS_DISABLED CHAR(1) DEFAULT '0' CONSTRAINT LOGICAL_LIBRARY_ID_NN NOT NULL, + USER_COMMENT VARCHAR2(1000) CONSTRAINT LOGICAL_LIBRARY_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR2(100) CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR2(100) CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL, + CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT LOGICAL_LIBRARY_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR2(100) CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR2(100) CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL, + LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT LOGICAL_LIBRARY_LUT_NN NOT NULL, + CONSTRAINT LOGICAL_LIBRARY_PK PRIMARY KEY(LOGICAL_LIBRARY_ID), + CONSTRAINT LOGICAL_LIBRARY_LLN_UN UNIQUE(LOGICAL_LIBRARY_NAME), + CONSTRAINT LOGICAL_LIBRARY_ID_BOOL_CK CHECK(IS_DISABLED IN ('0', '1')) +); +CREATE TABLE TAPE( + VID VARCHAR2(100) CONSTRAINT TAPE_V_NN NOT NULL, + MEDIA_TYPE VARCHAR2(100) CONSTRAINT TAPE_MT_NN NOT NULL, + VENDOR VARCHAR2(100) CONSTRAINT TAPE_V2_NN NOT NULL, + LOGICAL_LIBRARY_ID NUMERIC(20, 0) CONSTRAINT TAPE_LLI_NN NOT NULL, + TAPE_POOL_ID NUMERIC(20, 0) CONSTRAINT TAPE_TPI_NN NOT NULL, + ENCRYPTION_KEY_NAME VARCHAR2(100), + CAPACITY_IN_BYTES NUMERIC(20, 0) CONSTRAINT TAPE_CIB_NN NOT NULL, + DATA_IN_BYTES NUMERIC(20, 0) CONSTRAINT TAPE_DIB_NN NOT NULL, + LAST_FSEQ NUMERIC(20, 0) CONSTRAINT TAPE_LF_NN NOT NULL, + NB_MASTER_FILES NUMERIC(20, 0) DEFAULT 0 CONSTRAINT TAPE_NB_MASTER_FILES_NN NOT NULL, + MASTER_DATA_IN_BYTES NUMERIC(20, 0) DEFAULT 0 CONSTRAINT TAPE_MASTER_DATA_IN_BYTES_NN NOT NULL, + IS_DISABLED CHAR(1) CONSTRAINT TAPE_ID_NN NOT NULL, + IS_FULL CHAR(1) CONSTRAINT TAPE_IF_NN NOT NULL, + IS_READ_ONLY CHAR(1) CONSTRAINT TAPE_IRO_NN NOT NULL, + IS_FROM_CASTOR CHAR(1) CONSTRAINT TAPE_IFC_NN NOT NULL, + IS_ARCHIVED CHAR(1) DEFAULT '0' CONSTRAINT TAPE_IA_NN NOT NULL, + IS_EXPORTED CHAR(1) DEFAULT '0' CONSTRAINT TAPE_IE_NN NOT NULL, + DIRTY CHAR(1) DEFAULT '1' CONSTRAINT TAPE_DIRTY_NN NOT NULL, + LABEL_DRIVE VARCHAR2(100), + LABEL_TIME NUMERIC(20, 0) , + LAST_READ_DRIVE VARCHAR2(100), + LAST_READ_TIME NUMERIC(20, 0) , + LAST_WRITE_DRIVE VARCHAR2(100), + LAST_WRITE_TIME NUMERIC(20, 0) , + READ_MOUNT_COUNT NUMERIC(20, 0) DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL, + WRITE_MOUNT_COUNT NUMERIC(20, 0) DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL, + USER_COMMENT VARCHAR2(1000) CONSTRAINT TAPE_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR2(100) CONSTRAINT TAPE_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR2(100) CONSTRAINT TAPE_CLHN_NN NOT NULL, + CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT TAPE_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR2(100) CONSTRAINT TAPE_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR2(100) CONSTRAINT TAPE_LUHN_NN NOT NULL, + LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT TAPE_LUT_NN NOT NULL, + CONSTRAINT TAPE_PK PRIMARY KEY(VID), + CONSTRAINT TAPE_LOGICAL_LIBRARY_FK FOREIGN KEY(LOGICAL_LIBRARY_ID) REFERENCES LOGICAL_LIBRARY(LOGICAL_LIBRARY_ID), + CONSTRAINT TAPE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID), + CONSTRAINT TAPE_IS_DISABLED_BOOL_CK CHECK(IS_DISABLED IN ('0', '1')), + CONSTRAINT TAPE_IS_FULL_BOOL_CK CHECK(IS_FULL IN ('0', '1')), + CONSTRAINT TAPE_IS_READ_ONLY_BOOL_CK CHECK(IS_READ_ONLY IN ('0', '1')), + CONSTRAINT TAPE_IS_FROM_CASTOR_BOOL_CK CHECK(IS_FROM_CASTOR IN ('0', '1')), + CONSTRAINT TAPE_IS_ARCHVIED_BOOL_CK CHECK(IS_ARCHIVED IN ('0', '1')), + CONSTRAINT TAPE_IS_EXPORTED_BOOL_CK CHECK(IS_EXPORTED IN ('0', '1')), + CONSTRAINT TAPE_DIRTY_BOOL_CK CHECK(DIRTY IN ('0','1')) +); +CREATE INDEX TAPE_TAPE_POOL_ID_IDX ON TAPE(TAPE_POOL_ID); +CREATE TABLE MOUNT_POLICY( + MOUNT_POLICY_NAME VARCHAR2(100) CONSTRAINT MOUNT_POLICY_MPN_NN NOT NULL, + ARCHIVE_PRIORITY NUMERIC(20, 0) CONSTRAINT MOUNT_POLICY_AP_NN NOT NULL, + ARCHIVE_MIN_REQUEST_AGE NUMERIC(20, 0) CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL, + RETRIEVE_PRIORITY NUMERIC(20, 0) CONSTRAINT MOUNT_POLICY_RP_NN NOT NULL, + RETRIEVE_MIN_REQUEST_AGE NUMERIC(20, 0) CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL, + MAX_DRIVES_ALLOWED NUMERIC(20, 0) CONSTRAINT MOUNT_POLICY_MDA_NN NOT NULL, + USER_COMMENT VARCHAR2(1000) CONSTRAINT MOUNT_POLICY_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR2(100) CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR2(100) CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL, + CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT MOUNT_POLICY_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR2(100) CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR2(100) CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL, + LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT MOUNT_POLICY_LUT_NN NOT NULL, + CONSTRAINT MOUNT_POLICY_PK PRIMARY KEY(MOUNT_POLICY_NAME) +); +CREATE TABLE REQUESTER_MOUNT_RULE( + DISK_INSTANCE_NAME VARCHAR2(100) CONSTRAINT RQSTER_RULE_DIN_NN NOT NULL, + REQUESTER_NAME VARCHAR2(100) CONSTRAINT RQSTER_RULE_RN_NN NOT NULL, + MOUNT_POLICY_NAME VARCHAR2(100) CONSTRAINT RQSTER_RULE_MPN_NN NOT NULL, + USER_COMMENT VARCHAR2(1000) CONSTRAINT RQSTER_RULE_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR2(100) CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR2(100) CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL, + CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT RQSTER_RULE_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR2(100) CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR2(100) CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL, + LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT RQSTER_RULE_LUT_NN NOT NULL, + CONSTRAINT RQSTER_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_NAME), + CONSTRAINT RQSTER_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME) + REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME) +); +CREATE TABLE REQUESTER_GROUP_MOUNT_RULE( + DISK_INSTANCE_NAME VARCHAR2(100) CONSTRAINT RQSTER_GRP_RULE_DIN_NN NOT NULL, + REQUESTER_GROUP_NAME VARCHAR2(100) CONSTRAINT RQSTER_GRP_RULE_RGN_NN NOT NULL, + MOUNT_POLICY_NAME VARCHAR2(100) CONSTRAINT RQSTER_GRP_RULE_MPN_NN NOT NULL, + USER_COMMENT VARCHAR2(1000) CONSTRAINT RQSTER_GRP_RULE_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR2(100) CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR2(100) CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL, + CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT RQSTER_GRP_RULE_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR2(100) CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR2(100) CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL, + LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT RQSTER_GRP_RULE_LUT_NN NOT NULL, + CONSTRAINT RQSTER_GRP_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_GROUP_NAME), + CONSTRAINT RQSTER_GRP_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME) + REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME) +); +CREATE TABLE ARCHIVE_FILE( + ARCHIVE_FILE_ID NUMERIC(20, 0) CONSTRAINT ARCHIVE_FILE_AFI_NN NOT NULL, + DISK_INSTANCE_NAME VARCHAR2(100) CONSTRAINT ARCHIVE_FILE_DIN_NN NOT NULL, + DISK_FILE_ID VARCHAR2(100) CONSTRAINT ARCHIVE_FILE_DFI_NN NOT NULL, + DISK_FILE_PATH VARCHAR2(2000) CONSTRAINT ARCHIVE_FILE_DFP_NN NOT NULL, + DISK_FILE_UID NUMERIC(10, 0) CONSTRAINT ARCHIVE_FILE_DFUID_NN NOT NULL, + DISK_FILE_GID NUMERIC(10, 0) CONSTRAINT ARCHIVE_FILE_DFGID_NN NOT NULL, + SIZE_IN_BYTES NUMERIC(20, 0) CONSTRAINT ARCHIVE_FILE_SIB_NN NOT NULL, + CHECKSUM_BLOB RAW(200), + CHECKSUM_ADLER32 NUMERIC(10, 0) CONSTRAINT ARCHIVE_FILE_CB2_NN NOT NULL, + STORAGE_CLASS_ID NUMERIC(20, 0) CONSTRAINT ARCHIVE_FILE_SCI_NN NOT NULL, + CREATION_TIME NUMERIC(20, 0) CONSTRAINT ARCHIVE_FILE_CT2_NN NOT NULL, + RECONCILIATION_TIME NUMERIC(20, 0) CONSTRAINT ARCHIVE_FILE_RT_NN NOT NULL, + IS_DELETED CHAR(1) DEFAULT '0' CONSTRAINT ARCHIVE_FILE_ID_NN NOT NULL, + COLLOCATION_HINT VARCHAR2(100), + CONSTRAINT ARCHIVE_FILE_PK PRIMARY KEY(ARCHIVE_FILE_ID), + CONSTRAINT ARCHIVE_FILE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID), + CONSTRAINT ARCHIVE_FILE_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID), + CONSTRAINT ARCHIVE_FILE_ID_BOOL_CK CHECK(IS_DELETED IN ('0', '1')) +); +CREATE INDEX ARCHIVE_FILE_DIN_DFP_IDX ON ARCHIVE_FILE(DISK_INSTANCE_NAME, DISK_FILE_PATH); +CREATE INDEX ARCHIVE_FILE_DFI_IDX ON ARCHIVE_FILE(DISK_FILE_ID); +CREATE TABLE TAPE_FILE( + VID VARCHAR2(100) CONSTRAINT TAPE_FILE_V_NN NOT NULL, + FSEQ NUMERIC(20, 0) CONSTRAINT TAPE_FILE_F_NN NOT NULL, + BLOCK_ID NUMERIC(20, 0) CONSTRAINT TAPE_FILE_BI_NN NOT NULL, + LOGICAL_SIZE_IN_BYTES NUMERIC(20, 0) CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL, + COPY_NB NUMERIC(3, 0) CONSTRAINT TAPE_FILE_CN_NN NOT NULL, + CREATION_TIME NUMERIC(20, 0) CONSTRAINT TAPE_FILE_CT_NN NOT NULL, + ARCHIVE_FILE_ID NUMERIC(20, 0) CONSTRAINT TAPE_FILE_AFI_NN NOT NULL, + SUPERSEDED_BY_VID VARCHAR2(100), + SUPERSEDED_BY_FSEQ NUMERIC(20, 0) , + WRITE_START_WRAP NUMERIC(5, 0), + WRITE_START_LPOS NUMERIC(10, 0), + WRITE_END_WRAP NUMERIC(5, 0), + WRITE_END_LPOS NUMERIC(10, 0), + READ_START_WRAP NUMERIC(5, 0), + READ_START_LPOS NUMERIC(10, 0), + READ_END_WRAP NUMERIC(5, 0), + READ_END_LPOS NUMERIC(10, 0), + CONSTRAINT TAPE_FILE_PK PRIMARY KEY(VID, FSEQ), + CONSTRAINT TAPE_FILE_TAPE_FK FOREIGN KEY(VID) + REFERENCES TAPE(VID), + CONSTRAINT TAPE_FILE_ARCHIVE_FILE_FK FOREIGN KEY(ARCHIVE_FILE_ID) + REFERENCES ARCHIVE_FILE(ARCHIVE_FILE_ID), + CONSTRAINT TAPE_FILE_VID_BLOCK_ID_UN UNIQUE(VID, BLOCK_ID), + CONSTRAINT TAPE_FILE_COPY_NB_GT_0_CK CHECK(COPY_NB > 0), + CONSTRAINT TAPE_FILE_SS_VID_FSEQ_FK FOREIGN KEY(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ) + REFERENCES TAPE_FILE(VID, FSEQ) +); +CREATE INDEX TAPE_FILE_VID_IDX ON TAPE_FILE(VID); +CREATE INDEX TAPE_FILE_ARCHIVE_FILE_ID_IDX ON TAPE_FILE(ARCHIVE_FILE_ID); +CREATE INDEX TAPE_FILE_SBV_SBF_IDX ON TAPE_FILE(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ); +CREATE TABLE ACTIVITIES_WEIGHTS ( + DISK_INSTANCE_NAME VARCHAR2(100), + ACTIVITY VARCHAR2(100), + WEIGHT VARCHAR2(100), + USER_COMMENT VARCHAR2(1000) CONSTRAINT ACTIV_WEIGHTS_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR2(100) CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR2(100) CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL, + CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT ACTIV_WEIGHTS_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR2(100) CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR2(100) CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL, + LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT ACTIV_WEIGHTS_LUT_NN NOT NULL +); +CREATE TABLE USAGESTATS ( + GID NUMERIC(10, 0) DEFAULT 0 CONSTRAINT USAGESTATS_GID_NN NOT NULL, + TIMESTAMP NUMERIC(20, 0) DEFAULT 0 CONSTRAINT USAGESTATS_TS_NN NOT NULL, + MAXFILEID NUMERIC(20, 0), + FILECOUNT NUMERIC(20, 0), + FILESIZE NUMERIC(20, 0), + SEGCOUNT NUMERIC(20, 0), + SEGSIZE NUMERIC(20, 0), + SEG2COUNT NUMERIC(20, 0), + SEG2SIZE NUMERIC(20, 0), + CONSTRAINT USAGESTATS_GID_TS_PK PRIMARY KEY (GID, TIMESTAMP) +); +CREATE TABLE EXPERIMENTS ( + NAME VARCHAR2(20), + GID NUMERIC(10, 0) CONSTRAINT EXPERIMENTS_GID_PK PRIMARY KEY +); +INSERT INTO CTA_CATALOGUE( + SCHEMA_VERSION_MAJOR, + SCHEMA_VERSION_MINOR, + STATUS) +VALUES( + 1, + 2, + 'PRODUCTION'); +ALTER TABLE CTA_CATALOGUE ADD CONSTRAINT CATALOGUE_STATUS_CONTENT_CK CHECK((NEXT_SCHEMA_VERSION_MAJOR IS NULL AND NEXT_SCHEMA_VERSION_MINOR IS NULL AND STATUS='PRODUCTION') OR (NEXT_SCHEMA_VERSION_MAJOR IS NOT NULL AND NEXT_SCHEMA_VERSION_MINOR IS NOT NULL AND STATUS='UPGRADING')) INITIALLY DEFERRED; + +COMMIT; diff --git a/catalogue/1.2/postgres_catalogue_schema.sql b/catalogue/1.2/postgres_catalogue_schema.sql new file mode 100644 index 0000000000..9451424e65 --- /dev/null +++ b/catalogue/1.2/postgres_catalogue_schema.sql @@ -0,0 +1,314 @@ +CREATE SEQUENCE ARCHIVE_FILE_ID_SEQ + INCREMENT BY 1 + START WITH 1 + NO MAXVALUE + MINVALUE 1 + NO CYCLE + CACHE 20; +CREATE SEQUENCE LOGICAL_LIBRARY_ID_SEQ + INCREMENT BY 1 + START WITH 1 + NO MAXVALUE + MINVALUE 1 + NO CYCLE + CACHE 20; +CREATE SEQUENCE STORAGE_CLASS_ID_SEQ + INCREMENT BY 1 + START WITH 1 + NO MAXVALUE + MINVALUE 1 + NO CYCLE + CACHE 20; +CREATE SEQUENCE TAPE_POOL_ID_SEQ + INCREMENT BY 1 + START WITH 1 + NO MAXVALUE + MINVALUE 1 + NO CYCLE + CACHE 20; +CREATE TABLE CTA_CATALOGUE( + SCHEMA_VERSION_MAJOR NUMERIC(20, 0) CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL, + SCHEMA_VERSION_MINOR NUMERIC(20, 0) CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL, + NEXT_SCHEMA_VERSION_MAJOR NUMERIC(20, 0), + NEXT_SCHEMA_VERSION_MINOR NUMERIC(20, 0), + STATUS VARCHAR(100) +); +CREATE TABLE ADMIN_USER( + ADMIN_USER_NAME VARCHAR(100) CONSTRAINT ADMIN_USER_AUN_NN NOT NULL, + USER_COMMENT VARCHAR(1000) CONSTRAINT ADMIN_USER_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL, + CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT ADMIN_USER_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL, + LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT ADMIN_USER_LUT_NN NOT NULL, + CONSTRAINT ADMIN_USER_PK PRIMARY KEY(ADMIN_USER_NAME) +); +CREATE TABLE DISK_SYSTEM( + DISK_SYSTEM_NAME VARCHAR(100) CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL, + FILE_REGEXP VARCHAR(100) CONSTRAINT DISK_SYSTEM_FR_NN NOT NULL, + FREE_SPACE_QUERY_URL VARCHAR(1000) CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL, + REFRESH_INTERVAL NUMERIC(20, 0) CONSTRAINT DISK_SYSTEM_RI_NN NOT NULL, + TARGETED_FREE_SPACE NUMERIC(20, 0) CONSTRAINT DISK_SYSTEM_TFS_NN NOT NULL, + SLEEP_TIME NUMERIC(20, 0) CONSTRAINT DISK_SYSTEM_ST_NN NOT NULL, + USER_COMMENT VARCHAR(1000) CONSTRAINT DISK_SYSTEM_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL, + CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT DISK_SYSTEM_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL, + LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT DISK_SYSTEM_LUT_NN NOT NULL, + CONSTRAINT NAME_PK PRIMARY KEY(DISK_SYSTEM_NAME) +); +CREATE TABLE STORAGE_CLASS( + STORAGE_CLASS_ID NUMERIC(20, 0) CONSTRAINT STORAGE_CLASS_SCI_NN NOT NULL, + DISK_INSTANCE_NAME VARCHAR(100) CONSTRAINT STORAGE_CLASS_DIN_NN NOT NULL, + STORAGE_CLASS_NAME VARCHAR(100) CONSTRAINT STORAGE_CLASS_SCN_NN NOT NULL, + NB_COPIES NUMERIC(3, 0) CONSTRAINT STORAGE_CLASS_NC_NN NOT NULL, + USER_COMMENT VARCHAR(1000) CONSTRAINT STORAGE_CLASS_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL, + CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT STORAGE_CLASS_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL, + LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT STORAGE_CLASS_LUT_NN NOT NULL, + CONSTRAINT STORAGE_CLASS_PK PRIMARY KEY(STORAGE_CLASS_ID), + CONSTRAINT STORAGE_CLASS_SCN_UN UNIQUE(STORAGE_CLASS_NAME) +); +CREATE TABLE TAPE_POOL( + TAPE_POOL_ID NUMERIC(20, 0) CONSTRAINT TAPE_POOL_TPI_NN NOT NULL, + TAPE_POOL_NAME VARCHAR(100) CONSTRAINT TAPE_POOL_TPN_NN NOT NULL, + VO VARCHAR(100) CONSTRAINT TAPE_POOL_VO_NN NOT NULL, + NB_PARTIAL_TAPES NUMERIC(20, 0) CONSTRAINT TAPE_POOL_NPT_NN NOT NULL, + IS_ENCRYPTED CHAR(1) CONSTRAINT TAPE_POOL_IE_NN NOT NULL, + SUPPLY VARCHAR(100), + USER_COMMENT VARCHAR(1000) CONSTRAINT TAPE_POOL_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL, + CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT TAPE_POOL_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL, + LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT TAPE_POOL_LUT_NN NOT NULL, + CONSTRAINT TAPE_POOL_PK PRIMARY KEY(TAPE_POOL_ID), + CONSTRAINT TAPE_POOL_TPN_UN UNIQUE(TAPE_POOL_NAME), + CONSTRAINT TAPE_POOL_IS_ENCRYPTED_BOOL_CK CHECK(IS_ENCRYPTED IN ('0', '1')) +); +CREATE TABLE ARCHIVE_ROUTE( + STORAGE_CLASS_ID NUMERIC(20, 0) CONSTRAINT ARCHIVE_ROUTE_SCI_NN NOT NULL, + COPY_NB NUMERIC(3, 0) CONSTRAINT ARCHIVE_ROUTE_CN_NN NOT NULL, + TAPE_POOL_ID NUMERIC(20, 0) CONSTRAINT ARCHIVE_ROUTE_TPI_NN NOT NULL, + USER_COMMENT VARCHAR(1000) CONSTRAINT ARCHIVE_ROUTE_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL, + CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT ARCHIVE_ROUTE_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL, + LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT ARCHIVE_ROUTE_LUT_NN NOT NULL, + CONSTRAINT ARCHIVE_ROUTE_PK PRIMARY KEY(STORAGE_CLASS_ID, COPY_NB), + CONSTRAINT ARCHIVE_ROUTE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID), + CONSTRAINT ARCHIVE_ROUTE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID), + CONSTRAINT ARCHIVE_ROUTE_COPY_NB_GT_0_CK CHECK(COPY_NB > 0), + CONSTRAINT ARCHIVE_ROUTE_SCI_TPI_UN UNIQUE(STORAGE_CLASS_ID, TAPE_POOL_ID) +); +CREATE TABLE LOGICAL_LIBRARY( + LOGICAL_LIBRARY_ID NUMERIC(20, 0) CONSTRAINT LOGICAL_LIBRARY_LLI_NN NOT NULL, + LOGICAL_LIBRARY_NAME VARCHAR(100) CONSTRAINT LOGICAL_LIBRARY_LLN_NN NOT NULL, + IS_DISABLED CHAR(1) DEFAULT '0' CONSTRAINT LOGICAL_LIBRARY_ID_NN NOT NULL, + USER_COMMENT VARCHAR(1000) CONSTRAINT LOGICAL_LIBRARY_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL, + CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT LOGICAL_LIBRARY_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL, + LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT LOGICAL_LIBRARY_LUT_NN NOT NULL, + CONSTRAINT LOGICAL_LIBRARY_PK PRIMARY KEY(LOGICAL_LIBRARY_ID), + CONSTRAINT LOGICAL_LIBRARY_LLN_UN UNIQUE(LOGICAL_LIBRARY_NAME), + CONSTRAINT LOGICAL_LIBRARY_ID_BOOL_CK CHECK(IS_DISABLED IN ('0', '1')) +); +CREATE TABLE TAPE( + VID VARCHAR(100) CONSTRAINT TAPE_V_NN NOT NULL, + MEDIA_TYPE VARCHAR(100) CONSTRAINT TAPE_MT_NN NOT NULL, + VENDOR VARCHAR(100) CONSTRAINT TAPE_V2_NN NOT NULL, + LOGICAL_LIBRARY_ID NUMERIC(20, 0) CONSTRAINT TAPE_LLI_NN NOT NULL, + TAPE_POOL_ID NUMERIC(20, 0) CONSTRAINT TAPE_TPI_NN NOT NULL, + ENCRYPTION_KEY_NAME VARCHAR(100), + CAPACITY_IN_BYTES NUMERIC(20, 0) CONSTRAINT TAPE_CIB_NN NOT NULL, + DATA_IN_BYTES NUMERIC(20, 0) CONSTRAINT TAPE_DIB_NN NOT NULL, + LAST_FSEQ NUMERIC(20, 0) CONSTRAINT TAPE_LF_NN NOT NULL, + NB_MASTER_FILES NUMERIC(20, 0) DEFAULT 0 CONSTRAINT TAPE_NB_MASTER_FILES_NN NOT NULL, + MASTER_DATA_IN_BYTES NUMERIC(20, 0) DEFAULT 0 CONSTRAINT TAPE_MASTER_DATA_IN_BYTES_NN NOT NULL, + IS_DISABLED CHAR(1) CONSTRAINT TAPE_ID_NN NOT NULL, + IS_FULL CHAR(1) CONSTRAINT TAPE_IF_NN NOT NULL, + IS_READ_ONLY CHAR(1) CONSTRAINT TAPE_IRO_NN NOT NULL, + IS_FROM_CASTOR CHAR(1) CONSTRAINT TAPE_IFC_NN NOT NULL, + IS_ARCHIVED CHAR(1) DEFAULT '0' CONSTRAINT TAPE_IA_NN NOT NULL, + IS_EXPORTED CHAR(1) DEFAULT '0' CONSTRAINT TAPE_IE_NN NOT NULL, + DIRTY CHAR(1) DEFAULT '1' CONSTRAINT TAPE_DIRTY_NN NOT NULL, + LABEL_DRIVE VARCHAR(100), + LABEL_TIME NUMERIC(20, 0) , + LAST_READ_DRIVE VARCHAR(100), + LAST_READ_TIME NUMERIC(20, 0) , + LAST_WRITE_DRIVE VARCHAR(100), + LAST_WRITE_TIME NUMERIC(20, 0) , + READ_MOUNT_COUNT NUMERIC(20, 0) DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL, + WRITE_MOUNT_COUNT NUMERIC(20, 0) DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL, + USER_COMMENT VARCHAR(1000) CONSTRAINT TAPE_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT TAPE_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT TAPE_CLHN_NN NOT NULL, + CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT TAPE_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT TAPE_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT TAPE_LUHN_NN NOT NULL, + LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT TAPE_LUT_NN NOT NULL, + CONSTRAINT TAPE_PK PRIMARY KEY(VID), + CONSTRAINT TAPE_LOGICAL_LIBRARY_FK FOREIGN KEY(LOGICAL_LIBRARY_ID) REFERENCES LOGICAL_LIBRARY(LOGICAL_LIBRARY_ID), + CONSTRAINT TAPE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID), + CONSTRAINT TAPE_IS_DISABLED_BOOL_CK CHECK(IS_DISABLED IN ('0', '1')), + CONSTRAINT TAPE_IS_FULL_BOOL_CK CHECK(IS_FULL IN ('0', '1')), + CONSTRAINT TAPE_IS_READ_ONLY_BOOL_CK CHECK(IS_READ_ONLY IN ('0', '1')), + CONSTRAINT TAPE_IS_FROM_CASTOR_BOOL_CK CHECK(IS_FROM_CASTOR IN ('0', '1')), + CONSTRAINT TAPE_IS_ARCHVIED_BOOL_CK CHECK(IS_ARCHIVED IN ('0', '1')), + CONSTRAINT TAPE_IS_EXPORTED_BOOL_CK CHECK(IS_EXPORTED IN ('0', '1')), + CONSTRAINT TAPE_DIRTY_BOOL_CK CHECK(DIRTY IN ('0','1')) +); +CREATE INDEX TAPE_TAPE_POOL_ID_IDX ON TAPE(TAPE_POOL_ID); +CREATE TABLE MOUNT_POLICY( + MOUNT_POLICY_NAME VARCHAR(100) CONSTRAINT MOUNT_POLICY_MPN_NN NOT NULL, + ARCHIVE_PRIORITY NUMERIC(20, 0) CONSTRAINT MOUNT_POLICY_AP_NN NOT NULL, + ARCHIVE_MIN_REQUEST_AGE NUMERIC(20, 0) CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL, + RETRIEVE_PRIORITY NUMERIC(20, 0) CONSTRAINT MOUNT_POLICY_RP_NN NOT NULL, + RETRIEVE_MIN_REQUEST_AGE NUMERIC(20, 0) CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL, + MAX_DRIVES_ALLOWED NUMERIC(20, 0) CONSTRAINT MOUNT_POLICY_MDA_NN NOT NULL, + USER_COMMENT VARCHAR(1000) CONSTRAINT MOUNT_POLICY_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL, + CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT MOUNT_POLICY_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL, + LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT MOUNT_POLICY_LUT_NN NOT NULL, + CONSTRAINT MOUNT_POLICY_PK PRIMARY KEY(MOUNT_POLICY_NAME) +); +CREATE TABLE REQUESTER_MOUNT_RULE( + DISK_INSTANCE_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_DIN_NN NOT NULL, + REQUESTER_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_RN_NN NOT NULL, + MOUNT_POLICY_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_MPN_NN NOT NULL, + USER_COMMENT VARCHAR(1000) CONSTRAINT RQSTER_RULE_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL, + CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT RQSTER_RULE_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL, + LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT RQSTER_RULE_LUT_NN NOT NULL, + CONSTRAINT RQSTER_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_NAME), + CONSTRAINT RQSTER_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME) + REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME) +); +CREATE TABLE REQUESTER_GROUP_MOUNT_RULE( + DISK_INSTANCE_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_DIN_NN NOT NULL, + REQUESTER_GROUP_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_RGN_NN NOT NULL, + MOUNT_POLICY_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_MPN_NN NOT NULL, + USER_COMMENT VARCHAR(1000) CONSTRAINT RQSTER_GRP_RULE_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL, + CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT RQSTER_GRP_RULE_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL, + LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT RQSTER_GRP_RULE_LUT_NN NOT NULL, + CONSTRAINT RQSTER_GRP_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_GROUP_NAME), + CONSTRAINT RQSTER_GRP_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME) + REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME) +); +CREATE TABLE ARCHIVE_FILE( + ARCHIVE_FILE_ID NUMERIC(20, 0) CONSTRAINT ARCHIVE_FILE_AFI_NN NOT NULL, + DISK_INSTANCE_NAME VARCHAR(100) CONSTRAINT ARCHIVE_FILE_DIN_NN NOT NULL, + DISK_FILE_ID VARCHAR(100) CONSTRAINT ARCHIVE_FILE_DFI_NN NOT NULL, + DISK_FILE_PATH VARCHAR(2000) CONSTRAINT ARCHIVE_FILE_DFP_NN NOT NULL, + DISK_FILE_UID NUMERIC(10, 0) CONSTRAINT ARCHIVE_FILE_DFUID_NN NOT NULL, + DISK_FILE_GID NUMERIC(10, 0) CONSTRAINT ARCHIVE_FILE_DFGID_NN NOT NULL, + SIZE_IN_BYTES NUMERIC(20, 0) CONSTRAINT ARCHIVE_FILE_SIB_NN NOT NULL, + CHECKSUM_BLOB BYTEA, + CHECKSUM_ADLER32 NUMERIC(10, 0) CONSTRAINT ARCHIVE_FILE_CB2_NN NOT NULL, + STORAGE_CLASS_ID NUMERIC(20, 0) CONSTRAINT ARCHIVE_FILE_SCI_NN NOT NULL, + CREATION_TIME NUMERIC(20, 0) CONSTRAINT ARCHIVE_FILE_CT2_NN NOT NULL, + RECONCILIATION_TIME NUMERIC(20, 0) CONSTRAINT ARCHIVE_FILE_RT_NN NOT NULL, + IS_DELETED CHAR(1) DEFAULT '0' CONSTRAINT ARCHIVE_FILE_ID_NN NOT NULL, + COLLOCATION_HINT VARCHAR(100), + CONSTRAINT ARCHIVE_FILE_PK PRIMARY KEY(ARCHIVE_FILE_ID), + CONSTRAINT ARCHIVE_FILE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID), + CONSTRAINT ARCHIVE_FILE_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID), + CONSTRAINT ARCHIVE_FILE_ID_BOOL_CK CHECK(IS_DELETED IN ('0', '1')) +); +CREATE INDEX ARCHIVE_FILE_DIN_DFP_IDX ON ARCHIVE_FILE(DISK_INSTANCE_NAME, DISK_FILE_PATH); +CREATE INDEX ARCHIVE_FILE_DFI_IDX ON ARCHIVE_FILE(DISK_FILE_ID); +CREATE TABLE TAPE_FILE( + VID VARCHAR(100) CONSTRAINT TAPE_FILE_V_NN NOT NULL, + FSEQ NUMERIC(20, 0) CONSTRAINT TAPE_FILE_F_NN NOT NULL, + BLOCK_ID NUMERIC(20, 0) CONSTRAINT TAPE_FILE_BI_NN NOT NULL, + LOGICAL_SIZE_IN_BYTES NUMERIC(20, 0) CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL, + COPY_NB NUMERIC(3, 0) CONSTRAINT TAPE_FILE_CN_NN NOT NULL, + CREATION_TIME NUMERIC(20, 0) CONSTRAINT TAPE_FILE_CT_NN NOT NULL, + ARCHIVE_FILE_ID NUMERIC(20, 0) CONSTRAINT TAPE_FILE_AFI_NN NOT NULL, + SUPERSEDED_BY_VID VARCHAR(100), + SUPERSEDED_BY_FSEQ NUMERIC(20, 0) , + WRITE_START_WRAP NUMERIC(5, 0), + WRITE_START_LPOS NUMERIC(10, 0), + WRITE_END_WRAP NUMERIC(5, 0), + WRITE_END_LPOS NUMERIC(10, 0), + READ_START_WRAP NUMERIC(5, 0), + READ_START_LPOS NUMERIC(10, 0), + READ_END_WRAP NUMERIC(5, 0), + READ_END_LPOS NUMERIC(10, 0), + CONSTRAINT TAPE_FILE_PK PRIMARY KEY(VID, FSEQ), + CONSTRAINT TAPE_FILE_TAPE_FK FOREIGN KEY(VID) + REFERENCES TAPE(VID), + CONSTRAINT TAPE_FILE_ARCHIVE_FILE_FK FOREIGN KEY(ARCHIVE_FILE_ID) + REFERENCES ARCHIVE_FILE(ARCHIVE_FILE_ID), + CONSTRAINT TAPE_FILE_VID_BLOCK_ID_UN UNIQUE(VID, BLOCK_ID), + CONSTRAINT TAPE_FILE_COPY_NB_GT_0_CK CHECK(COPY_NB > 0), + CONSTRAINT TAPE_FILE_SS_VID_FSEQ_FK FOREIGN KEY(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ) + REFERENCES TAPE_FILE(VID, FSEQ) +); +CREATE INDEX TAPE_FILE_VID_IDX ON TAPE_FILE(VID); +CREATE INDEX TAPE_FILE_ARCHIVE_FILE_ID_IDX ON TAPE_FILE(ARCHIVE_FILE_ID); +CREATE INDEX TAPE_FILE_SBV_SBF_IDX ON TAPE_FILE(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ); +CREATE TABLE ACTIVITIES_WEIGHTS ( + DISK_INSTANCE_NAME VARCHAR(100), + ACTIVITY VARCHAR(100), + WEIGHT VARCHAR(100), + USER_COMMENT VARCHAR(1000) CONSTRAINT ACTIV_WEIGHTS_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL, + CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT ACTIV_WEIGHTS_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL, + LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT ACTIV_WEIGHTS_LUT_NN NOT NULL +); +CREATE TABLE USAGESTATS ( + GID NUMERIC(10, 0) DEFAULT 0 CONSTRAINT USAGESTATS_GID_NN NOT NULL, + TIMESTAMP NUMERIC(20, 0) DEFAULT 0 CONSTRAINT USAGESTATS_TS_NN NOT NULL, + MAXFILEID NUMERIC(20, 0), + FILECOUNT NUMERIC(20, 0), + FILESIZE NUMERIC(20, 0), + SEGCOUNT NUMERIC(20, 0), + SEGSIZE NUMERIC(20, 0), + SEG2COUNT NUMERIC(20, 0), + SEG2SIZE NUMERIC(20, 0), + CONSTRAINT USAGESTATS_GID_TS_PK PRIMARY KEY (GID, TIMESTAMP) +); +CREATE TABLE EXPERIMENTS ( + NAME VARCHAR(20), + GID NUMERIC(10, 0) CONSTRAINT EXPERIMENTS_GID_PK PRIMARY KEY +); +INSERT INTO CTA_CATALOGUE( + SCHEMA_VERSION_MAJOR, + SCHEMA_VERSION_MINOR, + STATUS) +VALUES( + 1, + 2, + 'PRODUCTION'); +ALTER TABLE ARCHIVE_FILE DROP CONSTRAINT + ARCHIVE_FILE_DIN_DFI_UN; +ALTER TABLE ARCHIVE_FILE ADD CONSTRAINT + ARCHIVE_FILE_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID) DEFERRABLE INITIALLY IMMEDIATE; +ALTER TABLE CTA_CATALOGUE ADD CONSTRAINT + CATALOGUE_STATUS_CONTENT_CK CHECK((NEXT_SCHEMA_VERSION_MAJOR IS NULL AND NEXT_SCHEMA_VERSION_MINOR IS NULL AND STATUS='PRODUCTION') OR (STATUS='UPGRADING')); diff --git a/catalogue/1.2/sqlite_catalogue_schema.sql b/catalogue/1.2/sqlite_catalogue_schema.sql new file mode 100644 index 0000000000..92cda810ff --- /dev/null +++ b/catalogue/1.2/sqlite_catalogue_schema.sql @@ -0,0 +1,292 @@ +CREATE TABLE ARCHIVE_FILE_ID( + ID INTEGER PRIMARY KEY AUTOINCREMENT +); +CREATE TABLE LOGICAL_LIBRARY_ID( + ID INTEGER PRIMARY KEY AUTOINCREMENT +); +CREATE TABLE STORAGE_CLASS_ID( + ID INTEGER PRIMARY KEY AUTOINCREMENT +); +CREATE TABLE TAPE_POOL_ID( + ID INTEGER PRIMARY KEY AUTOINCREMENT +); +CREATE TABLE CTA_CATALOGUE( + SCHEMA_VERSION_MAJOR INTEGER CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL, + SCHEMA_VERSION_MINOR INTEGER CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL, + NEXT_SCHEMA_VERSION_MAJOR INTEGER, + NEXT_SCHEMA_VERSION_MINOR INTEGER, + STATUS VARCHAR(100) +); +CREATE TABLE ADMIN_USER( + ADMIN_USER_NAME VARCHAR(100) CONSTRAINT ADMIN_USER_AUN_NN NOT NULL, + USER_COMMENT VARCHAR(1000) CONSTRAINT ADMIN_USER_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL, + CREATION_LOG_TIME INTEGER CONSTRAINT ADMIN_USER_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL, + LAST_UPDATE_TIME INTEGER CONSTRAINT ADMIN_USER_LUT_NN NOT NULL, + CONSTRAINT ADMIN_USER_PK PRIMARY KEY(ADMIN_USER_NAME) +); +CREATE TABLE DISK_SYSTEM( + DISK_SYSTEM_NAME VARCHAR(100) CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL, + FILE_REGEXP VARCHAR(100) CONSTRAINT DISK_SYSTEM_FR_NN NOT NULL, + FREE_SPACE_QUERY_URL VARCHAR(1000) CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL, + REFRESH_INTERVAL INTEGER CONSTRAINT DISK_SYSTEM_RI_NN NOT NULL, + TARGETED_FREE_SPACE INTEGER CONSTRAINT DISK_SYSTEM_TFS_NN NOT NULL, + SLEEP_TIME INTEGER CONSTRAINT DISK_SYSTEM_ST_NN NOT NULL, + USER_COMMENT VARCHAR(1000) CONSTRAINT DISK_SYSTEM_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL, + CREATION_LOG_TIME INTEGER CONSTRAINT DISK_SYSTEM_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL, + LAST_UPDATE_TIME INTEGER CONSTRAINT DISK_SYSTEM_LUT_NN NOT NULL, + CONSTRAINT NAME_PK PRIMARY KEY(DISK_SYSTEM_NAME) +); +CREATE TABLE STORAGE_CLASS( + STORAGE_CLASS_ID INTEGER CONSTRAINT STORAGE_CLASS_SCI_NN NOT NULL, + DISK_INSTANCE_NAME VARCHAR(100) CONSTRAINT STORAGE_CLASS_DIN_NN NOT NULL, + STORAGE_CLASS_NAME VARCHAR(100) CONSTRAINT STORAGE_CLASS_SCN_NN NOT NULL, + NB_COPIES INTEGER CONSTRAINT STORAGE_CLASS_NC_NN NOT NULL, + USER_COMMENT VARCHAR(1000) CONSTRAINT STORAGE_CLASS_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL, + CREATION_LOG_TIME INTEGER CONSTRAINT STORAGE_CLASS_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL, + LAST_UPDATE_TIME INTEGER CONSTRAINT STORAGE_CLASS_LUT_NN NOT NULL, + CONSTRAINT STORAGE_CLASS_PK PRIMARY KEY(STORAGE_CLASS_ID), + CONSTRAINT STORAGE_CLASS_SCN_UN UNIQUE(STORAGE_CLASS_NAME) +); +CREATE TABLE TAPE_POOL( + TAPE_POOL_ID INTEGER CONSTRAINT TAPE_POOL_TPI_NN NOT NULL, + TAPE_POOL_NAME VARCHAR(100) CONSTRAINT TAPE_POOL_TPN_NN NOT NULL, + VO VARCHAR(100) CONSTRAINT TAPE_POOL_VO_NN NOT NULL, + NB_PARTIAL_TAPES INTEGER CONSTRAINT TAPE_POOL_NPT_NN NOT NULL, + IS_ENCRYPTED CHAR(1) CONSTRAINT TAPE_POOL_IE_NN NOT NULL, + SUPPLY VARCHAR(100), + USER_COMMENT VARCHAR(1000) CONSTRAINT TAPE_POOL_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL, + CREATION_LOG_TIME INTEGER CONSTRAINT TAPE_POOL_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL, + LAST_UPDATE_TIME INTEGER CONSTRAINT TAPE_POOL_LUT_NN NOT NULL, + CONSTRAINT TAPE_POOL_PK PRIMARY KEY(TAPE_POOL_ID), + CONSTRAINT TAPE_POOL_TPN_UN UNIQUE(TAPE_POOL_NAME), + CONSTRAINT TAPE_POOL_IS_ENCRYPTED_BOOL_CK CHECK(IS_ENCRYPTED IN ('0', '1')) +); +CREATE TABLE ARCHIVE_ROUTE( + STORAGE_CLASS_ID INTEGER CONSTRAINT ARCHIVE_ROUTE_SCI_NN NOT NULL, + COPY_NB INTEGER CONSTRAINT ARCHIVE_ROUTE_CN_NN NOT NULL, + TAPE_POOL_ID INTEGER CONSTRAINT ARCHIVE_ROUTE_TPI_NN NOT NULL, + USER_COMMENT VARCHAR(1000) CONSTRAINT ARCHIVE_ROUTE_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL, + CREATION_LOG_TIME INTEGER CONSTRAINT ARCHIVE_ROUTE_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL, + LAST_UPDATE_TIME INTEGER CONSTRAINT ARCHIVE_ROUTE_LUT_NN NOT NULL, + CONSTRAINT ARCHIVE_ROUTE_PK PRIMARY KEY(STORAGE_CLASS_ID, COPY_NB), + CONSTRAINT ARCHIVE_ROUTE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID), + CONSTRAINT ARCHIVE_ROUTE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID), + CONSTRAINT ARCHIVE_ROUTE_COPY_NB_GT_0_CK CHECK(COPY_NB > 0), + CONSTRAINT ARCHIVE_ROUTE_SCI_TPI_UN UNIQUE(STORAGE_CLASS_ID, TAPE_POOL_ID) +); +CREATE TABLE LOGICAL_LIBRARY( + LOGICAL_LIBRARY_ID INTEGER CONSTRAINT LOGICAL_LIBRARY_LLI_NN NOT NULL, + LOGICAL_LIBRARY_NAME VARCHAR(100) CONSTRAINT LOGICAL_LIBRARY_LLN_NN NOT NULL, + IS_DISABLED CHAR(1) DEFAULT '0' CONSTRAINT LOGICAL_LIBRARY_ID_NN NOT NULL, + USER_COMMENT VARCHAR(1000) CONSTRAINT LOGICAL_LIBRARY_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL, + CREATION_LOG_TIME INTEGER CONSTRAINT LOGICAL_LIBRARY_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL, + LAST_UPDATE_TIME INTEGER CONSTRAINT LOGICAL_LIBRARY_LUT_NN NOT NULL, + CONSTRAINT LOGICAL_LIBRARY_PK PRIMARY KEY(LOGICAL_LIBRARY_ID), + CONSTRAINT LOGICAL_LIBRARY_LLN_UN UNIQUE(LOGICAL_LIBRARY_NAME), + CONSTRAINT LOGICAL_LIBRARY_ID_BOOL_CK CHECK(IS_DISABLED IN ('0', '1')) +); +CREATE TABLE TAPE( + VID VARCHAR(100) CONSTRAINT TAPE_V_NN NOT NULL, + MEDIA_TYPE VARCHAR(100) CONSTRAINT TAPE_MT_NN NOT NULL, + VENDOR VARCHAR(100) CONSTRAINT TAPE_V2_NN NOT NULL, + LOGICAL_LIBRARY_ID INTEGER CONSTRAINT TAPE_LLI_NN NOT NULL, + TAPE_POOL_ID INTEGER CONSTRAINT TAPE_TPI_NN NOT NULL, + ENCRYPTION_KEY_NAME VARCHAR(100), + CAPACITY_IN_BYTES INTEGER CONSTRAINT TAPE_CIB_NN NOT NULL, + DATA_IN_BYTES INTEGER CONSTRAINT TAPE_DIB_NN NOT NULL, + LAST_FSEQ INTEGER CONSTRAINT TAPE_LF_NN NOT NULL, + NB_MASTER_FILES INTEGER DEFAULT 0 CONSTRAINT TAPE_NB_MASTER_FILES_NN NOT NULL, + MASTER_DATA_IN_BYTES INTEGER DEFAULT 0 CONSTRAINT TAPE_MASTER_DATA_IN_BYTES_NN NOT NULL, + IS_DISABLED CHAR(1) CONSTRAINT TAPE_ID_NN NOT NULL, + IS_FULL CHAR(1) CONSTRAINT TAPE_IF_NN NOT NULL, + IS_READ_ONLY CHAR(1) CONSTRAINT TAPE_IRO_NN NOT NULL, + IS_FROM_CASTOR CHAR(1) CONSTRAINT TAPE_IFC_NN NOT NULL, + IS_ARCHIVED CHAR(1) DEFAULT '0' CONSTRAINT TAPE_IA_NN NOT NULL, + IS_EXPORTED CHAR(1) DEFAULT '0' CONSTRAINT TAPE_IE_NN NOT NULL, + DIRTY CHAR(1) DEFAULT '1' CONSTRAINT TAPE_DIRTY_NN NOT NULL, + LABEL_DRIVE VARCHAR(100), + LABEL_TIME INTEGER , + LAST_READ_DRIVE VARCHAR(100), + LAST_READ_TIME INTEGER , + LAST_WRITE_DRIVE VARCHAR(100), + LAST_WRITE_TIME INTEGER , + READ_MOUNT_COUNT INTEGER DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL, + WRITE_MOUNT_COUNT INTEGER DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL, + USER_COMMENT VARCHAR(1000) CONSTRAINT TAPE_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT TAPE_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT TAPE_CLHN_NN NOT NULL, + CREATION_LOG_TIME INTEGER CONSTRAINT TAPE_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT TAPE_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT TAPE_LUHN_NN NOT NULL, + LAST_UPDATE_TIME INTEGER CONSTRAINT TAPE_LUT_NN NOT NULL, + CONSTRAINT TAPE_PK PRIMARY KEY(VID), + CONSTRAINT TAPE_LOGICAL_LIBRARY_FK FOREIGN KEY(LOGICAL_LIBRARY_ID) REFERENCES LOGICAL_LIBRARY(LOGICAL_LIBRARY_ID), + CONSTRAINT TAPE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID), + CONSTRAINT TAPE_IS_DISABLED_BOOL_CK CHECK(IS_DISABLED IN ('0', '1')), + CONSTRAINT TAPE_IS_FULL_BOOL_CK CHECK(IS_FULL IN ('0', '1')), + CONSTRAINT TAPE_IS_READ_ONLY_BOOL_CK CHECK(IS_READ_ONLY IN ('0', '1')), + CONSTRAINT TAPE_IS_FROM_CASTOR_BOOL_CK CHECK(IS_FROM_CASTOR IN ('0', '1')), + CONSTRAINT TAPE_IS_ARCHVIED_BOOL_CK CHECK(IS_ARCHIVED IN ('0', '1')), + CONSTRAINT TAPE_IS_EXPORTED_BOOL_CK CHECK(IS_EXPORTED IN ('0', '1')), + CONSTRAINT TAPE_DIRTY_BOOL_CK CHECK(DIRTY IN ('0','1')) +); +CREATE INDEX TAPE_TAPE_POOL_ID_IDX ON TAPE(TAPE_POOL_ID); +CREATE TABLE MOUNT_POLICY( + MOUNT_POLICY_NAME VARCHAR(100) CONSTRAINT MOUNT_POLICY_MPN_NN NOT NULL, + ARCHIVE_PRIORITY INTEGER CONSTRAINT MOUNT_POLICY_AP_NN NOT NULL, + ARCHIVE_MIN_REQUEST_AGE INTEGER CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL, + RETRIEVE_PRIORITY INTEGER CONSTRAINT MOUNT_POLICY_RP_NN NOT NULL, + RETRIEVE_MIN_REQUEST_AGE INTEGER CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL, + MAX_DRIVES_ALLOWED INTEGER CONSTRAINT MOUNT_POLICY_MDA_NN NOT NULL, + USER_COMMENT VARCHAR(1000) CONSTRAINT MOUNT_POLICY_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL, + CREATION_LOG_TIME INTEGER CONSTRAINT MOUNT_POLICY_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL, + LAST_UPDATE_TIME INTEGER CONSTRAINT MOUNT_POLICY_LUT_NN NOT NULL, + CONSTRAINT MOUNT_POLICY_PK PRIMARY KEY(MOUNT_POLICY_NAME) +); +CREATE TABLE REQUESTER_MOUNT_RULE( + DISK_INSTANCE_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_DIN_NN NOT NULL, + REQUESTER_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_RN_NN NOT NULL, + MOUNT_POLICY_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_MPN_NN NOT NULL, + USER_COMMENT VARCHAR(1000) CONSTRAINT RQSTER_RULE_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL, + CREATION_LOG_TIME INTEGER CONSTRAINT RQSTER_RULE_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL, + LAST_UPDATE_TIME INTEGER CONSTRAINT RQSTER_RULE_LUT_NN NOT NULL, + CONSTRAINT RQSTER_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_NAME), + CONSTRAINT RQSTER_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME) + REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME) +); +CREATE TABLE REQUESTER_GROUP_MOUNT_RULE( + DISK_INSTANCE_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_DIN_NN NOT NULL, + REQUESTER_GROUP_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_RGN_NN NOT NULL, + MOUNT_POLICY_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_MPN_NN NOT NULL, + USER_COMMENT VARCHAR(1000) CONSTRAINT RQSTER_GRP_RULE_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL, + CREATION_LOG_TIME INTEGER CONSTRAINT RQSTER_GRP_RULE_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL, + LAST_UPDATE_TIME INTEGER CONSTRAINT RQSTER_GRP_RULE_LUT_NN NOT NULL, + CONSTRAINT RQSTER_GRP_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_GROUP_NAME), + CONSTRAINT RQSTER_GRP_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME) + REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME) +); +CREATE TABLE ARCHIVE_FILE( + ARCHIVE_FILE_ID INTEGER CONSTRAINT ARCHIVE_FILE_AFI_NN NOT NULL, + DISK_INSTANCE_NAME VARCHAR(100) CONSTRAINT ARCHIVE_FILE_DIN_NN NOT NULL, + DISK_FILE_ID VARCHAR(100) CONSTRAINT ARCHIVE_FILE_DFI_NN NOT NULL, + DISK_FILE_PATH VARCHAR(2000) CONSTRAINT ARCHIVE_FILE_DFP_NN NOT NULL, + DISK_FILE_UID INTEGER CONSTRAINT ARCHIVE_FILE_DFUID_NN NOT NULL, + DISK_FILE_GID INTEGER CONSTRAINT ARCHIVE_FILE_DFGID_NN NOT NULL, + SIZE_IN_BYTES INTEGER CONSTRAINT ARCHIVE_FILE_SIB_NN NOT NULL, + CHECKSUM_BLOB BLOB(200), + CHECKSUM_ADLER32 INTEGER CONSTRAINT ARCHIVE_FILE_CB2_NN NOT NULL, + STORAGE_CLASS_ID INTEGER CONSTRAINT ARCHIVE_FILE_SCI_NN NOT NULL, + CREATION_TIME INTEGER CONSTRAINT ARCHIVE_FILE_CT2_NN NOT NULL, + RECONCILIATION_TIME INTEGER CONSTRAINT ARCHIVE_FILE_RT_NN NOT NULL, + IS_DELETED CHAR(1) DEFAULT '0' CONSTRAINT ARCHIVE_FILE_ID_NN NOT NULL, + COLLOCATION_HINT VARCHAR(100), + CONSTRAINT ARCHIVE_FILE_PK PRIMARY KEY(ARCHIVE_FILE_ID), + CONSTRAINT ARCHIVE_FILE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID), + CONSTRAINT ARCHIVE_FILE_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID), + CONSTRAINT ARCHIVE_FILE_ID_BOOL_CK CHECK(IS_DELETED IN ('0', '1')) +); +CREATE INDEX ARCHIVE_FILE_DIN_DFP_IDX ON ARCHIVE_FILE(DISK_INSTANCE_NAME, DISK_FILE_PATH); +CREATE INDEX ARCHIVE_FILE_DFI_IDX ON ARCHIVE_FILE(DISK_FILE_ID); +CREATE TABLE TAPE_FILE( + VID VARCHAR(100) CONSTRAINT TAPE_FILE_V_NN NOT NULL, + FSEQ INTEGER CONSTRAINT TAPE_FILE_F_NN NOT NULL, + BLOCK_ID INTEGER CONSTRAINT TAPE_FILE_BI_NN NOT NULL, + LOGICAL_SIZE_IN_BYTES INTEGER CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL, + COPY_NB INTEGER CONSTRAINT TAPE_FILE_CN_NN NOT NULL, + CREATION_TIME INTEGER CONSTRAINT TAPE_FILE_CT_NN NOT NULL, + ARCHIVE_FILE_ID INTEGER CONSTRAINT TAPE_FILE_AFI_NN NOT NULL, + SUPERSEDED_BY_VID VARCHAR(100), + SUPERSEDED_BY_FSEQ INTEGER , + WRITE_START_WRAP INTEGER, + WRITE_START_LPOS INTEGER, + WRITE_END_WRAP INTEGER, + WRITE_END_LPOS INTEGER, + READ_START_WRAP INTEGER, + READ_START_LPOS INTEGER, + READ_END_WRAP INTEGER, + READ_END_LPOS INTEGER, + CONSTRAINT TAPE_FILE_PK PRIMARY KEY(VID, FSEQ), + CONSTRAINT TAPE_FILE_TAPE_FK FOREIGN KEY(VID) + REFERENCES TAPE(VID), + CONSTRAINT TAPE_FILE_ARCHIVE_FILE_FK FOREIGN KEY(ARCHIVE_FILE_ID) + REFERENCES ARCHIVE_FILE(ARCHIVE_FILE_ID), + CONSTRAINT TAPE_FILE_VID_BLOCK_ID_UN UNIQUE(VID, BLOCK_ID), + CONSTRAINT TAPE_FILE_COPY_NB_GT_0_CK CHECK(COPY_NB > 0), + CONSTRAINT TAPE_FILE_SS_VID_FSEQ_FK FOREIGN KEY(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ) + REFERENCES TAPE_FILE(VID, FSEQ) +); +CREATE INDEX TAPE_FILE_VID_IDX ON TAPE_FILE(VID); +CREATE INDEX TAPE_FILE_ARCHIVE_FILE_ID_IDX ON TAPE_FILE(ARCHIVE_FILE_ID); +CREATE INDEX TAPE_FILE_SBV_SBF_IDX ON TAPE_FILE(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ); +CREATE TABLE ACTIVITIES_WEIGHTS ( + DISK_INSTANCE_NAME VARCHAR(100), + ACTIVITY VARCHAR(100), + WEIGHT VARCHAR(100), + USER_COMMENT VARCHAR(1000) CONSTRAINT ACTIV_WEIGHTS_UC_NN NOT NULL, + CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL, + CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL, + CREATION_LOG_TIME INTEGER CONSTRAINT ACTIV_WEIGHTS_CLT_NN NOT NULL, + LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL, + LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL, + LAST_UPDATE_TIME INTEGER CONSTRAINT ACTIV_WEIGHTS_LUT_NN NOT NULL +); +CREATE TABLE USAGESTATS ( + GID INTEGER DEFAULT 0 CONSTRAINT USAGESTATS_GID_NN NOT NULL, + TIMESTAMP INTEGER DEFAULT 0 CONSTRAINT USAGESTATS_TS_NN NOT NULL, + MAXFILEID INTEGER, + FILECOUNT INTEGER, + FILESIZE INTEGER, + SEGCOUNT INTEGER, + SEGSIZE INTEGER, + SEG2COUNT INTEGER, + SEG2SIZE INTEGER, + CONSTRAINT USAGESTATS_GID_TS_PK PRIMARY KEY (GID, TIMESTAMP) +); +CREATE TABLE EXPERIMENTS ( + NAME VARCHAR(20), + GID INTEGER CONSTRAINT EXPERIMENTS_GID_PK PRIMARY KEY +); +INSERT INTO CTA_CATALOGUE( + SCHEMA_VERSION_MAJOR, + SCHEMA_VERSION_MINOR, + STATUS) +VALUES( + 1, + 2, + 'PRODUCTION'); diff --git a/catalogue/AllCatalogueSchema.hpp b/catalogue/AllCatalogueSchema.hpp index c62a9c8063..01ded648c4 100644 --- a/catalogue/AllCatalogueSchema.hpp +++ b/catalogue/AllCatalogueSchema.hpp @@ -2464,6 +2464,1248 @@ namespace catalogue{ " CATALOGUE_STATUS_CONTENT_CK CHECK((NEXT_SCHEMA_VERSION_MAJOR IS NULL AND NEXT_SCHEMA_VERSION_MINOR IS NULL AND STATUS='PRODUCTION') OR (STATUS='UPGRADING'));" }, } }, + {"1.2", + { + {"oracle", "CREATE SEQUENCE ARCHIVE_FILE_ID_SEQ" + " INCREMENT BY 1" + " START WITH 4294967296" + " NOMAXVALUE" + " MINVALUE 1" + " NOCYCLE" + " CACHE 20" + " NOORDER;" + "CREATE SEQUENCE LOGICAL_LIBRARY_ID_SEQ" + " INCREMENT BY 1" + " START WITH 4294967296" + " NOMAXVALUE" + " MINVALUE 1" + " NOCYCLE" + " CACHE 20" + " NOORDER;" + "CREATE SEQUENCE STORAGE_CLASS_ID_SEQ" + " INCREMENT BY 1" + " START WITH 4294967296" + " NOMAXVALUE" + " MINVALUE 1" + " NOCYCLE" + " CACHE 20" + " NOORDER;" + "CREATE SEQUENCE TAPE_POOL_ID_SEQ" + " INCREMENT BY 1" + " START WITH 4294967296" + " NOMAXVALUE" + " MINVALUE 1" + " NOCYCLE" + " CACHE 20" + " NOORDER;" + "CREATE GLOBAL TEMPORARY TABLE TEMP_TAPE_FILE_INSERTION_BATCH(" + " VID VARCHAR2(100)," + " FSEQ NUMERIC(20, 0) ," + " BLOCK_ID NUMERIC(20, 0) ," + " LOGICAL_SIZE_IN_BYTES NUMERIC(20, 0) ," + " COPY_NB NUMERIC(3, 0) ," + " CREATION_TIME NUMERIC(20, 0) ," + " ARCHIVE_FILE_ID NUMERIC(20, 0) " + ")" + "ON COMMIT DELETE ROWS;" + "CREATE INDEX TEMP_T_F_I_B_AFI_IDX ON TEMP_TAPE_FILE_INSERTION_BATCH(ARCHIVE_FILE_ID);" + "CREATE TABLE CTA_CATALOGUE(" + " SCHEMA_VERSION_MAJOR NUMERIC(20, 0) CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL," + " SCHEMA_VERSION_MINOR NUMERIC(20, 0) CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL," + " NEXT_SCHEMA_VERSION_MAJOR NUMERIC(20, 0)," + " NEXT_SCHEMA_VERSION_MINOR NUMERIC(20, 0)," + " STATUS VARCHAR2(100)" + ");" + "CREATE TABLE ADMIN_USER(" + " ADMIN_USER_NAME VARCHAR2(100) CONSTRAINT ADMIN_USER_AUN_NN NOT NULL," + " USER_COMMENT VARCHAR2(1000) CONSTRAINT ADMIN_USER_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR2(100) CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR2(100) CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL," + " CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT ADMIN_USER_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR2(100) CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR2(100) CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT ADMIN_USER_LUT_NN NOT NULL," + " CONSTRAINT ADMIN_USER_PK PRIMARY KEY(ADMIN_USER_NAME)" + ");" + "CREATE TABLE DISK_SYSTEM(" + " DISK_SYSTEM_NAME VARCHAR2(100) CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL," + " FILE_REGEXP VARCHAR2(100) CONSTRAINT DISK_SYSTEM_FR_NN NOT NULL," + " FREE_SPACE_QUERY_URL VARCHAR2(1000) CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL," + " REFRESH_INTERVAL NUMERIC(20, 0) CONSTRAINT DISK_SYSTEM_RI_NN NOT NULL," + " TARGETED_FREE_SPACE NUMERIC(20, 0) CONSTRAINT DISK_SYSTEM_TFS_NN NOT NULL," + " SLEEP_TIME NUMERIC(20, 0) CONSTRAINT DISK_SYSTEM_ST_NN NOT NULL," + " USER_COMMENT VARCHAR2(1000) CONSTRAINT DISK_SYSTEM_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR2(100) CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR2(100) CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL," + " CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT DISK_SYSTEM_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR2(100) CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR2(100) CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT DISK_SYSTEM_LUT_NN NOT NULL," + " CONSTRAINT NAME_PK PRIMARY KEY(DISK_SYSTEM_NAME)" + ");" + "CREATE TABLE STORAGE_CLASS(" + " STORAGE_CLASS_ID NUMERIC(20, 0) CONSTRAINT STORAGE_CLASS_SCI_NN NOT NULL," + " DISK_INSTANCE_NAME VARCHAR2(100) CONSTRAINT STORAGE_CLASS_DIN_NN NOT NULL," + " STORAGE_CLASS_NAME VARCHAR2(100) CONSTRAINT STORAGE_CLASS_SCN_NN NOT NULL," + " NB_COPIES NUMERIC(3, 0) CONSTRAINT STORAGE_CLASS_NC_NN NOT NULL," + " USER_COMMENT VARCHAR2(1000) CONSTRAINT STORAGE_CLASS_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR2(100) CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR2(100) CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL," + " CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT STORAGE_CLASS_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR2(100) CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR2(100) CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT STORAGE_CLASS_LUT_NN NOT NULL," + " CONSTRAINT STORAGE_CLASS_PK PRIMARY KEY(STORAGE_CLASS_ID)," + " CONSTRAINT STORAGE_CLASS_SCN_UN UNIQUE(STORAGE_CLASS_NAME)" + ");" + "CREATE TABLE TAPE_POOL(" + " TAPE_POOL_ID NUMERIC(20, 0) CONSTRAINT TAPE_POOL_TPI_NN NOT NULL," + " TAPE_POOL_NAME VARCHAR2(100) CONSTRAINT TAPE_POOL_TPN_NN NOT NULL," + " VO VARCHAR2(100) CONSTRAINT TAPE_POOL_VO_NN NOT NULL," + " NB_PARTIAL_TAPES NUMERIC(20, 0) CONSTRAINT TAPE_POOL_NPT_NN NOT NULL," + " IS_ENCRYPTED CHAR(1) CONSTRAINT TAPE_POOL_IE_NN NOT NULL," + " SUPPLY VARCHAR2(100)," + " USER_COMMENT VARCHAR2(1000) CONSTRAINT TAPE_POOL_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR2(100) CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR2(100) CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL," + " CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT TAPE_POOL_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR2(100) CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR2(100) CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT TAPE_POOL_LUT_NN NOT NULL," + " CONSTRAINT TAPE_POOL_PK PRIMARY KEY(TAPE_POOL_ID)," + " CONSTRAINT TAPE_POOL_TPN_UN UNIQUE(TAPE_POOL_NAME)," + " CONSTRAINT TAPE_POOL_IS_ENCRYPTED_BOOL_CK CHECK(IS_ENCRYPTED IN ('0', '1'))" + ");" + "CREATE TABLE ARCHIVE_ROUTE(" + " STORAGE_CLASS_ID NUMERIC(20, 0) CONSTRAINT ARCHIVE_ROUTE_SCI_NN NOT NULL," + " COPY_NB NUMERIC(3, 0) CONSTRAINT ARCHIVE_ROUTE_CN_NN NOT NULL," + " TAPE_POOL_ID NUMERIC(20, 0) CONSTRAINT ARCHIVE_ROUTE_TPI_NN NOT NULL," + " USER_COMMENT VARCHAR2(1000) CONSTRAINT ARCHIVE_ROUTE_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR2(100) CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR2(100) CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL," + " CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT ARCHIVE_ROUTE_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR2(100) CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR2(100) CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT ARCHIVE_ROUTE_LUT_NN NOT NULL," + " CONSTRAINT ARCHIVE_ROUTE_PK PRIMARY KEY(STORAGE_CLASS_ID, COPY_NB)," + " CONSTRAINT ARCHIVE_ROUTE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID)," + " CONSTRAINT ARCHIVE_ROUTE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID)," + " CONSTRAINT ARCHIVE_ROUTE_COPY_NB_GT_0_CK CHECK(COPY_NB > 0)," + " CONSTRAINT ARCHIVE_ROUTE_SCI_TPI_UN UNIQUE(STORAGE_CLASS_ID, TAPE_POOL_ID)" + ");" + "CREATE TABLE LOGICAL_LIBRARY(" + " LOGICAL_LIBRARY_ID NUMERIC(20, 0) CONSTRAINT LOGICAL_LIBRARY_LLI_NN NOT NULL," + " LOGICAL_LIBRARY_NAME VARCHAR2(100) CONSTRAINT LOGICAL_LIBRARY_LLN_NN NOT NULL," + " IS_DISABLED CHAR(1) DEFAULT '0' CONSTRAINT LOGICAL_LIBRARY_ID_NN NOT NULL," + " USER_COMMENT VARCHAR2(1000) CONSTRAINT LOGICAL_LIBRARY_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR2(100) CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR2(100) CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL," + " CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT LOGICAL_LIBRARY_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR2(100) CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR2(100) CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT LOGICAL_LIBRARY_LUT_NN NOT NULL," + " CONSTRAINT LOGICAL_LIBRARY_PK PRIMARY KEY(LOGICAL_LIBRARY_ID)," + " CONSTRAINT LOGICAL_LIBRARY_LLN_UN UNIQUE(LOGICAL_LIBRARY_NAME)," + " CONSTRAINT LOGICAL_LIBRARY_ID_BOOL_CK CHECK(IS_DISABLED IN ('0', '1'))" + ");" + "CREATE TABLE TAPE(" + " VID VARCHAR2(100) CONSTRAINT TAPE_V_NN NOT NULL," + " MEDIA_TYPE VARCHAR2(100) CONSTRAINT TAPE_MT_NN NOT NULL," + " VENDOR VARCHAR2(100) CONSTRAINT TAPE_V2_NN NOT NULL," + " LOGICAL_LIBRARY_ID NUMERIC(20, 0) CONSTRAINT TAPE_LLI_NN NOT NULL," + " TAPE_POOL_ID NUMERIC(20, 0) CONSTRAINT TAPE_TPI_NN NOT NULL," + " ENCRYPTION_KEY_NAME VARCHAR2(100)," + " CAPACITY_IN_BYTES NUMERIC(20, 0) CONSTRAINT TAPE_CIB_NN NOT NULL," + " DATA_IN_BYTES NUMERIC(20, 0) CONSTRAINT TAPE_DIB_NN NOT NULL," + " LAST_FSEQ NUMERIC(20, 0) CONSTRAINT TAPE_LF_NN NOT NULL," + " NB_MASTER_FILES NUMERIC(20, 0) DEFAULT 0 CONSTRAINT TAPE_NB_MASTER_FILES_NN NOT NULL," + " MASTER_DATA_IN_BYTES NUMERIC(20, 0) DEFAULT 0 CONSTRAINT TAPE_MASTER_DATA_IN_BYTES_NN NOT NULL," + " IS_DISABLED CHAR(1) CONSTRAINT TAPE_ID_NN NOT NULL," + " IS_FULL CHAR(1) CONSTRAINT TAPE_IF_NN NOT NULL," + " IS_READ_ONLY CHAR(1) CONSTRAINT TAPE_IRO_NN NOT NULL," + " IS_FROM_CASTOR CHAR(1) CONSTRAINT TAPE_IFC_NN NOT NULL," + " IS_ARCHIVED CHAR(1) DEFAULT '0' CONSTRAINT TAPE_IA_NN NOT NULL," + " IS_EXPORTED CHAR(1) DEFAULT '0' CONSTRAINT TAPE_IE_NN NOT NULL," + " DIRTY CHAR(1) DEFAULT '1' CONSTRAINT TAPE_DIRTY_NN NOT NULL," + " LABEL_DRIVE VARCHAR2(100)," + " LABEL_TIME NUMERIC(20, 0) ," + " LAST_READ_DRIVE VARCHAR2(100)," + " LAST_READ_TIME NUMERIC(20, 0) ," + " LAST_WRITE_DRIVE VARCHAR2(100)," + " LAST_WRITE_TIME NUMERIC(20, 0) ," + " READ_MOUNT_COUNT NUMERIC(20, 0) DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL," + " WRITE_MOUNT_COUNT NUMERIC(20, 0) DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL," + " USER_COMMENT VARCHAR2(1000) CONSTRAINT TAPE_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR2(100) CONSTRAINT TAPE_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR2(100) CONSTRAINT TAPE_CLHN_NN NOT NULL," + " CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT TAPE_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR2(100) CONSTRAINT TAPE_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR2(100) CONSTRAINT TAPE_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT TAPE_LUT_NN NOT NULL," + " CONSTRAINT TAPE_PK PRIMARY KEY(VID)," + " CONSTRAINT TAPE_LOGICAL_LIBRARY_FK FOREIGN KEY(LOGICAL_LIBRARY_ID) REFERENCES LOGICAL_LIBRARY(LOGICAL_LIBRARY_ID)," + " CONSTRAINT TAPE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID)," + " CONSTRAINT TAPE_IS_DISABLED_BOOL_CK CHECK(IS_DISABLED IN ('0', '1'))," + " CONSTRAINT TAPE_IS_FULL_BOOL_CK CHECK(IS_FULL IN ('0', '1'))," + " CONSTRAINT TAPE_IS_READ_ONLY_BOOL_CK CHECK(IS_READ_ONLY IN ('0', '1'))," + " CONSTRAINT TAPE_IS_FROM_CASTOR_BOOL_CK CHECK(IS_FROM_CASTOR IN ('0', '1'))," + " CONSTRAINT TAPE_IS_ARCHVIED_BOOL_CK CHECK(IS_ARCHIVED IN ('0', '1'))," + " CONSTRAINT TAPE_IS_EXPORTED_BOOL_CK CHECK(IS_EXPORTED IN ('0', '1'))," + " CONSTRAINT TAPE_DIRTY_BOOL_CK CHECK(DIRTY IN ('0','1'))" + ");" + "CREATE INDEX TAPE_TAPE_POOL_ID_IDX ON TAPE(TAPE_POOL_ID);" + "CREATE TABLE MOUNT_POLICY(" + " MOUNT_POLICY_NAME VARCHAR2(100) CONSTRAINT MOUNT_POLICY_MPN_NN NOT NULL," + " ARCHIVE_PRIORITY NUMERIC(20, 0) CONSTRAINT MOUNT_POLICY_AP_NN NOT NULL," + " ARCHIVE_MIN_REQUEST_AGE NUMERIC(20, 0) CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL," + " RETRIEVE_PRIORITY NUMERIC(20, 0) CONSTRAINT MOUNT_POLICY_RP_NN NOT NULL," + " RETRIEVE_MIN_REQUEST_AGE NUMERIC(20, 0) CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL," + " MAX_DRIVES_ALLOWED NUMERIC(20, 0) CONSTRAINT MOUNT_POLICY_MDA_NN NOT NULL," + " USER_COMMENT VARCHAR2(1000) CONSTRAINT MOUNT_POLICY_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR2(100) CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR2(100) CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL," + " CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT MOUNT_POLICY_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR2(100) CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR2(100) CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT MOUNT_POLICY_LUT_NN NOT NULL," + " CONSTRAINT MOUNT_POLICY_PK PRIMARY KEY(MOUNT_POLICY_NAME)" + ");" + "CREATE TABLE REQUESTER_MOUNT_RULE(" + " DISK_INSTANCE_NAME VARCHAR2(100) CONSTRAINT RQSTER_RULE_DIN_NN NOT NULL," + " REQUESTER_NAME VARCHAR2(100) CONSTRAINT RQSTER_RULE_RN_NN NOT NULL," + " MOUNT_POLICY_NAME VARCHAR2(100) CONSTRAINT RQSTER_RULE_MPN_NN NOT NULL," + " USER_COMMENT VARCHAR2(1000) CONSTRAINT RQSTER_RULE_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR2(100) CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR2(100) CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL," + " CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT RQSTER_RULE_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR2(100) CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR2(100) CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT RQSTER_RULE_LUT_NN NOT NULL," + " CONSTRAINT RQSTER_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_NAME)," + " CONSTRAINT RQSTER_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)" + " REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)" + ");" + "CREATE TABLE REQUESTER_GROUP_MOUNT_RULE(" + " DISK_INSTANCE_NAME VARCHAR2(100) CONSTRAINT RQSTER_GRP_RULE_DIN_NN NOT NULL," + " REQUESTER_GROUP_NAME VARCHAR2(100) CONSTRAINT RQSTER_GRP_RULE_RGN_NN NOT NULL," + " MOUNT_POLICY_NAME VARCHAR2(100) CONSTRAINT RQSTER_GRP_RULE_MPN_NN NOT NULL," + " USER_COMMENT VARCHAR2(1000) CONSTRAINT RQSTER_GRP_RULE_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR2(100) CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR2(100) CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL," + " CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT RQSTER_GRP_RULE_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR2(100) CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR2(100) CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT RQSTER_GRP_RULE_LUT_NN NOT NULL," + " CONSTRAINT RQSTER_GRP_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_GROUP_NAME)," + " CONSTRAINT RQSTER_GRP_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)" + " REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)" + ");" + "CREATE TABLE ARCHIVE_FILE(" + " ARCHIVE_FILE_ID NUMERIC(20, 0) CONSTRAINT ARCHIVE_FILE_AFI_NN NOT NULL," + " DISK_INSTANCE_NAME VARCHAR2(100) CONSTRAINT ARCHIVE_FILE_DIN_NN NOT NULL," + " DISK_FILE_ID VARCHAR2(100) CONSTRAINT ARCHIVE_FILE_DFI_NN NOT NULL," + " DISK_FILE_PATH VARCHAR2(2000) CONSTRAINT ARCHIVE_FILE_DFP_NN NOT NULL," + " DISK_FILE_UID NUMERIC(10, 0) CONSTRAINT ARCHIVE_FILE_DFUID_NN NOT NULL," + " DISK_FILE_GID NUMERIC(10, 0) CONSTRAINT ARCHIVE_FILE_DFGID_NN NOT NULL," + " SIZE_IN_BYTES NUMERIC(20, 0) CONSTRAINT ARCHIVE_FILE_SIB_NN NOT NULL," + " CHECKSUM_BLOB RAW(200)," + " CHECKSUM_ADLER32 NUMERIC(10, 0) CONSTRAINT ARCHIVE_FILE_CB2_NN NOT NULL," + " STORAGE_CLASS_ID NUMERIC(20, 0) CONSTRAINT ARCHIVE_FILE_SCI_NN NOT NULL," + " CREATION_TIME NUMERIC(20, 0) CONSTRAINT ARCHIVE_FILE_CT2_NN NOT NULL," + " RECONCILIATION_TIME NUMERIC(20, 0) CONSTRAINT ARCHIVE_FILE_RT_NN NOT NULL," + " IS_DELETED CHAR(1) DEFAULT '0' CONSTRAINT ARCHIVE_FILE_ID_NN NOT NULL," + " COLLOCATION_HINT VARCHAR2(100)," + " CONSTRAINT ARCHIVE_FILE_PK PRIMARY KEY(ARCHIVE_FILE_ID)," + " CONSTRAINT ARCHIVE_FILE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID)," + " CONSTRAINT ARCHIVE_FILE_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID)," + " CONSTRAINT ARCHIVE_FILE_ID_BOOL_CK CHECK(IS_DELETED IN ('0', '1'))" + ");" + "CREATE INDEX ARCHIVE_FILE_DIN_DFP_IDX ON ARCHIVE_FILE(DISK_INSTANCE_NAME, DISK_FILE_PATH);" + "CREATE INDEX ARCHIVE_FILE_DFI_IDX ON ARCHIVE_FILE(DISK_FILE_ID);" + "CREATE TABLE TAPE_FILE(" + " VID VARCHAR2(100) CONSTRAINT TAPE_FILE_V_NN NOT NULL," + " FSEQ NUMERIC(20, 0) CONSTRAINT TAPE_FILE_F_NN NOT NULL," + " BLOCK_ID NUMERIC(20, 0) CONSTRAINT TAPE_FILE_BI_NN NOT NULL," + " LOGICAL_SIZE_IN_BYTES NUMERIC(20, 0) CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL," + " COPY_NB NUMERIC(3, 0) CONSTRAINT TAPE_FILE_CN_NN NOT NULL," + " CREATION_TIME NUMERIC(20, 0) CONSTRAINT TAPE_FILE_CT_NN NOT NULL," + " ARCHIVE_FILE_ID NUMERIC(20, 0) CONSTRAINT TAPE_FILE_AFI_NN NOT NULL," + " SUPERSEDED_BY_VID VARCHAR2(100)," + " SUPERSEDED_BY_FSEQ NUMERIC(20, 0) ," + " WRITE_START_WRAP NUMERIC(5, 0)," + " WRITE_START_LPOS NUMERIC(10, 0)," + " WRITE_END_WRAP NUMERIC(5, 0)," + " WRITE_END_LPOS NUMERIC(10, 0)," + " READ_START_WRAP NUMERIC(5, 0)," + " READ_START_LPOS NUMERIC(10, 0)," + " READ_END_WRAP NUMERIC(5, 0)," + " READ_END_LPOS NUMERIC(10, 0)," + " CONSTRAINT TAPE_FILE_PK PRIMARY KEY(VID, FSEQ)," + " CONSTRAINT TAPE_FILE_TAPE_FK FOREIGN KEY(VID)" + " REFERENCES TAPE(VID)," + " CONSTRAINT TAPE_FILE_ARCHIVE_FILE_FK FOREIGN KEY(ARCHIVE_FILE_ID)" + " REFERENCES ARCHIVE_FILE(ARCHIVE_FILE_ID)," + " CONSTRAINT TAPE_FILE_VID_BLOCK_ID_UN UNIQUE(VID, BLOCK_ID)," + " CONSTRAINT TAPE_FILE_COPY_NB_GT_0_CK CHECK(COPY_NB > 0)," + " CONSTRAINT TAPE_FILE_SS_VID_FSEQ_FK FOREIGN KEY(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ)" + " REFERENCES TAPE_FILE(VID, FSEQ)" + ");" + "CREATE INDEX TAPE_FILE_VID_IDX ON TAPE_FILE(VID);" + "CREATE INDEX TAPE_FILE_ARCHIVE_FILE_ID_IDX ON TAPE_FILE(ARCHIVE_FILE_ID);" + "CREATE INDEX TAPE_FILE_SBV_SBF_IDX ON TAPE_FILE(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ);" + "CREATE TABLE ACTIVITIES_WEIGHTS (" + " DISK_INSTANCE_NAME VARCHAR2(100)," + " ACTIVITY VARCHAR2(100)," + " WEIGHT VARCHAR2(100)," + " USER_COMMENT VARCHAR2(1000) CONSTRAINT ACTIV_WEIGHTS_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR2(100) CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR2(100) CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL," + " CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT ACTIV_WEIGHTS_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR2(100) CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR2(100) CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT ACTIV_WEIGHTS_LUT_NN NOT NULL" + ");" + "CREATE TABLE USAGESTATS (" + " GID NUMERIC(10, 0) DEFAULT 0 CONSTRAINT USAGESTATS_GID_NN NOT NULL," + " TIMESTAMP NUMERIC(20, 0) DEFAULT 0 CONSTRAINT USAGESTATS_TS_NN NOT NULL," + " MAXFILEID NUMERIC(20, 0)," + " FILECOUNT NUMERIC(20, 0)," + " FILESIZE NUMERIC(20, 0)," + " SEGCOUNT NUMERIC(20, 0)," + " SEGSIZE NUMERIC(20, 0)," + " SEG2COUNT NUMERIC(20, 0)," + " SEG2SIZE NUMERIC(20, 0)," + " CONSTRAINT USAGESTATS_GID_TS_PK PRIMARY KEY (GID, TIMESTAMP)" + ");" + "CREATE TABLE EXPERIMENTS (" + " NAME VARCHAR2(20)," + " GID NUMERIC(10, 0) CONSTRAINT EXPERIMENTS_GID_PK PRIMARY KEY" + ");" + "INSERT INTO CTA_CATALOGUE(" + " SCHEMA_VERSION_MAJOR," + " SCHEMA_VERSION_MINOR," + " STATUS)" + "VALUES(" + " 1," + " 2," + " 'PRODUCTION');" + "ALTER TABLE CTA_CATALOGUE ADD CONSTRAINT CATALOGUE_STATUS_CONTENT_CK CHECK((NEXT_SCHEMA_VERSION_MAJOR IS NULL AND NEXT_SCHEMA_VERSION_MINOR IS NULL AND STATUS='PRODUCTION') OR (NEXT_SCHEMA_VERSION_MAJOR IS NOT NULL AND NEXT_SCHEMA_VERSION_MINOR IS NOT NULL AND STATUS='UPGRADING')) INITIALLY DEFERRED;" + "" + "COMMIT;" + }, + {"mysql", "CREATE TABLE ARCHIVE_FILE_ID(" + " ID BIGINT UNSIGNED," + " CONSTRAINT ARCHIVE_FILE_ID_PK PRIMARY KEY(ID)" + ");" + "INSERT INTO ARCHIVE_FILE_ID(ID) VALUES(1);" + "CREATE TABLE LOGICAL_LIBRARY_ID(" + " ID BIGINT UNSIGNED," + " CONSTRAINT LOGICAL_LIBRARY_ID_PK PRIMARY KEY(ID)" + ");" + "INSERT INTO LOGICAL_LIBRARY_ID(ID) VALUES(1);" + "CREATE TABLE STORAGE_CLASS_ID(" + " ID BIGINT UNSIGNED," + " CONSTRAINT STORAGE_CLASS_ID_PK PRIMARY KEY(ID)" + ");" + "INSERT INTO STORAGE_CLASS_ID(ID) VALUES(1);" + "CREATE TABLE TAPE_POOL_ID(" + " ID BIGINT UNSIGNED," + " CONSTRAINT TAPE_POOL_ID_PK PRIMARY KEY(ID)" + ");" + "INSERT INTO TAPE_POOL_ID(ID) VALUES(1);" + "" + "CREATE TABLE CTA_CATALOGUE(" + " SCHEMA_VERSION_MAJOR BIGINT UNSIGNED CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL," + " SCHEMA_VERSION_MINOR BIGINT UNSIGNED CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL," + " NEXT_SCHEMA_VERSION_MAJOR BIGINT UNSIGNED," + " NEXT_SCHEMA_VERSION_MINOR BIGINT UNSIGNED," + " STATUS VARCHAR(100)" + ");" + "CREATE TABLE ADMIN_USER(" + " ADMIN_USER_NAME VARCHAR(100) CONSTRAINT ADMIN_USER_AUN_NN NOT NULL," + " USER_COMMENT VARCHAR(1000) CONSTRAINT ADMIN_USER_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL," + " CREATION_LOG_TIME BIGINT UNSIGNED CONSTRAINT ADMIN_USER_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME BIGINT UNSIGNED CONSTRAINT ADMIN_USER_LUT_NN NOT NULL," + " CONSTRAINT ADMIN_USER_PK PRIMARY KEY(ADMIN_USER_NAME)" + ");" + "CREATE TABLE DISK_SYSTEM(" + " DISK_SYSTEM_NAME VARCHAR(100) CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL," + " FILE_REGEXP VARCHAR(100) CONSTRAINT DISK_SYSTEM_FR_NN NOT NULL," + " FREE_SPACE_QUERY_URL VARCHAR(1000) CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL," + " REFRESH_INTERVAL BIGINT UNSIGNED CONSTRAINT DISK_SYSTEM_RI_NN NOT NULL," + " TARGETED_FREE_SPACE BIGINT UNSIGNED CONSTRAINT DISK_SYSTEM_TFS_NN NOT NULL," + " SLEEP_TIME BIGINT UNSIGNED CONSTRAINT DISK_SYSTEM_ST_NN NOT NULL," + " USER_COMMENT VARCHAR(1000) CONSTRAINT DISK_SYSTEM_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL," + " CREATION_LOG_TIME BIGINT UNSIGNED CONSTRAINT DISK_SYSTEM_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME BIGINT UNSIGNED CONSTRAINT DISK_SYSTEM_LUT_NN NOT NULL," + " CONSTRAINT NAME_PK PRIMARY KEY(DISK_SYSTEM_NAME)" + ");" + "CREATE TABLE STORAGE_CLASS(" + " STORAGE_CLASS_ID BIGINT UNSIGNED CONSTRAINT STORAGE_CLASS_SCI_NN NOT NULL," + " DISK_INSTANCE_NAME VARCHAR(100) CONSTRAINT STORAGE_CLASS_DIN_NN NOT NULL," + " STORAGE_CLASS_NAME VARCHAR(100) CONSTRAINT STORAGE_CLASS_SCN_NN NOT NULL," + " NB_COPIES TINYINT UNSIGNED CONSTRAINT STORAGE_CLASS_NC_NN NOT NULL," + " USER_COMMENT VARCHAR(1000) CONSTRAINT STORAGE_CLASS_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL," + " CREATION_LOG_TIME BIGINT UNSIGNED CONSTRAINT STORAGE_CLASS_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME BIGINT UNSIGNED CONSTRAINT STORAGE_CLASS_LUT_NN NOT NULL," + " CONSTRAINT STORAGE_CLASS_PK PRIMARY KEY(STORAGE_CLASS_ID)," + " CONSTRAINT STORAGE_CLASS_SCN_UN UNIQUE(STORAGE_CLASS_NAME)" + ");" + "CREATE TABLE TAPE_POOL(" + " TAPE_POOL_ID BIGINT UNSIGNED CONSTRAINT TAPE_POOL_TPI_NN NOT NULL," + " TAPE_POOL_NAME VARCHAR(100) CONSTRAINT TAPE_POOL_TPN_NN NOT NULL," + " VO VARCHAR(100) CONSTRAINT TAPE_POOL_VO_NN NOT NULL," + " NB_PARTIAL_TAPES BIGINT UNSIGNED CONSTRAINT TAPE_POOL_NPT_NN NOT NULL," + " IS_ENCRYPTED CHAR(1) CONSTRAINT TAPE_POOL_IE_NN NOT NULL," + " SUPPLY VARCHAR(100)," + " USER_COMMENT VARCHAR(1000) CONSTRAINT TAPE_POOL_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL," + " CREATION_LOG_TIME BIGINT UNSIGNED CONSTRAINT TAPE_POOL_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME BIGINT UNSIGNED CONSTRAINT TAPE_POOL_LUT_NN NOT NULL," + " CONSTRAINT TAPE_POOL_PK PRIMARY KEY(TAPE_POOL_ID)," + " CONSTRAINT TAPE_POOL_TPN_UN UNIQUE(TAPE_POOL_NAME)," + " CONSTRAINT TAPE_POOL_IS_ENCRYPTED_BOOL_CK CHECK(IS_ENCRYPTED IN ('0', '1'))" + ");" + "CREATE TABLE ARCHIVE_ROUTE(" + " STORAGE_CLASS_ID BIGINT UNSIGNED CONSTRAINT ARCHIVE_ROUTE_SCI_NN NOT NULL," + " COPY_NB TINYINT UNSIGNED CONSTRAINT ARCHIVE_ROUTE_CN_NN NOT NULL," + " TAPE_POOL_ID BIGINT UNSIGNED CONSTRAINT ARCHIVE_ROUTE_TPI_NN NOT NULL," + " USER_COMMENT VARCHAR(1000) CONSTRAINT ARCHIVE_ROUTE_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL," + " CREATION_LOG_TIME BIGINT UNSIGNED CONSTRAINT ARCHIVE_ROUTE_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME BIGINT UNSIGNED CONSTRAINT ARCHIVE_ROUTE_LUT_NN NOT NULL," + " CONSTRAINT ARCHIVE_ROUTE_PK PRIMARY KEY(STORAGE_CLASS_ID, COPY_NB)," + " CONSTRAINT ARCHIVE_ROUTE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID)," + " CONSTRAINT ARCHIVE_ROUTE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID)," + " CONSTRAINT ARCHIVE_ROUTE_COPY_NB_GT_0_CK CHECK(COPY_NB > 0)," + " CONSTRAINT ARCHIVE_ROUTE_SCI_TPI_UN UNIQUE(STORAGE_CLASS_ID, TAPE_POOL_ID)" + ");" + "CREATE TABLE LOGICAL_LIBRARY(" + " LOGICAL_LIBRARY_ID BIGINT UNSIGNED CONSTRAINT LOGICAL_LIBRARY_LLI_NN NOT NULL," + " LOGICAL_LIBRARY_NAME VARCHAR(100) CONSTRAINT LOGICAL_LIBRARY_LLN_NN NOT NULL," + " IS_DISABLED CHAR(1) DEFAULT '0' CONSTRAINT LOGICAL_LIBRARY_ID_NN NOT NULL," + " USER_COMMENT VARCHAR(1000) CONSTRAINT LOGICAL_LIBRARY_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL," + " CREATION_LOG_TIME BIGINT UNSIGNED CONSTRAINT LOGICAL_LIBRARY_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME BIGINT UNSIGNED CONSTRAINT LOGICAL_LIBRARY_LUT_NN NOT NULL," + " CONSTRAINT LOGICAL_LIBRARY_PK PRIMARY KEY(LOGICAL_LIBRARY_ID)," + " CONSTRAINT LOGICAL_LIBRARY_LLN_UN UNIQUE(LOGICAL_LIBRARY_NAME)," + " CONSTRAINT LOGICAL_LIBRARY_ID_BOOL_CK CHECK(IS_DISABLED IN ('0', '1'))" + ");" + "CREATE TABLE TAPE(" + " VID VARCHAR(100) CONSTRAINT TAPE_V_NN NOT NULL," + " MEDIA_TYPE VARCHAR(100) CONSTRAINT TAPE_MT_NN NOT NULL," + " VENDOR VARCHAR(100) CONSTRAINT TAPE_V2_NN NOT NULL," + " LOGICAL_LIBRARY_ID BIGINT UNSIGNED CONSTRAINT TAPE_LLI_NN NOT NULL," + " TAPE_POOL_ID BIGINT UNSIGNED CONSTRAINT TAPE_TPI_NN NOT NULL," + " ENCRYPTION_KEY_NAME VARCHAR(100)," + " CAPACITY_IN_BYTES BIGINT UNSIGNED CONSTRAINT TAPE_CIB_NN NOT NULL," + " DATA_IN_BYTES BIGINT UNSIGNED CONSTRAINT TAPE_DIB_NN NOT NULL," + " LAST_FSEQ BIGINT UNSIGNED CONSTRAINT TAPE_LF_NN NOT NULL," + " NB_MASTER_FILES BIGINT UNSIGNED DEFAULT 0 CONSTRAINT TAPE_NB_MASTER_FILES_NN NOT NULL," + " MASTER_DATA_IN_BYTES BIGINT UNSIGNED DEFAULT 0 CONSTRAINT TAPE_MASTER_DATA_IN_BYTES_NN NOT NULL," + " IS_DISABLED CHAR(1) CONSTRAINT TAPE_ID_NN NOT NULL," + " IS_FULL CHAR(1) CONSTRAINT TAPE_IF_NN NOT NULL," + " IS_READ_ONLY CHAR(1) CONSTRAINT TAPE_IRO_NN NOT NULL," + " IS_FROM_CASTOR CHAR(1) CONSTRAINT TAPE_IFC_NN NOT NULL," + " IS_ARCHIVED CHAR(1) DEFAULT '0' CONSTRAINT TAPE_IA_NN NOT NULL," + " IS_EXPORTED CHAR(1) DEFAULT '0' CONSTRAINT TAPE_IE_NN NOT NULL," + " DIRTY CHAR(1) DEFAULT '1' CONSTRAINT TAPE_DIRTY_NN NOT NULL," + " LABEL_DRIVE VARCHAR(100)," + " LABEL_TIME BIGINT UNSIGNED ," + " LAST_READ_DRIVE VARCHAR(100)," + " LAST_READ_TIME BIGINT UNSIGNED ," + " LAST_WRITE_DRIVE VARCHAR(100)," + " LAST_WRITE_TIME BIGINT UNSIGNED ," + " READ_MOUNT_COUNT BIGINT UNSIGNED DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL," + " WRITE_MOUNT_COUNT BIGINT UNSIGNED DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL," + " USER_COMMENT VARCHAR(1000) CONSTRAINT TAPE_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT TAPE_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT TAPE_CLHN_NN NOT NULL," + " CREATION_LOG_TIME BIGINT UNSIGNED CONSTRAINT TAPE_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT TAPE_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT TAPE_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME BIGINT UNSIGNED CONSTRAINT TAPE_LUT_NN NOT NULL," + " CONSTRAINT TAPE_PK PRIMARY KEY(VID)," + " CONSTRAINT TAPE_LOGICAL_LIBRARY_FK FOREIGN KEY(LOGICAL_LIBRARY_ID) REFERENCES LOGICAL_LIBRARY(LOGICAL_LIBRARY_ID)," + " CONSTRAINT TAPE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID)," + " CONSTRAINT TAPE_IS_DISABLED_BOOL_CK CHECK(IS_DISABLED IN ('0', '1'))," + " CONSTRAINT TAPE_IS_FULL_BOOL_CK CHECK(IS_FULL IN ('0', '1'))," + " CONSTRAINT TAPE_IS_READ_ONLY_BOOL_CK CHECK(IS_READ_ONLY IN ('0', '1'))," + " CONSTRAINT TAPE_IS_FROM_CASTOR_BOOL_CK CHECK(IS_FROM_CASTOR IN ('0', '1'))," + " CONSTRAINT TAPE_IS_ARCHVIED_BOOL_CK CHECK(IS_ARCHIVED IN ('0', '1'))," + " CONSTRAINT TAPE_IS_EXPORTED_BOOL_CK CHECK(IS_EXPORTED IN ('0', '1'))," + " CONSTRAINT TAPE_DIRTY_BOOL_CK CHECK(DIRTY IN ('0','1'))" + ");" + "CREATE INDEX TAPE_TAPE_POOL_ID_IDX ON TAPE(TAPE_POOL_ID);" + "CREATE TABLE MOUNT_POLICY(" + " MOUNT_POLICY_NAME VARCHAR(100) CONSTRAINT MOUNT_POLICY_MPN_NN NOT NULL," + " ARCHIVE_PRIORITY BIGINT UNSIGNED CONSTRAINT MOUNT_POLICY_AP_NN NOT NULL," + " ARCHIVE_MIN_REQUEST_AGE BIGINT UNSIGNED CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL," + " RETRIEVE_PRIORITY BIGINT UNSIGNED CONSTRAINT MOUNT_POLICY_RP_NN NOT NULL," + " RETRIEVE_MIN_REQUEST_AGE BIGINT UNSIGNED CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL," + " MAX_DRIVES_ALLOWED BIGINT UNSIGNED CONSTRAINT MOUNT_POLICY_MDA_NN NOT NULL," + " USER_COMMENT VARCHAR(1000) CONSTRAINT MOUNT_POLICY_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL," + " CREATION_LOG_TIME BIGINT UNSIGNED CONSTRAINT MOUNT_POLICY_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME BIGINT UNSIGNED CONSTRAINT MOUNT_POLICY_LUT_NN NOT NULL," + " CONSTRAINT MOUNT_POLICY_PK PRIMARY KEY(MOUNT_POLICY_NAME)" + ");" + "CREATE TABLE REQUESTER_MOUNT_RULE(" + " DISK_INSTANCE_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_DIN_NN NOT NULL," + " REQUESTER_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_RN_NN NOT NULL," + " MOUNT_POLICY_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_MPN_NN NOT NULL," + " USER_COMMENT VARCHAR(1000) CONSTRAINT RQSTER_RULE_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL," + " CREATION_LOG_TIME BIGINT UNSIGNED CONSTRAINT RQSTER_RULE_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME BIGINT UNSIGNED CONSTRAINT RQSTER_RULE_LUT_NN NOT NULL," + " CONSTRAINT RQSTER_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_NAME)," + " CONSTRAINT RQSTER_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)" + " REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)" + ");" + "CREATE TABLE REQUESTER_GROUP_MOUNT_RULE(" + " DISK_INSTANCE_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_DIN_NN NOT NULL," + " REQUESTER_GROUP_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_RGN_NN NOT NULL," + " MOUNT_POLICY_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_MPN_NN NOT NULL," + " USER_COMMENT VARCHAR(1000) CONSTRAINT RQSTER_GRP_RULE_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL," + " CREATION_LOG_TIME BIGINT UNSIGNED CONSTRAINT RQSTER_GRP_RULE_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME BIGINT UNSIGNED CONSTRAINT RQSTER_GRP_RULE_LUT_NN NOT NULL," + " CONSTRAINT RQSTER_GRP_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_GROUP_NAME)," + " CONSTRAINT RQSTER_GRP_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)" + " REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)" + ");" + "CREATE TABLE ARCHIVE_FILE(" + " ARCHIVE_FILE_ID BIGINT UNSIGNED CONSTRAINT ARCHIVE_FILE_AFI_NN NOT NULL," + " DISK_INSTANCE_NAME VARCHAR(100) CONSTRAINT ARCHIVE_FILE_DIN_NN NOT NULL," + " DISK_FILE_ID VARCHAR(100) CONSTRAINT ARCHIVE_FILE_DFI_NN NOT NULL," + " DISK_FILE_PATH VARCHAR(2000) CONSTRAINT ARCHIVE_FILE_DFP_NN NOT NULL," + " DISK_FILE_UID INT UNSIGNED CONSTRAINT ARCHIVE_FILE_DFUID_NN NOT NULL," + " DISK_FILE_GID INT UNSIGNED CONSTRAINT ARCHIVE_FILE_DFGID_NN NOT NULL," + " SIZE_IN_BYTES BIGINT UNSIGNED CONSTRAINT ARCHIVE_FILE_SIB_NN NOT NULL," + " CHECKSUM_BLOB VARBINARY(200)," + " CHECKSUM_ADLER32 INT UNSIGNED CONSTRAINT ARCHIVE_FILE_CB2_NN NOT NULL," + " STORAGE_CLASS_ID BIGINT UNSIGNED CONSTRAINT ARCHIVE_FILE_SCI_NN NOT NULL," + " CREATION_TIME BIGINT UNSIGNED CONSTRAINT ARCHIVE_FILE_CT2_NN NOT NULL," + " RECONCILIATION_TIME BIGINT UNSIGNED CONSTRAINT ARCHIVE_FILE_RT_NN NOT NULL," + " IS_DELETED CHAR(1) DEFAULT '0' CONSTRAINT ARCHIVE_FILE_ID_NN NOT NULL," + " COLLOCATION_HINT VARCHAR(100)," + " CONSTRAINT ARCHIVE_FILE_PK PRIMARY KEY(ARCHIVE_FILE_ID)," + " CONSTRAINT ARCHIVE_FILE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID)," + " CONSTRAINT ARCHIVE_FILE_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID)," + " CONSTRAINT ARCHIVE_FILE_ID_BOOL_CK CHECK(IS_DELETED IN ('0', '1'))" + ");" + "CREATE INDEX ARCHIVE_FILE_DIN_DFP_IDX ON ARCHIVE_FILE(DISK_INSTANCE_NAME, DISK_FILE_PATH);" + "CREATE INDEX ARCHIVE_FILE_DFI_IDX ON ARCHIVE_FILE(DISK_FILE_ID);" + "CREATE TABLE TAPE_FILE(" + " VID VARCHAR(100) CONSTRAINT TAPE_FILE_V_NN NOT NULL," + " FSEQ BIGINT UNSIGNED CONSTRAINT TAPE_FILE_F_NN NOT NULL," + " BLOCK_ID BIGINT UNSIGNED CONSTRAINT TAPE_FILE_BI_NN NOT NULL," + " LOGICAL_SIZE_IN_BYTES BIGINT UNSIGNED CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL," + " COPY_NB TINYINT UNSIGNED CONSTRAINT TAPE_FILE_CN_NN NOT NULL," + " CREATION_TIME BIGINT UNSIGNED CONSTRAINT TAPE_FILE_CT_NN NOT NULL," + " ARCHIVE_FILE_ID BIGINT UNSIGNED CONSTRAINT TAPE_FILE_AFI_NN NOT NULL," + " SUPERSEDED_BY_VID VARCHAR(100)," + " SUPERSEDED_BY_FSEQ BIGINT UNSIGNED ," + " WRITE_START_WRAP SMALLINT UNSIGNED," + " WRITE_START_LPOS INT UNSIGNED," + " WRITE_END_WRAP SMALLINT UNSIGNED," + " WRITE_END_LPOS INT UNSIGNED," + " READ_START_WRAP SMALLINT UNSIGNED," + " READ_START_LPOS INT UNSIGNED," + " READ_END_WRAP SMALLINT UNSIGNED," + " READ_END_LPOS INT UNSIGNED," + " CONSTRAINT TAPE_FILE_PK PRIMARY KEY(VID, FSEQ)," + " CONSTRAINT TAPE_FILE_TAPE_FK FOREIGN KEY(VID)" + " REFERENCES TAPE(VID)," + " CONSTRAINT TAPE_FILE_ARCHIVE_FILE_FK FOREIGN KEY(ARCHIVE_FILE_ID)" + " REFERENCES ARCHIVE_FILE(ARCHIVE_FILE_ID)," + " CONSTRAINT TAPE_FILE_VID_BLOCK_ID_UN UNIQUE(VID, BLOCK_ID)," + " CONSTRAINT TAPE_FILE_COPY_NB_GT_0_CK CHECK(COPY_NB > 0)," + " CONSTRAINT TAPE_FILE_SS_VID_FSEQ_FK FOREIGN KEY(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ)" + " REFERENCES TAPE_FILE(VID, FSEQ)" + ");" + "CREATE INDEX TAPE_FILE_VID_IDX ON TAPE_FILE(VID);" + "CREATE INDEX TAPE_FILE_ARCHIVE_FILE_ID_IDX ON TAPE_FILE(ARCHIVE_FILE_ID);" + "CREATE INDEX TAPE_FILE_SBV_SBF_IDX ON TAPE_FILE(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ);" + "CREATE TABLE ACTIVITIES_WEIGHTS (" + " DISK_INSTANCE_NAME VARCHAR(100)," + " ACTIVITY VARCHAR(100)," + " WEIGHT VARCHAR(100)," + " USER_COMMENT VARCHAR(1000) CONSTRAINT ACTIV_WEIGHTS_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL," + " CREATION_LOG_TIME BIGINT UNSIGNED CONSTRAINT ACTIV_WEIGHTS_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME BIGINT UNSIGNED CONSTRAINT ACTIV_WEIGHTS_LUT_NN NOT NULL" + ");" + "CREATE TABLE USAGESTATS (" + " GID INT UNSIGNED DEFAULT 0 CONSTRAINT USAGESTATS_GID_NN NOT NULL," + " TIMESTAMP BIGINT UNSIGNED DEFAULT 0 CONSTRAINT USAGESTATS_TS_NN NOT NULL," + " MAXFILEID BIGINT UNSIGNED," + " FILECOUNT BIGINT UNSIGNED," + " FILESIZE BIGINT UNSIGNED," + " SEGCOUNT BIGINT UNSIGNED," + " SEGSIZE BIGINT UNSIGNED," + " SEG2COUNT BIGINT UNSIGNED," + " SEG2SIZE BIGINT UNSIGNED," + " CONSTRAINT USAGESTATS_GID_TS_PK PRIMARY KEY (GID, TIMESTAMP)" + ");" + "CREATE TABLE EXPERIMENTS (" + " NAME VARCHAR(20)," + " GID INT UNSIGNED CONSTRAINT EXPERIMENTS_GID_PK PRIMARY KEY" + ");" + "INSERT INTO CTA_CATALOGUE(" + " SCHEMA_VERSION_MAJOR," + " SCHEMA_VERSION_MINOR," + " STATUS)" + "VALUES(" + " 1," + " 2," + " 'PRODUCTION');" + "ALTER TABLE CTA_CATALOGUE ADD CONSTRAINT " + " CATALOGUE_STATUS_CONTENT_CK CHECK((NEXT_SCHEMA_VERSION_MAJOR IS NULL AND NEXT_SCHEMA_VERSION_MINOR IS NULL AND STATUS='PRODUCTION') OR (STATUS='UPGRADING'));" + }, + {"sqlite", "CREATE TABLE ARCHIVE_FILE_ID(" + " ID INTEGER PRIMARY KEY AUTOINCREMENT" + ");" + "CREATE TABLE LOGICAL_LIBRARY_ID(" + " ID INTEGER PRIMARY KEY AUTOINCREMENT" + ");" + "CREATE TABLE STORAGE_CLASS_ID(" + " ID INTEGER PRIMARY KEY AUTOINCREMENT" + ");" + "CREATE TABLE TAPE_POOL_ID(" + " ID INTEGER PRIMARY KEY AUTOINCREMENT" + ");" + "CREATE TABLE CTA_CATALOGUE(" + " SCHEMA_VERSION_MAJOR INTEGER CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL," + " SCHEMA_VERSION_MINOR INTEGER CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL," + " NEXT_SCHEMA_VERSION_MAJOR INTEGER," + " NEXT_SCHEMA_VERSION_MINOR INTEGER," + " STATUS VARCHAR(100)" + ");" + "CREATE TABLE ADMIN_USER(" + " ADMIN_USER_NAME VARCHAR(100) CONSTRAINT ADMIN_USER_AUN_NN NOT NULL," + " USER_COMMENT VARCHAR(1000) CONSTRAINT ADMIN_USER_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL," + " CREATION_LOG_TIME INTEGER CONSTRAINT ADMIN_USER_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME INTEGER CONSTRAINT ADMIN_USER_LUT_NN NOT NULL," + " CONSTRAINT ADMIN_USER_PK PRIMARY KEY(ADMIN_USER_NAME)" + ");" + "CREATE TABLE DISK_SYSTEM(" + " DISK_SYSTEM_NAME VARCHAR(100) CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL," + " FILE_REGEXP VARCHAR(100) CONSTRAINT DISK_SYSTEM_FR_NN NOT NULL," + " FREE_SPACE_QUERY_URL VARCHAR(1000) CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL," + " REFRESH_INTERVAL INTEGER CONSTRAINT DISK_SYSTEM_RI_NN NOT NULL," + " TARGETED_FREE_SPACE INTEGER CONSTRAINT DISK_SYSTEM_TFS_NN NOT NULL," + " SLEEP_TIME INTEGER CONSTRAINT DISK_SYSTEM_ST_NN NOT NULL," + " USER_COMMENT VARCHAR(1000) CONSTRAINT DISK_SYSTEM_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL," + " CREATION_LOG_TIME INTEGER CONSTRAINT DISK_SYSTEM_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME INTEGER CONSTRAINT DISK_SYSTEM_LUT_NN NOT NULL," + " CONSTRAINT NAME_PK PRIMARY KEY(DISK_SYSTEM_NAME)" + ");" + "CREATE TABLE STORAGE_CLASS(" + " STORAGE_CLASS_ID INTEGER CONSTRAINT STORAGE_CLASS_SCI_NN NOT NULL," + " DISK_INSTANCE_NAME VARCHAR(100) CONSTRAINT STORAGE_CLASS_DIN_NN NOT NULL," + " STORAGE_CLASS_NAME VARCHAR(100) CONSTRAINT STORAGE_CLASS_SCN_NN NOT NULL," + " NB_COPIES INTEGER CONSTRAINT STORAGE_CLASS_NC_NN NOT NULL," + " USER_COMMENT VARCHAR(1000) CONSTRAINT STORAGE_CLASS_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL," + " CREATION_LOG_TIME INTEGER CONSTRAINT STORAGE_CLASS_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME INTEGER CONSTRAINT STORAGE_CLASS_LUT_NN NOT NULL," + " CONSTRAINT STORAGE_CLASS_PK PRIMARY KEY(STORAGE_CLASS_ID)," + " CONSTRAINT STORAGE_CLASS_SCN_UN UNIQUE(STORAGE_CLASS_NAME)" + ");" + "CREATE TABLE TAPE_POOL(" + " TAPE_POOL_ID INTEGER CONSTRAINT TAPE_POOL_TPI_NN NOT NULL," + " TAPE_POOL_NAME VARCHAR(100) CONSTRAINT TAPE_POOL_TPN_NN NOT NULL," + " VO VARCHAR(100) CONSTRAINT TAPE_POOL_VO_NN NOT NULL," + " NB_PARTIAL_TAPES INTEGER CONSTRAINT TAPE_POOL_NPT_NN NOT NULL," + " IS_ENCRYPTED CHAR(1) CONSTRAINT TAPE_POOL_IE_NN NOT NULL," + " SUPPLY VARCHAR(100)," + " USER_COMMENT VARCHAR(1000) CONSTRAINT TAPE_POOL_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL," + " CREATION_LOG_TIME INTEGER CONSTRAINT TAPE_POOL_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME INTEGER CONSTRAINT TAPE_POOL_LUT_NN NOT NULL," + " CONSTRAINT TAPE_POOL_PK PRIMARY KEY(TAPE_POOL_ID)," + " CONSTRAINT TAPE_POOL_TPN_UN UNIQUE(TAPE_POOL_NAME)," + " CONSTRAINT TAPE_POOL_IS_ENCRYPTED_BOOL_CK CHECK(IS_ENCRYPTED IN ('0', '1'))" + ");" + "CREATE TABLE ARCHIVE_ROUTE(" + " STORAGE_CLASS_ID INTEGER CONSTRAINT ARCHIVE_ROUTE_SCI_NN NOT NULL," + " COPY_NB INTEGER CONSTRAINT ARCHIVE_ROUTE_CN_NN NOT NULL," + " TAPE_POOL_ID INTEGER CONSTRAINT ARCHIVE_ROUTE_TPI_NN NOT NULL," + " USER_COMMENT VARCHAR(1000) CONSTRAINT ARCHIVE_ROUTE_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL," + " CREATION_LOG_TIME INTEGER CONSTRAINT ARCHIVE_ROUTE_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME INTEGER CONSTRAINT ARCHIVE_ROUTE_LUT_NN NOT NULL," + " CONSTRAINT ARCHIVE_ROUTE_PK PRIMARY KEY(STORAGE_CLASS_ID, COPY_NB)," + " CONSTRAINT ARCHIVE_ROUTE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID)," + " CONSTRAINT ARCHIVE_ROUTE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID)," + " CONSTRAINT ARCHIVE_ROUTE_COPY_NB_GT_0_CK CHECK(COPY_NB > 0)," + " CONSTRAINT ARCHIVE_ROUTE_SCI_TPI_UN UNIQUE(STORAGE_CLASS_ID, TAPE_POOL_ID)" + ");" + "CREATE TABLE LOGICAL_LIBRARY(" + " LOGICAL_LIBRARY_ID INTEGER CONSTRAINT LOGICAL_LIBRARY_LLI_NN NOT NULL," + " LOGICAL_LIBRARY_NAME VARCHAR(100) CONSTRAINT LOGICAL_LIBRARY_LLN_NN NOT NULL," + " IS_DISABLED CHAR(1) DEFAULT '0' CONSTRAINT LOGICAL_LIBRARY_ID_NN NOT NULL," + " USER_COMMENT VARCHAR(1000) CONSTRAINT LOGICAL_LIBRARY_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL," + " CREATION_LOG_TIME INTEGER CONSTRAINT LOGICAL_LIBRARY_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME INTEGER CONSTRAINT LOGICAL_LIBRARY_LUT_NN NOT NULL," + " CONSTRAINT LOGICAL_LIBRARY_PK PRIMARY KEY(LOGICAL_LIBRARY_ID)," + " CONSTRAINT LOGICAL_LIBRARY_LLN_UN UNIQUE(LOGICAL_LIBRARY_NAME)," + " CONSTRAINT LOGICAL_LIBRARY_ID_BOOL_CK CHECK(IS_DISABLED IN ('0', '1'))" + ");" + "CREATE TABLE TAPE(" + " VID VARCHAR(100) CONSTRAINT TAPE_V_NN NOT NULL," + " MEDIA_TYPE VARCHAR(100) CONSTRAINT TAPE_MT_NN NOT NULL," + " VENDOR VARCHAR(100) CONSTRAINT TAPE_V2_NN NOT NULL," + " LOGICAL_LIBRARY_ID INTEGER CONSTRAINT TAPE_LLI_NN NOT NULL," + " TAPE_POOL_ID INTEGER CONSTRAINT TAPE_TPI_NN NOT NULL," + " ENCRYPTION_KEY_NAME VARCHAR(100)," + " CAPACITY_IN_BYTES INTEGER CONSTRAINT TAPE_CIB_NN NOT NULL," + " DATA_IN_BYTES INTEGER CONSTRAINT TAPE_DIB_NN NOT NULL," + " LAST_FSEQ INTEGER CONSTRAINT TAPE_LF_NN NOT NULL," + " NB_MASTER_FILES INTEGER DEFAULT 0 CONSTRAINT TAPE_NB_MASTER_FILES_NN NOT NULL," + " MASTER_DATA_IN_BYTES INTEGER DEFAULT 0 CONSTRAINT TAPE_MASTER_DATA_IN_BYTES_NN NOT NULL," + " IS_DISABLED CHAR(1) CONSTRAINT TAPE_ID_NN NOT NULL," + " IS_FULL CHAR(1) CONSTRAINT TAPE_IF_NN NOT NULL," + " IS_READ_ONLY CHAR(1) CONSTRAINT TAPE_IRO_NN NOT NULL," + " IS_FROM_CASTOR CHAR(1) CONSTRAINT TAPE_IFC_NN NOT NULL," + " IS_ARCHIVED CHAR(1) DEFAULT '0' CONSTRAINT TAPE_IA_NN NOT NULL," + " IS_EXPORTED CHAR(1) DEFAULT '0' CONSTRAINT TAPE_IE_NN NOT NULL," + " DIRTY CHAR(1) DEFAULT '1' CONSTRAINT TAPE_DIRTY_NN NOT NULL," + " LABEL_DRIVE VARCHAR(100)," + " LABEL_TIME INTEGER ," + " LAST_READ_DRIVE VARCHAR(100)," + " LAST_READ_TIME INTEGER ," + " LAST_WRITE_DRIVE VARCHAR(100)," + " LAST_WRITE_TIME INTEGER ," + " READ_MOUNT_COUNT INTEGER DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL," + " WRITE_MOUNT_COUNT INTEGER DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL," + " USER_COMMENT VARCHAR(1000) CONSTRAINT TAPE_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT TAPE_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT TAPE_CLHN_NN NOT NULL," + " CREATION_LOG_TIME INTEGER CONSTRAINT TAPE_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT TAPE_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT TAPE_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME INTEGER CONSTRAINT TAPE_LUT_NN NOT NULL," + " CONSTRAINT TAPE_PK PRIMARY KEY(VID)," + " CONSTRAINT TAPE_LOGICAL_LIBRARY_FK FOREIGN KEY(LOGICAL_LIBRARY_ID) REFERENCES LOGICAL_LIBRARY(LOGICAL_LIBRARY_ID)," + " CONSTRAINT TAPE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID)," + " CONSTRAINT TAPE_IS_DISABLED_BOOL_CK CHECK(IS_DISABLED IN ('0', '1'))," + " CONSTRAINT TAPE_IS_FULL_BOOL_CK CHECK(IS_FULL IN ('0', '1'))," + " CONSTRAINT TAPE_IS_READ_ONLY_BOOL_CK CHECK(IS_READ_ONLY IN ('0', '1'))," + " CONSTRAINT TAPE_IS_FROM_CASTOR_BOOL_CK CHECK(IS_FROM_CASTOR IN ('0', '1'))," + " CONSTRAINT TAPE_IS_ARCHVIED_BOOL_CK CHECK(IS_ARCHIVED IN ('0', '1'))," + " CONSTRAINT TAPE_IS_EXPORTED_BOOL_CK CHECK(IS_EXPORTED IN ('0', '1'))," + " CONSTRAINT TAPE_DIRTY_BOOL_CK CHECK(DIRTY IN ('0','1'))" + ");" + "CREATE INDEX TAPE_TAPE_POOL_ID_IDX ON TAPE(TAPE_POOL_ID);" + "CREATE TABLE MOUNT_POLICY(" + " MOUNT_POLICY_NAME VARCHAR(100) CONSTRAINT MOUNT_POLICY_MPN_NN NOT NULL," + " ARCHIVE_PRIORITY INTEGER CONSTRAINT MOUNT_POLICY_AP_NN NOT NULL," + " ARCHIVE_MIN_REQUEST_AGE INTEGER CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL," + " RETRIEVE_PRIORITY INTEGER CONSTRAINT MOUNT_POLICY_RP_NN NOT NULL," + " RETRIEVE_MIN_REQUEST_AGE INTEGER CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL," + " MAX_DRIVES_ALLOWED INTEGER CONSTRAINT MOUNT_POLICY_MDA_NN NOT NULL," + " USER_COMMENT VARCHAR(1000) CONSTRAINT MOUNT_POLICY_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL," + " CREATION_LOG_TIME INTEGER CONSTRAINT MOUNT_POLICY_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME INTEGER CONSTRAINT MOUNT_POLICY_LUT_NN NOT NULL," + " CONSTRAINT MOUNT_POLICY_PK PRIMARY KEY(MOUNT_POLICY_NAME)" + ");" + "CREATE TABLE REQUESTER_MOUNT_RULE(" + " DISK_INSTANCE_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_DIN_NN NOT NULL," + " REQUESTER_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_RN_NN NOT NULL," + " MOUNT_POLICY_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_MPN_NN NOT NULL," + " USER_COMMENT VARCHAR(1000) CONSTRAINT RQSTER_RULE_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL," + " CREATION_LOG_TIME INTEGER CONSTRAINT RQSTER_RULE_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME INTEGER CONSTRAINT RQSTER_RULE_LUT_NN NOT NULL," + " CONSTRAINT RQSTER_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_NAME)," + " CONSTRAINT RQSTER_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)" + " REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)" + ");" + "CREATE TABLE REQUESTER_GROUP_MOUNT_RULE(" + " DISK_INSTANCE_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_DIN_NN NOT NULL," + " REQUESTER_GROUP_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_RGN_NN NOT NULL," + " MOUNT_POLICY_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_MPN_NN NOT NULL," + " USER_COMMENT VARCHAR(1000) CONSTRAINT RQSTER_GRP_RULE_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL," + " CREATION_LOG_TIME INTEGER CONSTRAINT RQSTER_GRP_RULE_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME INTEGER CONSTRAINT RQSTER_GRP_RULE_LUT_NN NOT NULL," + " CONSTRAINT RQSTER_GRP_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_GROUP_NAME)," + " CONSTRAINT RQSTER_GRP_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)" + " REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)" + ");" + "CREATE TABLE ARCHIVE_FILE(" + " ARCHIVE_FILE_ID INTEGER CONSTRAINT ARCHIVE_FILE_AFI_NN NOT NULL," + " DISK_INSTANCE_NAME VARCHAR(100) CONSTRAINT ARCHIVE_FILE_DIN_NN NOT NULL," + " DISK_FILE_ID VARCHAR(100) CONSTRAINT ARCHIVE_FILE_DFI_NN NOT NULL," + " DISK_FILE_PATH VARCHAR(2000) CONSTRAINT ARCHIVE_FILE_DFP_NN NOT NULL," + " DISK_FILE_UID INTEGER CONSTRAINT ARCHIVE_FILE_DFUID_NN NOT NULL," + " DISK_FILE_GID INTEGER CONSTRAINT ARCHIVE_FILE_DFGID_NN NOT NULL," + " SIZE_IN_BYTES INTEGER CONSTRAINT ARCHIVE_FILE_SIB_NN NOT NULL," + " CHECKSUM_BLOB BLOB(200)," + " CHECKSUM_ADLER32 INTEGER CONSTRAINT ARCHIVE_FILE_CB2_NN NOT NULL," + " STORAGE_CLASS_ID INTEGER CONSTRAINT ARCHIVE_FILE_SCI_NN NOT NULL," + " CREATION_TIME INTEGER CONSTRAINT ARCHIVE_FILE_CT2_NN NOT NULL," + " RECONCILIATION_TIME INTEGER CONSTRAINT ARCHIVE_FILE_RT_NN NOT NULL," + " IS_DELETED CHAR(1) DEFAULT '0' CONSTRAINT ARCHIVE_FILE_ID_NN NOT NULL," + " COLLOCATION_HINT VARCHAR(100)," + " CONSTRAINT ARCHIVE_FILE_PK PRIMARY KEY(ARCHIVE_FILE_ID)," + " CONSTRAINT ARCHIVE_FILE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID)," + " CONSTRAINT ARCHIVE_FILE_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID)," + " CONSTRAINT ARCHIVE_FILE_ID_BOOL_CK CHECK(IS_DELETED IN ('0', '1'))" + ");" + "CREATE INDEX ARCHIVE_FILE_DIN_DFP_IDX ON ARCHIVE_FILE(DISK_INSTANCE_NAME, DISK_FILE_PATH);" + "CREATE INDEX ARCHIVE_FILE_DFI_IDX ON ARCHIVE_FILE(DISK_FILE_ID);" + "CREATE TABLE TAPE_FILE(" + " VID VARCHAR(100) CONSTRAINT TAPE_FILE_V_NN NOT NULL," + " FSEQ INTEGER CONSTRAINT TAPE_FILE_F_NN NOT NULL," + " BLOCK_ID INTEGER CONSTRAINT TAPE_FILE_BI_NN NOT NULL," + " LOGICAL_SIZE_IN_BYTES INTEGER CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL," + " COPY_NB INTEGER CONSTRAINT TAPE_FILE_CN_NN NOT NULL," + " CREATION_TIME INTEGER CONSTRAINT TAPE_FILE_CT_NN NOT NULL," + " ARCHIVE_FILE_ID INTEGER CONSTRAINT TAPE_FILE_AFI_NN NOT NULL," + " SUPERSEDED_BY_VID VARCHAR(100)," + " SUPERSEDED_BY_FSEQ INTEGER ," + " WRITE_START_WRAP INTEGER," + " WRITE_START_LPOS INTEGER," + " WRITE_END_WRAP INTEGER," + " WRITE_END_LPOS INTEGER," + " READ_START_WRAP INTEGER," + " READ_START_LPOS INTEGER," + " READ_END_WRAP INTEGER," + " READ_END_LPOS INTEGER," + " CONSTRAINT TAPE_FILE_PK PRIMARY KEY(VID, FSEQ)," + " CONSTRAINT TAPE_FILE_TAPE_FK FOREIGN KEY(VID)" + " REFERENCES TAPE(VID)," + " CONSTRAINT TAPE_FILE_ARCHIVE_FILE_FK FOREIGN KEY(ARCHIVE_FILE_ID)" + " REFERENCES ARCHIVE_FILE(ARCHIVE_FILE_ID)," + " CONSTRAINT TAPE_FILE_VID_BLOCK_ID_UN UNIQUE(VID, BLOCK_ID)," + " CONSTRAINT TAPE_FILE_COPY_NB_GT_0_CK CHECK(COPY_NB > 0)," + " CONSTRAINT TAPE_FILE_SS_VID_FSEQ_FK FOREIGN KEY(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ)" + " REFERENCES TAPE_FILE(VID, FSEQ)" + ");" + "CREATE INDEX TAPE_FILE_VID_IDX ON TAPE_FILE(VID);" + "CREATE INDEX TAPE_FILE_ARCHIVE_FILE_ID_IDX ON TAPE_FILE(ARCHIVE_FILE_ID);" + "CREATE INDEX TAPE_FILE_SBV_SBF_IDX ON TAPE_FILE(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ);" + "CREATE TABLE ACTIVITIES_WEIGHTS (" + " DISK_INSTANCE_NAME VARCHAR(100)," + " ACTIVITY VARCHAR(100)," + " WEIGHT VARCHAR(100)," + " USER_COMMENT VARCHAR(1000) CONSTRAINT ACTIV_WEIGHTS_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL," + " CREATION_LOG_TIME INTEGER CONSTRAINT ACTIV_WEIGHTS_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME INTEGER CONSTRAINT ACTIV_WEIGHTS_LUT_NN NOT NULL" + ");" + "CREATE TABLE USAGESTATS (" + " GID INTEGER DEFAULT 0 CONSTRAINT USAGESTATS_GID_NN NOT NULL," + " TIMESTAMP INTEGER DEFAULT 0 CONSTRAINT USAGESTATS_TS_NN NOT NULL," + " MAXFILEID INTEGER," + " FILECOUNT INTEGER," + " FILESIZE INTEGER," + " SEGCOUNT INTEGER," + " SEGSIZE INTEGER," + " SEG2COUNT INTEGER," + " SEG2SIZE INTEGER," + " CONSTRAINT USAGESTATS_GID_TS_PK PRIMARY KEY (GID, TIMESTAMP)" + ");" + "CREATE TABLE EXPERIMENTS (" + " NAME VARCHAR(20)," + " GID INTEGER CONSTRAINT EXPERIMENTS_GID_PK PRIMARY KEY" + ");" + "INSERT INTO CTA_CATALOGUE(" + " SCHEMA_VERSION_MAJOR," + " SCHEMA_VERSION_MINOR," + " STATUS)" + "VALUES(" + " 1," + " 2," + " 'PRODUCTION');" + }, + {"postgres", "CREATE SEQUENCE ARCHIVE_FILE_ID_SEQ" + " INCREMENT BY 1" + " START WITH 1" + " NO MAXVALUE" + " MINVALUE 1" + " NO CYCLE" + " CACHE 20;" + "CREATE SEQUENCE LOGICAL_LIBRARY_ID_SEQ" + " INCREMENT BY 1" + " START WITH 1" + " NO MAXVALUE" + " MINVALUE 1" + " NO CYCLE" + " CACHE 20;" + "CREATE SEQUENCE STORAGE_CLASS_ID_SEQ" + " INCREMENT BY 1" + " START WITH 1" + " NO MAXVALUE" + " MINVALUE 1" + " NO CYCLE" + " CACHE 20;" + "CREATE SEQUENCE TAPE_POOL_ID_SEQ" + " INCREMENT BY 1" + " START WITH 1" + " NO MAXVALUE" + " MINVALUE 1" + " NO CYCLE" + " CACHE 20;" + "CREATE TABLE CTA_CATALOGUE(" + " SCHEMA_VERSION_MAJOR NUMERIC(20, 0) CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL," + " SCHEMA_VERSION_MINOR NUMERIC(20, 0) CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL," + " NEXT_SCHEMA_VERSION_MAJOR NUMERIC(20, 0)," + " NEXT_SCHEMA_VERSION_MINOR NUMERIC(20, 0)," + " STATUS VARCHAR(100)" + ");" + "CREATE TABLE ADMIN_USER(" + " ADMIN_USER_NAME VARCHAR(100) CONSTRAINT ADMIN_USER_AUN_NN NOT NULL," + " USER_COMMENT VARCHAR(1000) CONSTRAINT ADMIN_USER_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL," + " CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT ADMIN_USER_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT ADMIN_USER_LUT_NN NOT NULL," + " CONSTRAINT ADMIN_USER_PK PRIMARY KEY(ADMIN_USER_NAME)" + ");" + "CREATE TABLE DISK_SYSTEM(" + " DISK_SYSTEM_NAME VARCHAR(100) CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL," + " FILE_REGEXP VARCHAR(100) CONSTRAINT DISK_SYSTEM_FR_NN NOT NULL," + " FREE_SPACE_QUERY_URL VARCHAR(1000) CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL," + " REFRESH_INTERVAL NUMERIC(20, 0) CONSTRAINT DISK_SYSTEM_RI_NN NOT NULL," + " TARGETED_FREE_SPACE NUMERIC(20, 0) CONSTRAINT DISK_SYSTEM_TFS_NN NOT NULL," + " SLEEP_TIME NUMERIC(20, 0) CONSTRAINT DISK_SYSTEM_ST_NN NOT NULL," + " USER_COMMENT VARCHAR(1000) CONSTRAINT DISK_SYSTEM_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL," + " CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT DISK_SYSTEM_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT DISK_SYSTEM_LUT_NN NOT NULL," + " CONSTRAINT NAME_PK PRIMARY KEY(DISK_SYSTEM_NAME)" + ");" + "CREATE TABLE STORAGE_CLASS(" + " STORAGE_CLASS_ID NUMERIC(20, 0) CONSTRAINT STORAGE_CLASS_SCI_NN NOT NULL," + " DISK_INSTANCE_NAME VARCHAR(100) CONSTRAINT STORAGE_CLASS_DIN_NN NOT NULL," + " STORAGE_CLASS_NAME VARCHAR(100) CONSTRAINT STORAGE_CLASS_SCN_NN NOT NULL," + " NB_COPIES NUMERIC(3, 0) CONSTRAINT STORAGE_CLASS_NC_NN NOT NULL," + " USER_COMMENT VARCHAR(1000) CONSTRAINT STORAGE_CLASS_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL," + " CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT STORAGE_CLASS_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT STORAGE_CLASS_LUT_NN NOT NULL," + " CONSTRAINT STORAGE_CLASS_PK PRIMARY KEY(STORAGE_CLASS_ID)," + " CONSTRAINT STORAGE_CLASS_SCN_UN UNIQUE(STORAGE_CLASS_NAME)" + ");" + "CREATE TABLE TAPE_POOL(" + " TAPE_POOL_ID NUMERIC(20, 0) CONSTRAINT TAPE_POOL_TPI_NN NOT NULL," + " TAPE_POOL_NAME VARCHAR(100) CONSTRAINT TAPE_POOL_TPN_NN NOT NULL," + " VO VARCHAR(100) CONSTRAINT TAPE_POOL_VO_NN NOT NULL," + " NB_PARTIAL_TAPES NUMERIC(20, 0) CONSTRAINT TAPE_POOL_NPT_NN NOT NULL," + " IS_ENCRYPTED CHAR(1) CONSTRAINT TAPE_POOL_IE_NN NOT NULL," + " SUPPLY VARCHAR(100)," + " USER_COMMENT VARCHAR(1000) CONSTRAINT TAPE_POOL_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL," + " CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT TAPE_POOL_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT TAPE_POOL_LUT_NN NOT NULL," + " CONSTRAINT TAPE_POOL_PK PRIMARY KEY(TAPE_POOL_ID)," + " CONSTRAINT TAPE_POOL_TPN_UN UNIQUE(TAPE_POOL_NAME)," + " CONSTRAINT TAPE_POOL_IS_ENCRYPTED_BOOL_CK CHECK(IS_ENCRYPTED IN ('0', '1'))" + ");" + "CREATE TABLE ARCHIVE_ROUTE(" + " STORAGE_CLASS_ID NUMERIC(20, 0) CONSTRAINT ARCHIVE_ROUTE_SCI_NN NOT NULL," + " COPY_NB NUMERIC(3, 0) CONSTRAINT ARCHIVE_ROUTE_CN_NN NOT NULL," + " TAPE_POOL_ID NUMERIC(20, 0) CONSTRAINT ARCHIVE_ROUTE_TPI_NN NOT NULL," + " USER_COMMENT VARCHAR(1000) CONSTRAINT ARCHIVE_ROUTE_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL," + " CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT ARCHIVE_ROUTE_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT ARCHIVE_ROUTE_LUT_NN NOT NULL," + " CONSTRAINT ARCHIVE_ROUTE_PK PRIMARY KEY(STORAGE_CLASS_ID, COPY_NB)," + " CONSTRAINT ARCHIVE_ROUTE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID)," + " CONSTRAINT ARCHIVE_ROUTE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID)," + " CONSTRAINT ARCHIVE_ROUTE_COPY_NB_GT_0_CK CHECK(COPY_NB > 0)," + " CONSTRAINT ARCHIVE_ROUTE_SCI_TPI_UN UNIQUE(STORAGE_CLASS_ID, TAPE_POOL_ID)" + ");" + "CREATE TABLE LOGICAL_LIBRARY(" + " LOGICAL_LIBRARY_ID NUMERIC(20, 0) CONSTRAINT LOGICAL_LIBRARY_LLI_NN NOT NULL," + " LOGICAL_LIBRARY_NAME VARCHAR(100) CONSTRAINT LOGICAL_LIBRARY_LLN_NN NOT NULL," + " IS_DISABLED CHAR(1) DEFAULT '0' CONSTRAINT LOGICAL_LIBRARY_ID_NN NOT NULL," + " USER_COMMENT VARCHAR(1000) CONSTRAINT LOGICAL_LIBRARY_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL," + " CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT LOGICAL_LIBRARY_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT LOGICAL_LIBRARY_LUT_NN NOT NULL," + " CONSTRAINT LOGICAL_LIBRARY_PK PRIMARY KEY(LOGICAL_LIBRARY_ID)," + " CONSTRAINT LOGICAL_LIBRARY_LLN_UN UNIQUE(LOGICAL_LIBRARY_NAME)," + " CONSTRAINT LOGICAL_LIBRARY_ID_BOOL_CK CHECK(IS_DISABLED IN ('0', '1'))" + ");" + "CREATE TABLE TAPE(" + " VID VARCHAR(100) CONSTRAINT TAPE_V_NN NOT NULL," + " MEDIA_TYPE VARCHAR(100) CONSTRAINT TAPE_MT_NN NOT NULL," + " VENDOR VARCHAR(100) CONSTRAINT TAPE_V2_NN NOT NULL," + " LOGICAL_LIBRARY_ID NUMERIC(20, 0) CONSTRAINT TAPE_LLI_NN NOT NULL," + " TAPE_POOL_ID NUMERIC(20, 0) CONSTRAINT TAPE_TPI_NN NOT NULL," + " ENCRYPTION_KEY_NAME VARCHAR(100)," + " CAPACITY_IN_BYTES NUMERIC(20, 0) CONSTRAINT TAPE_CIB_NN NOT NULL," + " DATA_IN_BYTES NUMERIC(20, 0) CONSTRAINT TAPE_DIB_NN NOT NULL," + " LAST_FSEQ NUMERIC(20, 0) CONSTRAINT TAPE_LF_NN NOT NULL," + " NB_MASTER_FILES NUMERIC(20, 0) DEFAULT 0 CONSTRAINT TAPE_NB_MASTER_FILES_NN NOT NULL," + " MASTER_DATA_IN_BYTES NUMERIC(20, 0) DEFAULT 0 CONSTRAINT TAPE_MASTER_DATA_IN_BYTES_NN NOT NULL," + " IS_DISABLED CHAR(1) CONSTRAINT TAPE_ID_NN NOT NULL," + " IS_FULL CHAR(1) CONSTRAINT TAPE_IF_NN NOT NULL," + " IS_READ_ONLY CHAR(1) CONSTRAINT TAPE_IRO_NN NOT NULL," + " IS_FROM_CASTOR CHAR(1) CONSTRAINT TAPE_IFC_NN NOT NULL," + " IS_ARCHIVED CHAR(1) DEFAULT '0' CONSTRAINT TAPE_IA_NN NOT NULL," + " IS_EXPORTED CHAR(1) DEFAULT '0' CONSTRAINT TAPE_IE_NN NOT NULL," + " DIRTY CHAR(1) DEFAULT '1' CONSTRAINT TAPE_DIRTY_NN NOT NULL," + " LABEL_DRIVE VARCHAR(100)," + " LABEL_TIME NUMERIC(20, 0) ," + " LAST_READ_DRIVE VARCHAR(100)," + " LAST_READ_TIME NUMERIC(20, 0) ," + " LAST_WRITE_DRIVE VARCHAR(100)," + " LAST_WRITE_TIME NUMERIC(20, 0) ," + " READ_MOUNT_COUNT NUMERIC(20, 0) DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL," + " WRITE_MOUNT_COUNT NUMERIC(20, 0) DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL," + " USER_COMMENT VARCHAR(1000) CONSTRAINT TAPE_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT TAPE_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT TAPE_CLHN_NN NOT NULL," + " CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT TAPE_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT TAPE_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT TAPE_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT TAPE_LUT_NN NOT NULL," + " CONSTRAINT TAPE_PK PRIMARY KEY(VID)," + " CONSTRAINT TAPE_LOGICAL_LIBRARY_FK FOREIGN KEY(LOGICAL_LIBRARY_ID) REFERENCES LOGICAL_LIBRARY(LOGICAL_LIBRARY_ID)," + " CONSTRAINT TAPE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID)," + " CONSTRAINT TAPE_IS_DISABLED_BOOL_CK CHECK(IS_DISABLED IN ('0', '1'))," + " CONSTRAINT TAPE_IS_FULL_BOOL_CK CHECK(IS_FULL IN ('0', '1'))," + " CONSTRAINT TAPE_IS_READ_ONLY_BOOL_CK CHECK(IS_READ_ONLY IN ('0', '1'))," + " CONSTRAINT TAPE_IS_FROM_CASTOR_BOOL_CK CHECK(IS_FROM_CASTOR IN ('0', '1'))," + " CONSTRAINT TAPE_IS_ARCHVIED_BOOL_CK CHECK(IS_ARCHIVED IN ('0', '1'))," + " CONSTRAINT TAPE_IS_EXPORTED_BOOL_CK CHECK(IS_EXPORTED IN ('0', '1'))," + " CONSTRAINT TAPE_DIRTY_BOOL_CK CHECK(DIRTY IN ('0','1'))" + ");" + "CREATE INDEX TAPE_TAPE_POOL_ID_IDX ON TAPE(TAPE_POOL_ID);" + "CREATE TABLE MOUNT_POLICY(" + " MOUNT_POLICY_NAME VARCHAR(100) CONSTRAINT MOUNT_POLICY_MPN_NN NOT NULL," + " ARCHIVE_PRIORITY NUMERIC(20, 0) CONSTRAINT MOUNT_POLICY_AP_NN NOT NULL," + " ARCHIVE_MIN_REQUEST_AGE NUMERIC(20, 0) CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL," + " RETRIEVE_PRIORITY NUMERIC(20, 0) CONSTRAINT MOUNT_POLICY_RP_NN NOT NULL," + " RETRIEVE_MIN_REQUEST_AGE NUMERIC(20, 0) CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL," + " MAX_DRIVES_ALLOWED NUMERIC(20, 0) CONSTRAINT MOUNT_POLICY_MDA_NN NOT NULL," + " USER_COMMENT VARCHAR(1000) CONSTRAINT MOUNT_POLICY_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL," + " CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT MOUNT_POLICY_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT MOUNT_POLICY_LUT_NN NOT NULL," + " CONSTRAINT MOUNT_POLICY_PK PRIMARY KEY(MOUNT_POLICY_NAME)" + ");" + "CREATE TABLE REQUESTER_MOUNT_RULE(" + " DISK_INSTANCE_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_DIN_NN NOT NULL," + " REQUESTER_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_RN_NN NOT NULL," + " MOUNT_POLICY_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_MPN_NN NOT NULL," + " USER_COMMENT VARCHAR(1000) CONSTRAINT RQSTER_RULE_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL," + " CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT RQSTER_RULE_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT RQSTER_RULE_LUT_NN NOT NULL," + " CONSTRAINT RQSTER_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_NAME)," + " CONSTRAINT RQSTER_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)" + " REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)" + ");" + "CREATE TABLE REQUESTER_GROUP_MOUNT_RULE(" + " DISK_INSTANCE_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_DIN_NN NOT NULL," + " REQUESTER_GROUP_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_RGN_NN NOT NULL," + " MOUNT_POLICY_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_MPN_NN NOT NULL," + " USER_COMMENT VARCHAR(1000) CONSTRAINT RQSTER_GRP_RULE_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL," + " CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT RQSTER_GRP_RULE_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT RQSTER_GRP_RULE_LUT_NN NOT NULL," + " CONSTRAINT RQSTER_GRP_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_GROUP_NAME)," + " CONSTRAINT RQSTER_GRP_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)" + " REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)" + ");" + "CREATE TABLE ARCHIVE_FILE(" + " ARCHIVE_FILE_ID NUMERIC(20, 0) CONSTRAINT ARCHIVE_FILE_AFI_NN NOT NULL," + " DISK_INSTANCE_NAME VARCHAR(100) CONSTRAINT ARCHIVE_FILE_DIN_NN NOT NULL," + " DISK_FILE_ID VARCHAR(100) CONSTRAINT ARCHIVE_FILE_DFI_NN NOT NULL," + " DISK_FILE_PATH VARCHAR(2000) CONSTRAINT ARCHIVE_FILE_DFP_NN NOT NULL," + " DISK_FILE_UID NUMERIC(10, 0) CONSTRAINT ARCHIVE_FILE_DFUID_NN NOT NULL," + " DISK_FILE_GID NUMERIC(10, 0) CONSTRAINT ARCHIVE_FILE_DFGID_NN NOT NULL," + " SIZE_IN_BYTES NUMERIC(20, 0) CONSTRAINT ARCHIVE_FILE_SIB_NN NOT NULL," + " CHECKSUM_BLOB BYTEA," + " CHECKSUM_ADLER32 NUMERIC(10, 0) CONSTRAINT ARCHIVE_FILE_CB2_NN NOT NULL," + " STORAGE_CLASS_ID NUMERIC(20, 0) CONSTRAINT ARCHIVE_FILE_SCI_NN NOT NULL," + " CREATION_TIME NUMERIC(20, 0) CONSTRAINT ARCHIVE_FILE_CT2_NN NOT NULL," + " RECONCILIATION_TIME NUMERIC(20, 0) CONSTRAINT ARCHIVE_FILE_RT_NN NOT NULL," + " IS_DELETED CHAR(1) DEFAULT '0' CONSTRAINT ARCHIVE_FILE_ID_NN NOT NULL," + " COLLOCATION_HINT VARCHAR(100)," + " CONSTRAINT ARCHIVE_FILE_PK PRIMARY KEY(ARCHIVE_FILE_ID)," + " CONSTRAINT ARCHIVE_FILE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID)," + " CONSTRAINT ARCHIVE_FILE_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID)," + " CONSTRAINT ARCHIVE_FILE_ID_BOOL_CK CHECK(IS_DELETED IN ('0', '1'))" + ");" + "CREATE INDEX ARCHIVE_FILE_DIN_DFP_IDX ON ARCHIVE_FILE(DISK_INSTANCE_NAME, DISK_FILE_PATH);" + "CREATE INDEX ARCHIVE_FILE_DFI_IDX ON ARCHIVE_FILE(DISK_FILE_ID);" + "CREATE TABLE TAPE_FILE(" + " VID VARCHAR(100) CONSTRAINT TAPE_FILE_V_NN NOT NULL," + " FSEQ NUMERIC(20, 0) CONSTRAINT TAPE_FILE_F_NN NOT NULL," + " BLOCK_ID NUMERIC(20, 0) CONSTRAINT TAPE_FILE_BI_NN NOT NULL," + " LOGICAL_SIZE_IN_BYTES NUMERIC(20, 0) CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL," + " COPY_NB NUMERIC(3, 0) CONSTRAINT TAPE_FILE_CN_NN NOT NULL," + " CREATION_TIME NUMERIC(20, 0) CONSTRAINT TAPE_FILE_CT_NN NOT NULL," + " ARCHIVE_FILE_ID NUMERIC(20, 0) CONSTRAINT TAPE_FILE_AFI_NN NOT NULL," + " SUPERSEDED_BY_VID VARCHAR(100)," + " SUPERSEDED_BY_FSEQ NUMERIC(20, 0) ," + " WRITE_START_WRAP NUMERIC(5, 0)," + " WRITE_START_LPOS NUMERIC(10, 0)," + " WRITE_END_WRAP NUMERIC(5, 0)," + " WRITE_END_LPOS NUMERIC(10, 0)," + " READ_START_WRAP NUMERIC(5, 0)," + " READ_START_LPOS NUMERIC(10, 0)," + " READ_END_WRAP NUMERIC(5, 0)," + " READ_END_LPOS NUMERIC(10, 0)," + " CONSTRAINT TAPE_FILE_PK PRIMARY KEY(VID, FSEQ)," + " CONSTRAINT TAPE_FILE_TAPE_FK FOREIGN KEY(VID)" + " REFERENCES TAPE(VID)," + " CONSTRAINT TAPE_FILE_ARCHIVE_FILE_FK FOREIGN KEY(ARCHIVE_FILE_ID)" + " REFERENCES ARCHIVE_FILE(ARCHIVE_FILE_ID)," + " CONSTRAINT TAPE_FILE_VID_BLOCK_ID_UN UNIQUE(VID, BLOCK_ID)," + " CONSTRAINT TAPE_FILE_COPY_NB_GT_0_CK CHECK(COPY_NB > 0)," + " CONSTRAINT TAPE_FILE_SS_VID_FSEQ_FK FOREIGN KEY(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ)" + " REFERENCES TAPE_FILE(VID, FSEQ)" + ");" + "CREATE INDEX TAPE_FILE_VID_IDX ON TAPE_FILE(VID);" + "CREATE INDEX TAPE_FILE_ARCHIVE_FILE_ID_IDX ON TAPE_FILE(ARCHIVE_FILE_ID);" + "CREATE INDEX TAPE_FILE_SBV_SBF_IDX ON TAPE_FILE(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ);" + "CREATE TABLE ACTIVITIES_WEIGHTS (" + " DISK_INSTANCE_NAME VARCHAR(100)," + " ACTIVITY VARCHAR(100)," + " WEIGHT VARCHAR(100)," + " USER_COMMENT VARCHAR(1000) CONSTRAINT ACTIV_WEIGHTS_UC_NN NOT NULL," + " CREATION_LOG_USER_NAME VARCHAR(100) CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL," + " CREATION_LOG_HOST_NAME VARCHAR(100) CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL," + " CREATION_LOG_TIME NUMERIC(20, 0) CONSTRAINT ACTIV_WEIGHTS_CLT_NN NOT NULL," + " LAST_UPDATE_USER_NAME VARCHAR(100) CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL," + " LAST_UPDATE_HOST_NAME VARCHAR(100) CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL," + " LAST_UPDATE_TIME NUMERIC(20, 0) CONSTRAINT ACTIV_WEIGHTS_LUT_NN NOT NULL" + ");" + "CREATE TABLE USAGESTATS (" + " GID NUMERIC(10, 0) DEFAULT 0 CONSTRAINT USAGESTATS_GID_NN NOT NULL," + " TIMESTAMP NUMERIC(20, 0) DEFAULT 0 CONSTRAINT USAGESTATS_TS_NN NOT NULL," + " MAXFILEID NUMERIC(20, 0)," + " FILECOUNT NUMERIC(20, 0)," + " FILESIZE NUMERIC(20, 0)," + " SEGCOUNT NUMERIC(20, 0)," + " SEGSIZE NUMERIC(20, 0)," + " SEG2COUNT NUMERIC(20, 0)," + " SEG2SIZE NUMERIC(20, 0)," + " CONSTRAINT USAGESTATS_GID_TS_PK PRIMARY KEY (GID, TIMESTAMP)" + ");" + "CREATE TABLE EXPERIMENTS (" + " NAME VARCHAR(20)," + " GID NUMERIC(10, 0) CONSTRAINT EXPERIMENTS_GID_PK PRIMARY KEY" + ");" + "INSERT INTO CTA_CATALOGUE(" + " SCHEMA_VERSION_MAJOR," + " SCHEMA_VERSION_MINOR," + " STATUS)" + "VALUES(" + " 1," + " 2," + " 'PRODUCTION');" + "ALTER TABLE ARCHIVE_FILE DROP CONSTRAINT" + " ARCHIVE_FILE_DIN_DFI_UN;" + "ALTER TABLE ARCHIVE_FILE ADD CONSTRAINT" + " ARCHIVE_FILE_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID) DEFERRABLE INITIALLY IMMEDIATE;" + "ALTER TABLE CTA_CATALOGUE ADD CONSTRAINT " + " CATALOGUE_STATUS_CONTENT_CK CHECK((NEXT_SCHEMA_VERSION_MAJOR IS NULL AND NEXT_SCHEMA_VERSION_MINOR IS NULL AND STATUS='PRODUCTION') OR (STATUS='UPGRADING'));" + }, + } }, }; }} diff --git a/catalogue/CMakeLists.txt b/catalogue/CMakeLists.txt index b6068408db..7b94693178 100644 --- a/catalogue/CMakeLists.txt +++ b/catalogue/CMakeLists.txt @@ -97,6 +97,8 @@ target_link_libraries (ctacatalogue ctacommon ctardbms) +include(${PROJECT_SOURCE_DIR}/cmake/CTAVersions.cmake) + #Generate insert_cta_catalogue_version.sql configure_file(${CMAKE_CURRENT_SOURCE_DIR}/insert_cta_catalogue_version.sql.in insert_cta_catalogue_version.sql) diff --git a/cmake/CTAVersions.cmake b/cmake/CTAVersions.cmake index c47fc92204..d334925d30 100644 --- a/cmake/CTAVersions.cmake +++ b/cmake/CTAVersions.cmake @@ -4,7 +4,7 @@ set(CTA_RELEASE 1) # Catalogue Schema Version set(CTA_CATALOGUE_SCHEMA_VERSION_MAJOR 1) -set(CTA_CATALOGUE_SCHEMA_VERSION_MINOR 1) +set(CTA_CATALOGUE_SCHEMA_VERSION_MINOR 2) # Shared object internal version (used in SONAME) set(CTA_SOVERSION 0) -- GitLab