From e9cad94a952d29326ae46529a87ba268547992ba Mon Sep 17 00:00:00 2001 From: Cedric CAFFY <cedric.caffy@cern.ch> Date: Thu, 30 Jan 2020 11:55:50 +0100 Subject: [PATCH] Added NB_MASTER_FILES, MASTER_DATA_IN_BYTES and DIRTY column to the TAPE table Replaced CTA_CATALOGUE 'COMPLETE' STATUS to 'PRODUCTION' --- catalogue/1.1/mysql_catalogue_schema.sql | 7 +++-- catalogue/1.1/oracle_catalogue_schema.sql | 7 +++-- catalogue/1.1/postgres_catalogue_schema.sql | 7 +++-- catalogue/1.1/sqlite_catalogue_schema.sql | 5 +++- catalogue/AllCatalogueSchema.hpp | 26 ++++++++++++++----- catalogue/Catalogue.hpp | 2 +- catalogue/CatalogueMetadataGetter.cpp | 4 +-- catalogue/RdbmsCatalogue.hpp | 2 +- catalogue/SchemaVersion.cpp | 8 +++--- catalogue/SchemaVersion.hpp | 2 +- catalogue/common_catalogue_schema.sql | 3 +++ catalogue/insert_cta_catalogue_version.sql.in | 2 +- .../migrations/liquibase/oracle/1.0to1.1.sql | 23 ++++++++++++---- catalogue/mysql_catalogue_schema_trailer.sql | 2 +- catalogue/oracle_catalogue_schema_trailer.sql | 2 +- .../postgres_catalogue_schema_trailer.sql | 2 +- 16 files changed, 72 insertions(+), 32 deletions(-) diff --git a/catalogue/1.1/mysql_catalogue_schema.sql b/catalogue/1.1/mysql_catalogue_schema.sql index 6e349a23a7..3d7ca86a10 100644 --- a/catalogue/1.1/mysql_catalogue_schema.sql +++ b/catalogue/1.1/mysql_catalogue_schema.sql @@ -128,12 +128,15 @@ CREATE TABLE TAPE( 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), @@ -294,6 +297,6 @@ INSERT INTO CTA_CATALOGUE( VALUES( 1, 1, - 'COMPLETE'); + '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='COMPLETE') OR (STATUS='UPGRADING')); \ No newline at end of file + 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.1/oracle_catalogue_schema.sql b/catalogue/1.1/oracle_catalogue_schema.sql index d4fad39fe9..ae093d3958 100644 --- a/catalogue/1.1/oracle_catalogue_schema.sql +++ b/catalogue/1.1/oracle_catalogue_schema.sql @@ -150,12 +150,15 @@ CREATE TABLE TAPE( 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), @@ -316,7 +319,7 @@ INSERT INTO CTA_CATALOGUE( VALUES( 1, 1, - 'COMPLETE'); -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='COMPLETE') OR (NEXT_SCHEMA_VERSION_MAJOR IS NOT NULL AND NEXT_SCHEMA_VERSION_MINOR IS NOT NULL AND STATUS='UPGRADING')) INITIALLY DEFERRED; + '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.1/postgres_catalogue_schema.sql b/catalogue/1.1/postgres_catalogue_schema.sql index 8afaa5ed84..b3d02e65ce 100644 --- a/catalogue/1.1/postgres_catalogue_schema.sql +++ b/catalogue/1.1/postgres_catalogue_schema.sql @@ -135,12 +135,15 @@ CREATE TABLE TAPE( 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), @@ -301,10 +304,10 @@ INSERT INTO CTA_CATALOGUE( VALUES( 1, 1, - 'COMPLETE'); + '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='COMPLETE') OR (STATUS='UPGRADING')); + 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.1/sqlite_catalogue_schema.sql b/catalogue/1.1/sqlite_catalogue_schema.sql index c6de928232..638bbc4db7 100644 --- a/catalogue/1.1/sqlite_catalogue_schema.sql +++ b/catalogue/1.1/sqlite_catalogue_schema.sql @@ -119,12 +119,15 @@ CREATE TABLE TAPE( 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), @@ -285,4 +288,4 @@ INSERT INTO CTA_CATALOGUE( VALUES( 1, 1, - 'COMPLETE'); + 'PRODUCTION'); diff --git a/catalogue/AllCatalogueSchema.hpp b/catalogue/AllCatalogueSchema.hpp index 8e02355016..2254a20ecf 100644 --- a/catalogue/AllCatalogueSchema.hpp +++ b/catalogue/AllCatalogueSchema.hpp @@ -1376,12 +1376,15 @@ namespace catalogue{ " 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)," @@ -1542,8 +1545,8 @@ namespace catalogue{ "VALUES(" " 1," " 1," - " 'COMPLETE');" - "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='COMPLETE') OR (NEXT_SCHEMA_VERSION_MAJOR IS NOT NULL AND NEXT_SCHEMA_VERSION_MINOR IS NOT NULL AND STATUS='UPGRADING')) INITIALLY DEFERRED;" + " '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;" }, @@ -1677,12 +1680,15 @@ namespace catalogue{ " 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)," @@ -1843,9 +1849,9 @@ namespace catalogue{ "VALUES(" " 1," " 1," - " 'COMPLETE');" + " '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='COMPLETE') OR (STATUS='UPGRADING'));" + " 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" @@ -1968,12 +1974,15 @@ namespace catalogue{ " 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)," @@ -2134,7 +2143,7 @@ namespace catalogue{ "VALUES(" " 1," " 1," - " 'COMPLETE');" + " 'PRODUCTION');" }, {"postgres", "CREATE SEQUENCE ARCHIVE_FILE_ID_SEQ" " INCREMENT BY 1" @@ -2273,12 +2282,15 @@ namespace catalogue{ " 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)," @@ -2439,13 +2451,13 @@ namespace catalogue{ "VALUES(" " 1," " 1," - " 'COMPLETE');" + " '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='COMPLETE') OR (STATUS='UPGRADING'));" + " 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/Catalogue.hpp b/catalogue/Catalogue.hpp index d2c7d17d18..e55440a333 100644 --- a/catalogue/Catalogue.hpp +++ b/catalogue/Catalogue.hpp @@ -753,7 +753,7 @@ public: * - SCHEMA_VERSION_MINOR * - SCHEMA_VERSION_MAJOR_NEXT (future major version number of the schema in case of upgrade) * - SCHEMA_VERSION_MINOR_NEXT (future minor version number of the schema in case of upgrade) - * - STATUS (UPGRADING or COMPLETE) + * - STATUS (UPGRADING or PRODUCTION) * * @return The SchemaVersion object corresponding to the catalogue schema version */ diff --git a/catalogue/CatalogueMetadataGetter.cpp b/catalogue/CatalogueMetadataGetter.cpp index 53f0f1cc50..6c4cd9dc2a 100644 --- a/catalogue/CatalogueMetadataGetter.cpp +++ b/catalogue/CatalogueMetadataGetter.cpp @@ -70,8 +70,8 @@ SchemaVersion CatalogueMetadataGetter::getCatalogueVersion(){ SchemaVersion::Builder schemaVersionBuilder; schemaVersionBuilder.schemaVersionMajor(rset.columnUint64("SCHEMA_VERSION_MAJOR")) .schemaVersionMinor(rset.columnUint64("SCHEMA_VERSION_MINOR")) - //By default, the status is set as COMPLETE (to be backward-compatible with version 1.0 of the schema) - .status(SchemaVersion::Status::COMPLETE); + //By default, the status is set as PRODUCTION (to be backward-compatible with version 1.0 of the schema) + .status(SchemaVersion::Status::PRODUCTION); //The cta-catalogue-schema-verify tool has to be backward-compatible with version 1.0 //of the schema that does not have the NEXT_SCHEMA_VERSION_MAJOR, NEXT_SCHEMA_VERSION_MINOR and the STATUS column diff --git a/catalogue/RdbmsCatalogue.hpp b/catalogue/RdbmsCatalogue.hpp index 948b43eb17..cd4863683d 100644 --- a/catalogue/RdbmsCatalogue.hpp +++ b/catalogue/RdbmsCatalogue.hpp @@ -757,7 +757,7 @@ public: * - SCHEMA_VERSION_MINOR * - SCHEMA_VERSION_MAJOR_NEXT (future major version number of the schema in case of upgrade) * - SCHEMA_VERSION_MINOR_NEXT (future minor version number of the schema in case of upgrade) - * - STATUS (UPGRADING or COMPLETE) + * - STATUS (UPGRADING or PRODUCTION) * * @return The SchemaVersion object corresponding to the catalogue schema version */ diff --git a/catalogue/SchemaVersion.cpp b/catalogue/SchemaVersion.cpp index ab4e65c79b..a4eca8333e 100644 --- a/catalogue/SchemaVersion.cpp +++ b/catalogue/SchemaVersion.cpp @@ -79,8 +79,8 @@ SchemaVersion::MajorMinor SchemaVersion::getSchemaVersionNext() const { template<> std::string SchemaVersion::getStatus() const { switch(m_status){ - case COMPLETE: - return "COMPLETE"; + case PRODUCTION: + return "PRODUCTION"; case UPGRADING: return "UPGRADING"; default: @@ -147,7 +147,7 @@ SchemaVersion::Builder& SchemaVersion::Builder::status(const SchemaVersion::Stat } std::map<std::string,SchemaVersion::Status> SchemaVersion::Builder::s_mapStringStatus { - {"COMPLETE",Status::COMPLETE}, + {"PRODUCTION",Status::PRODUCTION}, {"UPGRADING",Status::UPGRADING} }; @@ -155,7 +155,7 @@ void SchemaVersion::Builder::validate() const { if(!m_schemaVersionMajorSet || !m_schemaVersionMinorSet){ throw cta::exception::Exception("In SchemaVersion::Builder::validate(), schemaVersionMajor or schemaVersionMinor have not been set."); } - if(m_schemaVersion.m_nextSchemaVersionMajor && m_schemaVersion.m_nextSchemaVersionMinor && m_schemaVersion.m_status == SchemaVersion::Status::COMPLETE){ + if(m_schemaVersion.m_nextSchemaVersionMajor && m_schemaVersion.m_nextSchemaVersionMinor && m_schemaVersion.m_status == SchemaVersion::Status::PRODUCTION){ throw cta::exception::Exception("In SchemaVersion::Builder::validate(), status is "+m_schemaVersion.getStatus<std::string>()+" but nextSchemaVersionMajor and nextSchemaVersionMinor are defined"); } if(!m_schemaVersion.m_nextSchemaVersionMajor && !m_schemaVersion.m_nextSchemaVersionMinor && m_schemaVersion.m_status == SchemaVersion::Status::UPGRADING){ diff --git a/catalogue/SchemaVersion.hpp b/catalogue/SchemaVersion.hpp index 7884515a84..6536a3f110 100644 --- a/catalogue/SchemaVersion.hpp +++ b/catalogue/SchemaVersion.hpp @@ -33,7 +33,7 @@ public: enum Status{ UPGRADING, - COMPLETE + PRODUCTION }; SchemaVersion(const SchemaVersion& orig); diff --git a/catalogue/common_catalogue_schema.sql b/catalogue/common_catalogue_schema.sql index 838f4efdee..63fedd4f31 100644 --- a/catalogue/common_catalogue_schema.sql +++ b/catalogue/common_catalogue_schema.sql @@ -107,12 +107,15 @@ CREATE TABLE TAPE( CAPACITY_IN_BYTES UINT64TYPE CONSTRAINT TAPE_CIB_NN NOT NULL, DATA_IN_BYTES UINT64TYPE CONSTRAINT TAPE_DIB_NN NOT NULL, LAST_FSEQ UINT64TYPE CONSTRAINT TAPE_LF_NN NOT NULL, + NB_MASTER_FILES UINT64TYPE DEFAULT 0 CONSTRAINT TAPE_NB_MASTER_FILES_NN NOT NULL, + MASTER_DATA_IN_BYTES UINT64TYPE 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 UINT64TYPE , LAST_READ_DRIVE VARCHAR(100), diff --git a/catalogue/insert_cta_catalogue_version.sql.in b/catalogue/insert_cta_catalogue_version.sql.in index 644a112b42..011d5bf7b0 100644 --- a/catalogue/insert_cta_catalogue_version.sql.in +++ b/catalogue/insert_cta_catalogue_version.sql.in @@ -5,4 +5,4 @@ INSERT INTO CTA_CATALOGUE( VALUES( @CTA_CATALOGUE_SCHEMA_VERSION_MAJOR@, @CTA_CATALOGUE_SCHEMA_VERSION_MINOR@, - 'COMPLETE'); \ No newline at end of file + 'PRODUCTION'); \ No newline at end of file diff --git a/catalogue/migrations/liquibase/oracle/1.0to1.1.sql b/catalogue/migrations/liquibase/oracle/1.0to1.1.sql index bdddfdd9aa..3414b8ad79 100644 --- a/catalogue/migrations/liquibase/oracle/1.0to1.1.sql +++ b/catalogue/migrations/liquibase/oracle/1.0to1.1.sql @@ -17,7 +17,7 @@ ADD ( --changeset ccaffy:2 failOnError:true dbms:oracle --preconditions onFail:HALT onError:HALT --precondition-sql-check expectedResult:"1.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 CTA_CATALOGUE ADD CONSTRAINT CATALOGUE_STATUS_CONTENT_CK CHECK((NEXT_SCHEMA_VERSION_MAJOR IS NULL AND NEXT_SCHEMA_VERSION_MINOR IS NULL AND STATUS='COMPLETE') OR (NEXT_SCHEMA_VERSION_MAJOR IS NOT NULL AND NEXT_SCHEMA_VERSION_MINOR IS NOT NULL AND STATUS='UPGRADING')) INITIALLY DEFERRED; +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; --rollback ALTER TABLE CTA_CATALOGUE DROP CONSTRAINT CATALOGUE_STATUS_CONTENT_CK; --changeset ccaffy:3 failOnError:true dbms:oracle @@ -30,7 +30,7 @@ UPDATE CTA_CATALOGUE SET NEXT_SCHEMA_VERSION_MINOR=1; --rollback UPDATE CTA_CATALOGUE SET NEXT_SCHEMA_VERSION_MAJOR=NULL; --rollback UPDATE CTA_CATALOGUE SET NEXT_SCHEMA_VERSION_MINOR=NULL; ---rollback UPDATE CTA_CATALOGUE SET STATUS='COMPLETE'; +--rollback UPDATE CTA_CATALOGUE SET STATUS='PRODUCTION'; --changeset ccaffy:4 failOnError:true dbms:oracle --preconditions onFail:HALT onError:HALT @@ -89,16 +89,29 @@ CREATE INDEX ARCHIVE_FILE_DFI_IDX ON ARCHIVE_FILE(DISK_FILE_ID); --changeset ccaffy:13 failOnError:true dbms:oracle --preconditions onFail:HALT onError:HALT --precondition-sql-check expectedResult:"1.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 +ADD ( + 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, + DIRTY CHAR(1) DEFAULT '1' CONSTRAINT TAPE_DIRTY_NN NOT NULL +); +--rollback ALTER TABLE TAPE +--rollback DROP ( +--rollback NB_MASTER_FILES, MASTER_DATA_IN_BYTES, DIRTY +--rollback ); + +--changeset ccaffy:14 failOnError:true dbms:oracle +--preconditions onFail:HALT onError:HALT +--precondition-sql-check expectedResult:"1.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_MINOR=1; --rollback UPDATE CTA_CATALOGUE SET SCHEMA_VERSION_MINOR=0 ---changeset ccaffy:14 failOnError:true dbms:oracle +--changeset ccaffy:15 failOnError:true dbms:oracle --preconditions onFail:HALT onError:HALT --precondition-sql-check expectedResult:"1.1" 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 NEXT_SCHEMA_VERSION_MAJOR=NULL; UPDATE CTA_CATALOGUE SET NEXT_SCHEMA_VERSION_MINOR=NULL; -UPDATE CTA_CATALOGUE SET STATUS='COMPLETE'; - +UPDATE CTA_CATALOGUE SET STATUS='PRODUCTION'; --rollback UPDATE CTA_CATALOGUE SET STATUS='UPGRADING'; --rollback UPDATE CTA_CATALOGUE SET NEXT_SCHEMA_VERSION_MAJOR=1; --rollback UPDATE CTA_CATALOGUE SET NEXT_SCHEMA_VERSION_MINOR=1; diff --git a/catalogue/mysql_catalogue_schema_trailer.sql b/catalogue/mysql_catalogue_schema_trailer.sql index 297849c8f7..de3efc6ffc 100644 --- a/catalogue/mysql_catalogue_schema_trailer.sql +++ b/catalogue/mysql_catalogue_schema_trailer.sql @@ -1,2 +1,2 @@ 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='COMPLETE') OR (STATUS='UPGRADING')); \ No newline at end of file + 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/oracle_catalogue_schema_trailer.sql b/catalogue/oracle_catalogue_schema_trailer.sql index 1ae83ac443..da1a196278 100644 --- a/catalogue/oracle_catalogue_schema_trailer.sql +++ b/catalogue/oracle_catalogue_schema_trailer.sql @@ -1,3 +1,3 @@ -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='COMPLETE') OR (NEXT_SCHEMA_VERSION_MAJOR IS NOT NULL AND NEXT_SCHEMA_VERSION_MINOR IS NOT NULL AND STATUS='UPGRADING')) INITIALLY DEFERRED; +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/postgres_catalogue_schema_trailer.sql b/catalogue/postgres_catalogue_schema_trailer.sql index 991527176c..8ed899707a 100644 --- a/catalogue/postgres_catalogue_schema_trailer.sql +++ b/catalogue/postgres_catalogue_schema_trailer.sql @@ -3,4 +3,4 @@ ALTER TABLE ARCHIVE_FILE DROP CONSTRAINT 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='COMPLETE') OR (STATUS='UPGRADING')); + CATALOGUE_STATUS_CONTENT_CK CHECK((NEXT_SCHEMA_VERSION_MAJOR IS NULL AND NEXT_SCHEMA_VERSION_MINOR IS NULL AND STATUS='PRODUCTION') OR (STATUS='UPGRADING')); -- GitLab