diff --git a/catalogue/13.0/oracle_catalogue_schema.sql b/catalogue/13.0/oracle_catalogue_schema.sql index cd593d56cc68d3fea70ca6966e4f3c7eef5028f7..409a91592682f9eb38065f8d04d1da2dfdcd261c 100644 --- a/catalogue/13.0/oracle_catalogue_schema.sql +++ b/catalogue/13.0/oracle_catalogue_schema.sql @@ -410,13 +410,15 @@ CREATE TABLE TAPE_FILE( 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, + IS_ACCESSIBLE CHAR(1) DEFAULT '1' CONSTRAINT TAPE_FILE_IA_NN NOT NULL, 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_COPY_NB_GT_0_CK CHECK(COPY_NB > 0), + CONSTRAINT TAPE_FILE_IA_BOOL_CK CHECK(IS_ACCESSIBLE IN ('0', '1')) ); CREATE INDEX TAPE_FILE_VID_IDX ON TAPE_FILE(VID); CREATE INDEX TAPE_FILE_ARCHIVE_FILE_ID_IDX ON TAPE_FILE(ARCHIVE_FILE_ID); diff --git a/catalogue/13.0/postgres_catalogue_schema.sql b/catalogue/13.0/postgres_catalogue_schema.sql index ab50c210d17c33acbb3eec7ed7c7a1ee764b498a..d6ec0e8f61c49ae71c8a8de4e4847376b5790eb1 100644 --- a/catalogue/13.0/postgres_catalogue_schema.sql +++ b/catalogue/13.0/postgres_catalogue_schema.sql @@ -392,13 +392,15 @@ CREATE TABLE TAPE_FILE( 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, + IS_ACCESSIBLE CHAR(1) DEFAULT '1' CONSTRAINT TAPE_FILE_IA_NN NOT NULL, 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_COPY_NB_GT_0_CK CHECK(COPY_NB > 0), + CONSTRAINT TAPE_FILE_IA_BOOL_CK CHECK(IS_ACCESSIBLE IN ('0', '1')) ); CREATE INDEX TAPE_FILE_VID_IDX ON TAPE_FILE(VID); CREATE INDEX TAPE_FILE_ARCHIVE_FILE_ID_IDX ON TAPE_FILE(ARCHIVE_FILE_ID); diff --git a/catalogue/13.0/sqlite_catalogue_schema.sql b/catalogue/13.0/sqlite_catalogue_schema.sql index e56e47e78f58ae614a6dc7a90384f829bba9ad9a..95b1928ed9f595f7cc7aeabf0fac9b39dfc56861 100644 --- a/catalogue/13.0/sqlite_catalogue_schema.sql +++ b/catalogue/13.0/sqlite_catalogue_schema.sql @@ -364,13 +364,15 @@ CREATE TABLE TAPE_FILE( 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, + IS_ACCESSIBLE CHAR(1) DEFAULT '1' CONSTRAINT TAPE_FILE_IA_NN NOT NULL, 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_COPY_NB_GT_0_CK CHECK(COPY_NB > 0), + CONSTRAINT TAPE_FILE_IA_BOOL_CK CHECK(IS_ACCESSIBLE IN ('0', '1')) ); CREATE INDEX TAPE_FILE_VID_IDX ON TAPE_FILE(VID); CREATE INDEX TAPE_FILE_ARCHIVE_FILE_ID_IDX ON TAPE_FILE(ARCHIVE_FILE_ID); diff --git a/catalogue/AllCatalogueSchema.hpp b/catalogue/AllCatalogueSchema.hpp index 6d94600d222feeec241e611069fe379757e110e1..dbdd34b1ce760209eb254e2a2ce23206180cb2f8 100644 --- a/catalogue/AllCatalogueSchema.hpp +++ b/catalogue/AllCatalogueSchema.hpp @@ -6842,13 +6842,15 @@ namespace catalogue{ " 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," + " IS_ACCESSIBLE CHAR(1) DEFAULT '1' CONSTRAINT TAPE_FILE_IA_NN NOT NULL," " 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_COPY_NB_GT_0_CK CHECK(COPY_NB > 0)," + " CONSTRAINT TAPE_FILE_IA_BOOL_CK CHECK(IS_ACCESSIBLE IN ('0', '1'))" ");" "CREATE INDEX TAPE_FILE_VID_IDX ON TAPE_FILE(VID);" "CREATE INDEX TAPE_FILE_ARCHIVE_FILE_ID_IDX ON TAPE_FILE(ARCHIVE_FILE_ID);" @@ -7328,13 +7330,15 @@ namespace catalogue{ " 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," + " IS_ACCESSIBLE CHAR(1) DEFAULT '1' CONSTRAINT TAPE_FILE_IA_NN NOT NULL," " 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_COPY_NB_GT_0_CK CHECK(COPY_NB > 0)," + " CONSTRAINT TAPE_FILE_IA_BOOL_CK CHECK(IS_ACCESSIBLE IN ('0', '1'))" ");" "CREATE INDEX TAPE_FILE_VID_IDX ON TAPE_FILE(VID);" "CREATE INDEX TAPE_FILE_ARCHIVE_FILE_ID_IDX ON TAPE_FILE(ARCHIVE_FILE_ID);" @@ -7839,13 +7843,15 @@ namespace catalogue{ " 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," + " IS_ACCESSIBLE CHAR(1) DEFAULT '1' CONSTRAINT TAPE_FILE_IA_NN NOT NULL," " 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_COPY_NB_GT_0_CK CHECK(COPY_NB > 0)," + " CONSTRAINT TAPE_FILE_IA_BOOL_CK CHECK(IS_ACCESSIBLE IN ('0', '1'))" ");" "CREATE INDEX TAPE_FILE_VID_IDX ON TAPE_FILE(VID);" "CREATE INDEX TAPE_FILE_ARCHIVE_FILE_ID_IDX ON TAPE_FILE(ARCHIVE_FILE_ID);" diff --git a/catalogue/common_catalogue_schema.sql b/catalogue/common_catalogue_schema.sql index b669c23a3ceffa343d486a3736a9a0fd70b9833c..170e508f1cdcf3b7ad093a6fe2c3a08370901638 100644 --- a/catalogue/common_catalogue_schema.sql +++ b/catalogue/common_catalogue_schema.sql @@ -343,13 +343,15 @@ CREATE TABLE TAPE_FILE( COPY_NB UINT8TYPE CONSTRAINT TAPE_FILE_CN_NN NOT NULL, CREATION_TIME UINT64TYPE CONSTRAINT TAPE_FILE_CT_NN NOT NULL, ARCHIVE_FILE_ID UINT64TYPE CONSTRAINT TAPE_FILE_AFI_NN NOT NULL, + IS_ACCESSIBLE CHAR(1) DEFAULT '1' CONSTRAINT TAPE_FILE_IA_NN NOT NULL, 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_COPY_NB_GT_0_CK CHECK(COPY_NB > 0), + CONSTRAINT TAPE_FILE_IA_BOOL_CK CHECK(IS_ACCESSIBLE IN ('0', '1')) ); CREATE INDEX TAPE_FILE_VID_IDX ON TAPE_FILE(VID); CREATE INDEX TAPE_FILE_ARCHIVE_FILE_ID_IDX ON TAPE_FILE(ARCHIVE_FILE_ID); diff --git a/catalogue/migrations/liquibase/oracle/12.0to13.0.sql b/catalogue/migrations/liquibase/oracle/12.0to13.0.sql index 397f46020bf70cb520f82bd95bceb6dc45fbcef7..f0290da52d4eb27b8077547cff9497eeba1be814 100644 --- a/catalogue/migrations/liquibase/oracle/12.0to13.0.sql +++ b/catalogue/migrations/liquibase/oracle/12.0to13.0.sql @@ -17,7 +17,15 @@ UPDATE CTA_CATALOGUE SET NEXT_SCHEMA_VERSION_MINOR=0; ALTER TABLE TAPE ADD CONSTRAINT TAPE_VID_CK CHECK(VID = UPPER(VID)); --rollback ALTER TABLE TAPE DROP CONSTRAINT TAPE_VID_CK; ---changeset afonso:3 failOnError:true dbms:oracle +--changeset lwardena:3 failOnError:true dbms:oracle +--preconditions onFail:HALT onError:HALT +--precondition-sql-check expectedResult:"12.0" SELECT CONCAT(CONCAT(CAST(SCHEMA_VERSION_MAJOR as VARCHAR(10)),'.'), CAST(SCHEMA_VERSION_MINOR AS VARCHAR(10))) AS CATALOGUE_VERSION FROM CTA_CATALOGUE; +ALTER TABLE TAPE_FILE ADD IS_ACCESSIBLE CHAR(1) DEFAULT '1' CONSTRAINT TAPE_FILE_IA_NN NOT NULL; +ALTER TABLE TAPE_FILE ADD CONSTRAINT TAPE_FILE_IA_BOOL_CK CHECK(IS_ACCESSIBLE IN ('0', '1')); +--rollback ALTER TABLE TAPE_FILE DROP CONSTRAINT TAPE_FILE_IA_BOOL_CK; +--rollback ALTER TABLE TAPE_FILE DROP COLUMN IS_ACCESSIBLE; + +--changeset afonso:4 failOnError:true dbms:oracle --preconditions onFail:HALT onError:HALT --precondition-sql-check expectedResult:"12.0" SELECT CONCAT(CONCAT(CAST(SCHEMA_VERSION_MAJOR as VARCHAR(10)),'.'), CAST(SCHEMA_VERSION_MINOR AS VARCHAR(10))) AS CATALOGUE_VERSION FROM CTA_CATALOGUE; UPDATE CTA_CATALOGUE SET STATUS='PRODUCTION'; diff --git a/catalogue/migrations/liquibase/postgres/12.0to13.0.sql b/catalogue/migrations/liquibase/postgres/12.0to13.0.sql index 503e6c8c60deaa76dfa0817b4262bbab81584e8a..7dee8601a4fbf9836004e8aa08d73b77c2fcd20c 100644 --- a/catalogue/migrations/liquibase/postgres/12.0to13.0.sql +++ b/catalogue/migrations/liquibase/postgres/12.0to13.0.sql @@ -17,7 +17,15 @@ UPDATE CTA_CATALOGUE SET NEXT_SCHEMA_VERSION_MINOR=0; ALTER TABLE TAPE ADD CONSTRAINT TAPE_VID_CK CHECK(VID = UPPER(VID)); --rollback ALTER TABLE TAPE DROP CONSTRAINT TAPE_VID_CK; ---changeset afonso:3 failOnError:true dbms:postgresql +--changeset lwardena:3 failOnError:true dbms:postgresql +--preconditions onFail:HALT onError:HALT +--precondition-sql-check expectedResult:"12.0" SELECT CONCAT(CONCAT(CAST(SCHEMA_VERSION_MAJOR as VARCHAR(10)),'.'), CAST(SCHEMA_VERSION_MINOR AS VARCHAR(10))) AS CATALOGUE_VERSION FROM CTA_CATALOGUE; +ALTER TABLE TAPE_FILE ADD IS_ACCESSIBLE CHAR(1) DEFAULT '1' CONSTRAINT TAPE_FILE_IA_NN NOT NULL; +ALTER TABLE TAPE_FILE ADD CONSTRAINT TAPE_FILE_IA_BOOL_CK CHECK(IS_ACCESSIBLE IN ('0', '1')); +--rollback ALTER TABLE TAPE_FILE DROP CONSTRAINT TAPE_FILE_IA_BOOL_CK; +--rollback ALTER TABLE TAPE_FILE DROP COLUMN IS_ACCESSIBLE; + +--changeset afonso:4 failOnError:true dbms:postgresql --preconditions onFail:HALT onError:HALT --precondition-sql-check expectedResult:"12.0" SELECT CONCAT(CONCAT(CAST(SCHEMA_VERSION_MAJOR as VARCHAR(10)),'.'), CAST(SCHEMA_VERSION_MINOR AS VARCHAR(10))) AS CATALOGUE_VERSION FROM CTA_CATALOGUE; UPDATE CTA_CATALOGUE SET SCHEMA_VERSION_MAJOR=13;