From 1f83788651270f3ba9f83416b860f529e503103f Mon Sep 17 00:00:00 2001 From: lwardena <lasse.tjernaes.wardenaer@cern.ch> Date: Wed, 23 Nov 2022 14:22:07 +0100 Subject: [PATCH] Add column IS_ACCESSIBLE to table TAPE_FILE --- catalogue/13.0/oracle_catalogue_schema.sql | 4 +++- catalogue/13.0/postgres_catalogue_schema.sql | 4 +++- catalogue/13.0/sqlite_catalogue_schema.sql | 4 +++- catalogue/AllCatalogueSchema.hpp | 12 +++++++++--- catalogue/common_catalogue_schema.sql | 4 +++- catalogue/migrations/liquibase/oracle/12.0to13.0.sql | 10 +++++++++- .../migrations/liquibase/postgres/12.0to13.0.sql | 10 +++++++++- 7 files changed, 39 insertions(+), 9 deletions(-) diff --git a/catalogue/13.0/oracle_catalogue_schema.sql b/catalogue/13.0/oracle_catalogue_schema.sql index cd593d56cc..409a915926 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 ab50c210d1..d6ec0e8f61 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 e56e47e78f..95b1928ed9 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 6d94600d22..dbdd34b1ce 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 b669c23a3c..170e508f1c 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 397f46020b..f0290da52d 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 503e6c8c60..7dee8601a4 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; -- GitLab