diff --git a/catalogue/common_catalogue_schema.sql b/catalogue/common_catalogue_schema.sql index d5cdb26b921ae71326ec17be0b7f7946c36bf8f0..62a667d007b7f61fde5d052bb43624f9e22e6180 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 d383d500f636aa77133e359c902f069e2c7be00e..4a4fff126b5ccea5e04baa729e237c13f69330c2 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`