From 2ff559947d7f03e5fdb2cd5b3b2c525933e2336d Mon Sep 17 00:00:00 2001 From: Cedric CAFFY <cedric.caffy@cern.ch> Date: Thu, 5 Dec 2019 16:05:23 +0100 Subject: [PATCH] The CTA Catalogue schema version number is now stored in CTAVersions.cmake The insertion of the version of the Catalogue schema into the DB is now done when the schema sql files are generated. (catalogue/CMakeLists.txt) The CTA_CATALOGUE_SCHEMA_VERSION_MAJOR and the CTA_CATALOGUE_SCHEMA_VERSION_MINOR are also inserted in version.hpp.in --- catalogue/CMakeLists.txt | 8 ++++++++ catalogue/common_catalogue_schema.sql | 6 ------ catalogue/insert_cta_catalogue_version.sql.in | 6 ++++++ cmake/CTAVersions.cmake | 4 ++++ version.hpp.in | 2 ++ 5 files changed, 20 insertions(+), 6 deletions(-) create mode 100644 catalogue/insert_cta_catalogue_version.sql.in diff --git a/catalogue/CMakeLists.txt b/catalogue/CMakeLists.txt index e053625f0f..d2d776162f 100644 --- a/catalogue/CMakeLists.txt +++ b/catalogue/CMakeLists.txt @@ -96,10 +96,14 @@ target_link_libraries (ctacatalogue ctacommon ctardbms) +#Generate insert_cta_catalogue_version.sql +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/insert_cta_catalogue_version.sql.in insert_cta_catalogue_version.sql) + add_custom_command (OUTPUT sqlite_catalogue_schema.sql mysql_catalogue_schema.sql oracle_catalogue_schema.sql postgres_catalogue_schema.sql COMMAND cat ${CMAKE_CURRENT_SOURCE_DIR}/sqlite_catalogue_schema_header.sql ${CMAKE_CURRENT_SOURCE_DIR}/common_catalogue_schema.sql + insert_cta_catalogue_version.sql ${CMAKE_CURRENT_SOURCE_DIR}/sqlite_catalogue_schema_trailer.sql | sed 's/UINT8TYPE/INTEGER/g' | sed 's/UINT16TYPE/INTEGER/g' @@ -111,6 +115,7 @@ add_custom_command (OUTPUT sqlite_catalogue_schema.sql mysql_catalogue_schema.sq COMMAND cat ${CMAKE_CURRENT_SOURCE_DIR}/mysql_catalogue_schema_header.sql ${CMAKE_CURRENT_SOURCE_DIR}/common_catalogue_schema.sql + insert_cta_catalogue_version.sql ${CMAKE_CURRENT_SOURCE_DIR}/mysql_catalogue_schema_trailer.sql | sed 's/UINT8TYPE/TINYINT UNSIGNED/g' | sed 's/UINT16TYPE/SMALLINT UNSIGNED/g' @@ -122,6 +127,7 @@ add_custom_command (OUTPUT sqlite_catalogue_schema.sql mysql_catalogue_schema.sq COMMAND cat ${CMAKE_CURRENT_SOURCE_DIR}/oracle_catalogue_schema_header.sql ${CMAKE_CURRENT_SOURCE_DIR}/common_catalogue_schema.sql + insert_cta_catalogue_version.sql ${CMAKE_CURRENT_SOURCE_DIR}/oracle_catalogue_schema_trailer.sql | sed 's/UINT8TYPE/NUMERIC\(3, 0\)/g' | sed 's/UINT16TYPE/NUMERIC\(5, 0\)/g' @@ -133,6 +139,7 @@ add_custom_command (OUTPUT sqlite_catalogue_schema.sql mysql_catalogue_schema.sq COMMAND cat ${CMAKE_CURRENT_SOURCE_DIR}/postgres_catalogue_schema_header.sql ${CMAKE_CURRENT_SOURCE_DIR}/common_catalogue_schema.sql + insert_cta_catalogue_version.sql ${CMAKE_CURRENT_SOURCE_DIR}/postgres_catalogue_schema_trailer.sql | sed 's/UINT8TYPE/NUMERIC\(3, 0\)/g' | sed 's/UINT16TYPE/NUMERIC\(5, 0\)/g' @@ -142,6 +149,7 @@ add_custom_command (OUTPUT sqlite_catalogue_schema.sql mysql_catalogue_schema.sq > postgres_catalogue_schema.sql DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/common_catalogue_schema.sql + ${CMAKE_SOURCE_DIR}/cmake/CTAVersions.cmake ${CMAKE_CURRENT_SOURCE_DIR}/sqlite_catalogue_schema_header.sql ${CMAKE_CURRENT_SOURCE_DIR}/sqlite_catalogue_schema_trailer.sql ${CMAKE_CURRENT_SOURCE_DIR}/mysql_catalogue_schema_header.sql diff --git a/catalogue/common_catalogue_schema.sql b/catalogue/common_catalogue_schema.sql index 13fb702029..d15ddfaebb 100644 --- a/catalogue/common_catalogue_schema.sql +++ b/catalogue/common_catalogue_schema.sql @@ -261,9 +261,3 @@ CREATE TABLE EXPERIMENTS ( NAME VARCHAR(20), GID NUMERIC(6, 0) CONSTRAINT EXPERIMENTS_GID_PK PRIMARY KEY ); -INSERT INTO CTA_CATALOGUE( - SCHEMA_VERSION_MAJOR, - SCHEMA_VERSION_MINOR) -VALUES( - 0, - 0); diff --git a/catalogue/insert_cta_catalogue_version.sql.in b/catalogue/insert_cta_catalogue_version.sql.in new file mode 100644 index 0000000000..22d3d0b3a8 --- /dev/null +++ b/catalogue/insert_cta_catalogue_version.sql.in @@ -0,0 +1,6 @@ +INSERT INTO CTA_CATALOGUE( + SCHEMA_VERSION_MAJOR, + SCHEMA_VERSION_MINOR) +VALUES( + @CTA_CATALOGUE_SCHEMA_VERSION_MAJOR@, + @CTA_CATALOGUE_SCHEMA_VERSION_MINOR@); \ No newline at end of file diff --git a/cmake/CTAVersions.cmake b/cmake/CTAVersions.cmake index e68f523cc0..b9baec2207 100644 --- a/cmake/CTAVersions.cmake +++ b/cmake/CTAVersions.cmake @@ -2,6 +2,10 @@ set(CTA_VERSION 0) set(CTA_RELEASE 1) +# Catalogue Schema Version +set(CTA_CATALOGUE_SCHEMA_VERSION_MAJOR 0) +set(CTA_CATALOGUE_SCHEMA_VERSION_MINOR 0) + # Shared object internal version (used in SONAME) set(CTA_SOVERSION 0) diff --git a/version.hpp.in b/version.hpp.in index d33b955cd5..a22605055a 100644 --- a/version.hpp.in +++ b/version.hpp.in @@ -20,3 +20,5 @@ #define CTA_VERSION "@CTA_VERSION@-@CTA_RELEASE@" +#define CTA_CATALOGUE_SCHEMA_VERSION_MAJOR @CTA_CATALOGUE_SCHEMA_VERSION_MAJOR@ +#define CTA_CATALOGUE_SCHEMA_VERSION_MINOR @CTA_CATALOGUE_SCHEMA_VERSION_MINOR@ \ No newline at end of file -- GitLab