From 31dc27d266dcaedfd682dd9c2e0139f2a788f9e4 Mon Sep 17 00:00:00 2001 From: Steven Murray <Steven.Murray@cern.ch> Date: Wed, 27 Nov 2019 11:00:19 +0100 Subject: [PATCH] Added IS_ARCHIVED and IS_EXPORTED to the TAPE table --- catalogue/common_catalogue_schema.sql | 6 +++++- catalogue/mysql_catalogue_schema_trigger.sql | 8 ++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/catalogue/common_catalogue_schema.sql b/catalogue/common_catalogue_schema.sql index d5cdb26b92..62a667d007 100644 --- a/catalogue/common_catalogue_schema.sql +++ b/catalogue/common_catalogue_schema.sql @@ -105,6 +105,8 @@ CREATE TABLE TAPE( 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, LABEL_DRIVE VARCHAR(100), LABEL_TIME UINT64TYPE , LAST_READ_DRIVE VARCHAR(100), @@ -127,7 +129,9 @@ CREATE TABLE TAPE( 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_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')) ); CREATE INDEX TAPE_TAPE_POOL_ID_IDX ON TAPE(TAPE_POOL_ID); CREATE TABLE MOUNT_POLICY( diff --git a/catalogue/mysql_catalogue_schema_trigger.sql b/catalogue/mysql_catalogue_schema_trigger.sql index d383d500f6..4a4fff126b 100644 --- a/catalogue/mysql_catalogue_schema_trigger.sql +++ b/catalogue/mysql_catalogue_schema_trigger.sql @@ -74,6 +74,14 @@ CREATE TRIGGER `CHECK_TAPE_BEFORE_UPDATE` BEFORE UPDATE ON `TAPE` SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'TAPE.IS_FROM_CASTOR should be 0 or 1'; END IF; + IF new.IS_ARCHIVED not in ('0','1') THEN + SIGNAL SQLSTATE '45000' + SET MESSAGE_TEXT = 'TAPE.IS_ARCHIVED should be 0 or 1'; + END IF; + IF new.IS_EXPORTED not in ('0','1') THEN + SIGNAL SQLSTATE '45000' + SET MESSAGE_TEXT = 'TAPE.IS_EXPORTED should be 0 or 1'; + END IF; END; CREATE TRIGGER `TAPE_FILE_COPY_NB_GT_ZERO_BEFORE_INSERT` BEFORE INSERT ON `TAPE_FILE` -- GitLab