diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 91b76a73eb3d690c48d162da7cf5ed539ea18d8a..d3842e8b89401c66e3046629f8996aa7a19e847c 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -179,45 +179,6 @@ dbunittests_postgresql:
   tags:
     - docker
 
-dbunittests_mysql:
-  except:
-    - tags
-  stage: test
-  variables:
-    CTAREPODIR: /tmp/repo
-  image: gitlab-registry.cern.ch/linuxsupport/cc7-base
-  script:
-    - cp -f continuousintegration/docker/ctafrontend/cc7/etc/yum.repos.d/* /etc/yum.repos.d/
-    - yum -y install yum-plugin-priorities createrepo
-    - cp -f continuousintegration/docker/ctafrontend/cc7/etc/yum/pluginconf.d/versionlock.list /etc/yum/pluginconf.d/
-    - mkdir -p ${CTAREPODIR}; cp -r build_rpm/RPM ${CTAREPODIR}
-    - createrepo ${CTAREPODIR}; echo -e "[cta-artifacts]\nname=CTA artifacts\nbaseurl=file://${CTAREPODIR}\ngpgcheck=0\nenabled=1\npriority=2" > /etc/yum.repos.d/cta-artifacts.repo
-    - yum -y --nogpgcheck install cta-systemtests cta-debuginfo sqlite-debuginfo --enablerepo=debug
-    - yum -y install cta-catalogueutils
-    - yum -y install lsof rh-mariadb103-mariadb-server
-    - echo '[mariadb]' > /etc/opt/rh/rh-mariadb103/my.cnf.d/cta_server_listen.cnf
-    - echo 'bind-address=localhost' >> /etc/opt/rh/rh-mariadb103/my.cnf.d/cta_server_listen.cnf
-    - scl enable rh-mariadb103 -- mysql_install_db --user=mysql
-    - cd '/opt/rh/rh-mariadb103/root/usr'
-    - scl enable rh-mariadb103 -- /opt/rh/rh-mariadb103/root/usr/bin/mysqld_safe --user=mysql --datadir=/var/opt/rh/rh-mariadb103/lib/mysql < /dev/null &
-    - echo "Sleeping 5 seconds"
-    - sleep 5
-    - echo "Finished sleeping"
-    - echo 'create database cta;' | scl enable rh-mariadb103 -- mysql
-    - echo 'create user cta@localhost;' | scl enable rh-mariadb103 -- mysql
-    - echo 'grant all privileges on *.* to cta@localhost' | scl enable rh-mariadb103 -- mysql
-    - echo 'flush privileges;' | scl enable rh-mariadb103 -- mysql
-    - CTA_CATALOGUE_CONF=/etc/cta/cta-catalogue.conf
-    - echo CTA_CATALOGUE_CONF=${CTA_CATALOGUE_CONF}
-    - echo 'mysql://cta@localhost:3306/cta' > ${CTA_CATALOGUE_CONF}
-    - /usr/bin/cta-catalogue-schema-create ${CTA_CATALOGUE_CONF}
-    - /usr/bin/cta-rdbmsUnitTests ${CTA_CATALOGUE_CONF}
-    - valgrind /usr/bin/cta-rdbmsUnitTests ${CTA_CATALOGUE_CONF}
-    - kill `ps -ef | egrep '^mysql.*/usr/libexec/mysqld' | awk '{print $2;}'`
-
-  tags:
-    - docker
-
 ctageneric_docker:
   except:
     - tags
diff --git a/ReleaseNotes.md b/ReleaseNotes.md
index 498f677c9e5011f4b98e37962df5d2f32ab9406e..39cacbb6e94219408785ce43fcb8f1d8373064f6 100644
--- a/ReleaseNotes.md
+++ b/ReleaseNotes.md
@@ -4,9 +4,10 @@
 
 ### Features
 - cta/CTA#607 - Add client host and username in cta-frontend logs
-- cta/CTA#928 - Add youngest request age to cta-admin sq
 - cta/CTA#777 - Minimize mounts for dual copy tape pool recalls
+- cta/CTA#928 - Add youngest request age to cta-admin sq
 - cta/CTA#1020 - cta-restore-deleted-files command for restoring deleted files
+- cta/CTA#1057 - Remove support for MySQL
 - cta/CTA#1074 - Improve error reporting when retrieving archive
 
 ### Bug fixes
diff --git a/catalogue/AllCatalogueSchema.hpp b/catalogue/AllCatalogueSchema.hpp
index 02b9a97212992db8c125f7315b7e264e80c6fe1c..8a53636508dc29b8c5efe2e0d035ce966e526308 100644
--- a/catalogue/AllCatalogueSchema.hpp
+++ b/catalogue/AllCatalogueSchema.hpp
@@ -345,297 +345,6 @@ namespace catalogue{
   "  0);"
   "COMMIT;"
       },
-  {"mysql",  "CREATE TABLE ARCHIVE_FILE_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT ARCHIVE_FILE_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO ARCHIVE_FILE_ID(ID) VALUES(1);"
-  "CREATE TABLE LOGICAL_LIBRARY_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT LOGICAL_LIBRARY_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO LOGICAL_LIBRARY_ID(ID) VALUES(1);"
-  "CREATE TABLE STORAGE_CLASS_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT STORAGE_CLASS_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO STORAGE_CLASS_ID(ID) VALUES(1);"
-  "CREATE TABLE TAPE_POOL_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT TAPE_POOL_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO TAPE_POOL_ID(ID) VALUES(1);"
-  ""
-  "CREATE TABLE CTA_CATALOGUE("
-  "  SCHEMA_VERSION_MAJOR    BIGINT UNSIGNED      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
-  "  SCHEMA_VERSION_MINOR    BIGINT UNSIGNED      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL"
-  ");"
-  "CREATE TABLE ADMIN_USER("
-  "  ADMIN_USER_NAME         VARCHAR(100)    CONSTRAINT ADMIN_USER_AUN_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
-  "  CONSTRAINT ADMIN_USER_PK PRIMARY KEY(ADMIN_USER_NAME)"
-  ");"
-  "CREATE TABLE DISK_SYSTEM("
-  "  DISK_SYSTEM_NAME        VARCHAR(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
-  "  FILE_REGEXP             VARCHAR(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
-  "  FREE_SPACE_QUERY_URL    VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
-  "  REFRESH_INTERVAL        BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
-  "  TARGETED_FREE_SPACE     BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
-  "  SLEEP_TIME              BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
-  "  CONSTRAINT NAME_PK PRIMARY KEY(DISK_SYSTEM_NAME)"
-  ");"
-  "CREATE TABLE STORAGE_CLASS("
-  "  STORAGE_CLASS_ID        BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
-  "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_DIN_NN  NOT NULL,"
-  "  STORAGE_CLASS_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
-  "  NB_COPIES               TINYINT UNSIGNED       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT STORAGE_CLASS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
-  "  CONSTRAINT STORAGE_CLASS_PK PRIMARY KEY(STORAGE_CLASS_ID),"
-  "  CONSTRAINT STORAGE_CLASS_DIN_SCN_UN UNIQUE(DISK_INSTANCE_NAME, STORAGE_CLASS_NAME)"
-  ");"
-  "CREATE TABLE TAPE_POOL("
-  "  TAPE_POOL_ID            BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
-  "  TAPE_POOL_NAME          VARCHAR(100)    CONSTRAINT TAPE_POOL_TPN_NN  NOT NULL,"
-  "  VO                      VARCHAR(100)    CONSTRAINT TAPE_POOL_VO_NN   NOT NULL,"
-  "  NB_PARTIAL_TAPES        BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
-  "  IS_ENCRYPTED            CHAR(1)         CONSTRAINT TAPE_POOL_IE_NN   NOT NULL,"
-  "  SUPPLY                  VARCHAR(100),"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT TAPE_POOL_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
-  "  CONSTRAINT TAPE_POOL_PK PRIMARY KEY(TAPE_POOL_ID),"
-  "  CONSTRAINT TAPE_POOL_TPN_UN UNIQUE(TAPE_POOL_NAME),"
-  "  CONSTRAINT TAPE_POOL_IS_ENCRYPTED_BOOL_CK CHECK(IS_ENCRYPTED IN ('0', '1'))"
-  ");"
-  "CREATE TABLE ARCHIVE_ROUTE("
-  "  STORAGE_CLASS_ID        BIGINT UNSIGNED      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
-  "  COPY_NB                 TINYINT UNSIGNED       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
-  "  TAPE_POOL_ID            BIGINT UNSIGNED      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ARCHIVE_ROUTE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT ARCHIVE_ROUTE_PK PRIMARY KEY(STORAGE_CLASS_ID, COPY_NB),"
-  "  CONSTRAINT ARCHIVE_ROUTE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
-  "  CONSTRAINT ARCHIVE_ROUTE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
-  "  CONSTRAINT ARCHIVE_ROUTE_COPY_NB_GT_ZERO CHECK(COPY_NB > 0)"
-  ");"
-  "CREATE TABLE LOGICAL_LIBRARY("
-  "  LOGICAL_LIBRARY_ID      BIGINT UNSIGNED      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
-  "  LOGICAL_LIBRARY_NAME    VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LLN_NN  NOT NULL,"
-  "  IS_DISABLED             CHAR(1)         DEFAULT '0' CONSTRAINT LOGICAL_LIBRARY_ID_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT LOGICAL_LIBRARY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
-  "  CONSTRAINT LOGICAL_LIBRARY_PK PRIMARY KEY(LOGICAL_LIBRARY_ID),"
-  "  CONSTRAINT LOGICAL_LIBRARY_LLN UNIQUE(LOGICAL_LIBRARY_NAME),"
-  "  CONSTRAINT LOGICAL_LIBRARY_ID_BOOL_CK CHECK(IS_DISABLED IN ('0', '1'))"
-  ");"
-  "CREATE TABLE TAPE("
-  "  VID                     VARCHAR(100)    CONSTRAINT TAPE_V_NN    NOT NULL,"
-  "  MEDIA_TYPE              VARCHAR(100)    CONSTRAINT TAPE_MT_NN   NOT NULL,"
-  "  VENDOR                  VARCHAR(100)    CONSTRAINT TAPE_V2_NN   NOT NULL,"
-  "  LOGICAL_LIBRARY_ID      BIGINT UNSIGNED      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
-  "  TAPE_POOL_ID            BIGINT UNSIGNED      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
-  "  ENCRYPTION_KEY_NAME     VARCHAR(100),"
-  "  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,"
-  "  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,"
-  "  LABEL_DRIVE             VARCHAR(100),"
-  "  LABEL_TIME              BIGINT UNSIGNED    ,"
-  "  LAST_READ_DRIVE         VARCHAR(100),"
-  "  LAST_READ_TIME          BIGINT UNSIGNED    ,"
-  "  LAST_WRITE_DRIVE        VARCHAR(100),"
-  "  LAST_WRITE_TIME         BIGINT UNSIGNED    ,"
-  "  READ_MOUNT_COUNT        BIGINT UNSIGNED      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
-  "  WRITE_MOUNT_COUNT       BIGINT UNSIGNED      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT TAPE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT TAPE_PK PRIMARY KEY(VID),"
-  "  CONSTRAINT TAPE_LOGICAL_LIBRARY_FK FOREIGN KEY(LOGICAL_LIBRARY_ID) REFERENCES LOGICAL_LIBRARY(LOGICAL_LIBRARY_ID),"
-  "  CONSTRAINT TAPE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
-  "  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_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("
-  "  MOUNT_POLICY_NAME        VARCHAR(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
-  "  ARCHIVE_PRIORITY         BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
-  "  ARCHIVE_MIN_REQUEST_AGE  BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
-  "  RETRIEVE_PRIORITY        BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
-  "  RETRIEVE_MIN_REQUEST_AGE BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
-  "  MAX_DRIVES_ALLOWED       BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_MDA_NN  NOT NULL,"
-  "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME        BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME         BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
-  "  CONSTRAINT MOUNT_POLICY_PK PRIMARY KEY(MOUNT_POLICY_NAME)"
-  ");"
-  "CREATE TABLE REQUESTER_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR(100)    CONSTRAINT RQSTER_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_NAME         VARCHAR(100)    CONSTRAINT RQSTER_RULE_RN_NN   NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR(100)    CONSTRAINT RQSTER_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      BIGINT UNSIGNED      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       BIGINT UNSIGNED      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT RQSTER_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_NAME),"
-  "  CONSTRAINT RQSTER_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
-  "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
-  ");"
-  "CREATE TABLE REQUESTER_GROUP_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_GROUP_NAME   VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_RGN_NN  NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_GRP_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      BIGINT UNSIGNED      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       BIGINT UNSIGNED      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT RQSTER_GRP_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_GROUP_NAME),"
-  "  CONSTRAINT RQSTER_GRP_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
-  "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
-  ");"
-  "CREATE TABLE ARCHIVE_FILE("
-  "  ARCHIVE_FILE_ID         BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
-  "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DIN_NN  NOT NULL,"
-  "  DISK_FILE_ID            VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DFI_NN  NOT NULL,"
-  "  DISK_FILE_PATH          VARCHAR(2000)   CONSTRAINT ARCHIVE_FILE_DFP_NN  NOT NULL,"
-  "  DISK_FILE_UID           INT UNSIGNED      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
-  "  DISK_FILE_GID           INT UNSIGNED      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
-  "  SIZE_IN_BYTES           BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
-  "  CHECKSUM_BLOB           VARBINARY(200),"
-  "  CHECKSUM_ADLER32        INT UNSIGNED      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
-  "  STORAGE_CLASS_ID        BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
-  "  CREATION_TIME           BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
-  "  RECONCILIATION_TIME     BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
-  "  IS_DELETED              CHAR(1)         DEFAULT '0' CONSTRAINT ARCHIVE_FILE_ID_NN NOT NULL,"
-  "  COLLOCATION_HINT        VARCHAR(100),"
-  "  CONSTRAINT ARCHIVE_FILE_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
-  "  CONSTRAINT ARCHIVE_FILE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
-  "  CONSTRAINT ARCHIVE_FILE_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID),"
-  "  CONSTRAINT ARCHIVE_FILE_ID_BOOL_CK CHECK(IS_DELETED IN ('0', '1'))"
-  ");"
-  "CREATE INDEX ARCHIVE_FILE_DIN_DFP_IDX ON ARCHIVE_FILE(DISK_INSTANCE_NAME, DISK_FILE_PATH);"
-  "CREATE TABLE TAPE_FILE("
-  "  VID                      VARCHAR(100)   CONSTRAINT TAPE_FILE_V_NN    NOT NULL,"
-  "  FSEQ                     BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
-  "  BLOCK_ID                 BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
-  "  LOGICAL_SIZE_IN_BYTES    BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
-  "  COPY_NB                  TINYINT UNSIGNED      CONSTRAINT TAPE_FILE_CN_NN   NOT NULL,"
-  "  CREATION_TIME            BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_CT_NN   NOT NULL,"
-  "  ARCHIVE_FILE_ID          BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_AFI_NN  NOT NULL,"
-  "  SUPERSEDED_BY_VID        VARCHAR(100),"
-  "  SUPERSEDED_BY_FSEQ       BIGINT UNSIGNED    ,"
-  "  WRITE_START_WRAP         SMALLINT UNSIGNED,"
-  "  WRITE_START_LPOS         INT UNSIGNED,"
-  "  WRITE_END_WRAP           SMALLINT UNSIGNED,"
-  "  WRITE_END_LPOS           INT UNSIGNED,"
-  "  READ_START_WRAP          SMALLINT UNSIGNED,"
-  "  READ_START_LPOS          INT UNSIGNED,"
-  "  READ_END_WRAP            SMALLINT UNSIGNED,"
-  "  READ_END_LPOS            INT UNSIGNED,"
-  "  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_ZERO CHECK(COPY_NB > 0),"
-  "  CONSTRAINT TAPE_FILE_SS_VID_FSEQ_FK FOREIGN KEY(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ)"
-  "    REFERENCES TAPE_FILE(VID, FSEQ)"
-  ");"
-  "CREATE INDEX TAPE_FILE_VID_IDX ON TAPE_FILE(VID);"
-  "CREATE INDEX TAPE_FILE_ARCHIVE_FILE_ID_IDX ON TAPE_FILE(ARCHIVE_FILE_ID);"
-  "CREATE INDEX TAPE_FILE_SBV_SBF_IDX ON TAPE_FILE(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ);"
-  "CREATE TABLE ACTIVITIES_WEIGHTS ("
-  "  DISK_INSTANCE_NAME       VARCHAR(100),"
-  "  ACTIVITY                 VARCHAR(100),"
-  "  WEIGHT                   VARCHAR(100),"
-  "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT ACTIV_WEIGHTS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME        BIGINT UNSIGNED      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME         BIGINT UNSIGNED      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
-  ");"
-  "CREATE TABLE USAGESTATS ("
-  "  GID                     INT UNSIGNED   DEFAULT 0 CONSTRAINT NN_USAGESTATS_GID NOT NULL,"
-  "  TIMESTAMP               BIGINT UNSIGNED  DEFAULT 0 CONSTRAINT NN_USAGESTATS_TS NOT NULL,"
-  "  MAXFILEID               BIGINT UNSIGNED,"
-  "  FILECOUNT               BIGINT UNSIGNED,"
-  "  FILESIZE                BIGINT UNSIGNED,"
-  "  SEGCOUNT                BIGINT UNSIGNED,"
-  "  SEGSIZE                 BIGINT UNSIGNED,"
-  "  SEG2COUNT               BIGINT UNSIGNED,"
-  "  SEG2SIZE                BIGINT UNSIGNED,"
-  "  CONSTRAINT PK_USAGESTATS_GID_TS PRIMARY KEY (GID, TIMESTAMP)"
-  ");"
-  "CREATE TABLE EXPERIMENTS ("
-  " NAME                     VARCHAR(20),"
-  " GID                      INT UNSIGNED CONSTRAINT EXPERIMENTS_GID_PK PRIMARY KEY"
-  ");"
-  "INSERT INTO CTA_CATALOGUE("
-  "  SCHEMA_VERSION_MAJOR,"
-  "  SCHEMA_VERSION_MINOR)"
-  "VALUES("
-  "  1,"
-  "  0);"
-      },
   {"sqlite",  "CREATE TABLE ARCHIVE_FILE_ID("
   "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
   ");"
@@ -1550,32 +1259,23 @@ namespace catalogue{
   ""
   "COMMIT;"
       },
-  {"mysql",  "CREATE TABLE ARCHIVE_FILE_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT ARCHIVE_FILE_ID_PK PRIMARY KEY(ID)"
+  {"sqlite",  "CREATE TABLE ARCHIVE_FILE_ID("
+  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
   ");"
-  "INSERT INTO ARCHIVE_FILE_ID(ID) VALUES(1);"
   "CREATE TABLE LOGICAL_LIBRARY_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT LOGICAL_LIBRARY_ID_PK PRIMARY KEY(ID)"
+  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
   ");"
-  "INSERT INTO LOGICAL_LIBRARY_ID(ID) VALUES(1);"
   "CREATE TABLE STORAGE_CLASS_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT STORAGE_CLASS_ID_PK PRIMARY KEY(ID)"
+  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
   ");"
-  "INSERT INTO STORAGE_CLASS_ID(ID) VALUES(1);"
   "CREATE TABLE TAPE_POOL_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT TAPE_POOL_ID_PK PRIMARY KEY(ID)"
+  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
   ");"
-  "INSERT INTO TAPE_POOL_ID(ID) VALUES(1);"
-  ""
   "CREATE TABLE CTA_CATALOGUE("
-  "  SCHEMA_VERSION_MAJOR    BIGINT UNSIGNED      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
-  "  SCHEMA_VERSION_MINOR    BIGINT UNSIGNED      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
-  "  NEXT_SCHEMA_VERSION_MAJOR BIGINT UNSIGNED,"
-  "  NEXT_SCHEMA_VERSION_MINOR BIGINT UNSIGNED,"
+  "  SCHEMA_VERSION_MAJOR    INTEGER      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
+  "  SCHEMA_VERSION_MINOR    INTEGER      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
+  "  NEXT_SCHEMA_VERSION_MAJOR INTEGER,"
+  "  NEXT_SCHEMA_VERSION_MINOR INTEGER,"
   "  STATUS                  VARCHAR(100)"
   ");"
   "CREATE TABLE ADMIN_USER("
@@ -1583,72 +1283,72 @@ namespace catalogue{
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
   "  CONSTRAINT ADMIN_USER_PK PRIMARY KEY(ADMIN_USER_NAME)"
   ");"
   "CREATE TABLE DISK_SYSTEM("
   "  DISK_SYSTEM_NAME        VARCHAR(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
   "  FILE_REGEXP             VARCHAR(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
   "  FREE_SPACE_QUERY_URL    VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
-  "  REFRESH_INTERVAL        BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
-  "  TARGETED_FREE_SPACE     BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
-  "  SLEEP_TIME              BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
+  "  REFRESH_INTERVAL        INTEGER      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
+  "  TARGETED_FREE_SPACE     INTEGER      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
+  "  SLEEP_TIME              INTEGER      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
   "  CONSTRAINT NAME_PK PRIMARY KEY(DISK_SYSTEM_NAME)"
   ");"
   "CREATE TABLE STORAGE_CLASS("
-  "  STORAGE_CLASS_ID        BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
   "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_DIN_NN  NOT NULL,"
   "  STORAGE_CLASS_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
-  "  NB_COPIES               TINYINT UNSIGNED       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
+  "  NB_COPIES               INTEGER       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT STORAGE_CLASS_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
   "  CONSTRAINT STORAGE_CLASS_PK PRIMARY KEY(STORAGE_CLASS_ID),"
   "  CONSTRAINT STORAGE_CLASS_SCN_UN UNIQUE(STORAGE_CLASS_NAME)"
   ");"
   "CREATE TABLE TAPE_POOL("
-  "  TAPE_POOL_ID            BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
+  "  TAPE_POOL_ID            INTEGER      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
   "  TAPE_POOL_NAME          VARCHAR(100)    CONSTRAINT TAPE_POOL_TPN_NN  NOT NULL,"
   "  VO                      VARCHAR(100)    CONSTRAINT TAPE_POOL_VO_NN   NOT NULL,"
-  "  NB_PARTIAL_TAPES        BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
+  "  NB_PARTIAL_TAPES        INTEGER      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
   "  IS_ENCRYPTED            CHAR(1)         CONSTRAINT TAPE_POOL_IE_NN   NOT NULL,"
   "  SUPPLY                  VARCHAR(100),"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT TAPE_POOL_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
   "  CONSTRAINT TAPE_POOL_PK PRIMARY KEY(TAPE_POOL_ID),"
   "  CONSTRAINT TAPE_POOL_TPN_UN UNIQUE(TAPE_POOL_NAME),"
   "  CONSTRAINT TAPE_POOL_IS_ENCRYPTED_BOOL_CK CHECK(IS_ENCRYPTED IN ('0', '1'))"
   ");"
   "CREATE TABLE ARCHIVE_ROUTE("
-  "  STORAGE_CLASS_ID        BIGINT UNSIGNED      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
-  "  COPY_NB                 TINYINT UNSIGNED       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
-  "  TAPE_POOL_ID            BIGINT UNSIGNED      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
+  "  COPY_NB                 INTEGER       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
+  "  TAPE_POOL_ID            INTEGER      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ARCHIVE_ROUTE_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
   "  CONSTRAINT ARCHIVE_ROUTE_PK PRIMARY KEY(STORAGE_CLASS_ID, COPY_NB),"
   "  CONSTRAINT ARCHIVE_ROUTE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
   "  CONSTRAINT ARCHIVE_ROUTE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
@@ -1656,16 +1356,16 @@ namespace catalogue{
   "  CONSTRAINT ARCHIVE_ROUTE_SCI_TPI_UN UNIQUE(STORAGE_CLASS_ID, TAPE_POOL_ID)"
   ");"
   "CREATE TABLE LOGICAL_LIBRARY("
-  "  LOGICAL_LIBRARY_ID      BIGINT UNSIGNED      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
+  "  LOGICAL_LIBRARY_ID      INTEGER      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
   "  LOGICAL_LIBRARY_NAME    VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LLN_NN  NOT NULL,"
   "  IS_DISABLED             CHAR(1)         DEFAULT '0' CONSTRAINT LOGICAL_LIBRARY_ID_NN NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT LOGICAL_LIBRARY_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
   "  CONSTRAINT LOGICAL_LIBRARY_PK PRIMARY KEY(LOGICAL_LIBRARY_ID),"
   "  CONSTRAINT LOGICAL_LIBRARY_LLN_UN UNIQUE(LOGICAL_LIBRARY_NAME),"
   "  CONSTRAINT LOGICAL_LIBRARY_ID_BOOL_CK CHECK(IS_DISABLED IN ('0', '1'))"
@@ -1674,14 +1374,14 @@ namespace catalogue{
   "  VID                     VARCHAR(100)    CONSTRAINT TAPE_V_NN    NOT NULL,"
   "  MEDIA_TYPE              VARCHAR(100)    CONSTRAINT TAPE_MT_NN   NOT NULL,"
   "  VENDOR                  VARCHAR(100)    CONSTRAINT TAPE_V2_NN   NOT NULL,"
-  "  LOGICAL_LIBRARY_ID      BIGINT UNSIGNED      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
-  "  TAPE_POOL_ID            BIGINT UNSIGNED      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
+  "  LOGICAL_LIBRARY_ID      INTEGER      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
+  "  TAPE_POOL_ID            INTEGER      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
   "  ENCRYPTION_KEY_NAME     VARCHAR(100),"
-  "  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,"
+  "  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,"
@@ -1690,20 +1390,20 @@ namespace catalogue{
   "  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    ,"
+  "  LABEL_TIME              INTEGER    ,"
   "  LAST_READ_DRIVE         VARCHAR(100),"
-  "  LAST_READ_TIME          BIGINT UNSIGNED    ,"
+  "  LAST_READ_TIME          INTEGER    ,"
   "  LAST_WRITE_DRIVE        VARCHAR(100),"
-  "  LAST_WRITE_TIME         BIGINT UNSIGNED    ,"
-  "  READ_MOUNT_COUNT        BIGINT UNSIGNED      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
-  "  WRITE_MOUNT_COUNT       BIGINT UNSIGNED      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
+  "  LAST_WRITE_TIME         INTEGER    ,"
+  "  READ_MOUNT_COUNT        INTEGER      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
+  "  WRITE_MOUNT_COUNT       INTEGER      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT TAPE_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
   "  CONSTRAINT TAPE_PK PRIMARY KEY(VID),"
   "  CONSTRAINT TAPE_LOGICAL_LIBRARY_FK FOREIGN KEY(LOGICAL_LIBRARY_ID) REFERENCES LOGICAL_LIBRARY(LOGICAL_LIBRARY_ID),"
   "  CONSTRAINT TAPE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
@@ -1718,18 +1418,18 @@ namespace catalogue{
   "CREATE INDEX TAPE_TAPE_POOL_ID_IDX ON TAPE(TAPE_POOL_ID);"
   "CREATE TABLE MOUNT_POLICY("
   "  MOUNT_POLICY_NAME        VARCHAR(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
-  "  ARCHIVE_PRIORITY         BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
-  "  ARCHIVE_MIN_REQUEST_AGE  BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
-  "  RETRIEVE_PRIORITY        BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
-  "  RETRIEVE_MIN_REQUEST_AGE BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
-  "  MAX_DRIVES_ALLOWED       BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_MDA_NN  NOT NULL,"
+  "  ARCHIVE_PRIORITY         INTEGER      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
+  "  ARCHIVE_MIN_REQUEST_AGE  INTEGER      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
+  "  RETRIEVE_PRIORITY        INTEGER      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
+  "  RETRIEVE_MIN_REQUEST_AGE INTEGER      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
+  "  MAX_DRIVES_ALLOWED       INTEGER      CONSTRAINT MOUNT_POLICY_MDA_NN  NOT NULL,"
   "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME        BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME        INTEGER      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME         BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME         INTEGER      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
   "  CONSTRAINT MOUNT_POLICY_PK PRIMARY KEY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE REQUESTER_MOUNT_RULE("
@@ -1739,10 +1439,10 @@ namespace catalogue{
   "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_RULE_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      BIGINT UNSIGNED      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME      INTEGER      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       BIGINT UNSIGNED      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME       INTEGER      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
   "  CONSTRAINT RQSTER_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_NAME),"
   "  CONSTRAINT RQSTER_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
   "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
@@ -1754,30 +1454,30 @@ namespace catalogue{
   "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_GRP_RULE_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      BIGINT UNSIGNED      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME      INTEGER      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       BIGINT UNSIGNED      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME       INTEGER      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
   "  CONSTRAINT RQSTER_GRP_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_GROUP_NAME),"
   "  CONSTRAINT RQSTER_GRP_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
   "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE ARCHIVE_FILE("
-  "  ARCHIVE_FILE_ID         BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
+  "  ARCHIVE_FILE_ID         INTEGER      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
   "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DIN_NN  NOT NULL,"
   "  DISK_FILE_ID            VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DFI_NN  NOT NULL,"
   "  DISK_FILE_PATH          VARCHAR(2000)   CONSTRAINT ARCHIVE_FILE_DFP_NN  NOT NULL,"
-  "  DISK_FILE_UID           INT UNSIGNED      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
-  "  DISK_FILE_GID           INT UNSIGNED      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
-  "  SIZE_IN_BYTES           BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
-  "  CHECKSUM_BLOB           VARBINARY(200),"
-  "  CHECKSUM_ADLER32        INT UNSIGNED      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
-  "  STORAGE_CLASS_ID        BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
-  "  CREATION_TIME           BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
-  "  RECONCILIATION_TIME     BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
-  "  IS_DELETED              CHAR(1)         DEFAULT '0' CONSTRAINT ARCHIVE_FILE_ID_NN NOT NULL,"
-  "  COLLOCATION_HINT        VARCHAR(100),"
-  "  CONSTRAINT ARCHIVE_FILE_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
+  "  DISK_FILE_UID           INTEGER      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
+  "  DISK_FILE_GID           INTEGER      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
+  "  SIZE_IN_BYTES           INTEGER      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
+  "  CHECKSUM_BLOB           BLOB(200),"
+  "  CHECKSUM_ADLER32        INTEGER      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
+  "  CREATION_TIME           INTEGER      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
+  "  RECONCILIATION_TIME     INTEGER      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
+  "  IS_DELETED              CHAR(1)         DEFAULT '0' CONSTRAINT ARCHIVE_FILE_ID_NN NOT NULL,"
+  "  COLLOCATION_HINT        VARCHAR(100),"
+  "  CONSTRAINT ARCHIVE_FILE_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
   "  CONSTRAINT ARCHIVE_FILE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
   "  CONSTRAINT ARCHIVE_FILE_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID),"
   "  CONSTRAINT ARCHIVE_FILE_ID_BOOL_CK CHECK(IS_DELETED IN ('0', '1'))"
@@ -1786,22 +1486,22 @@ namespace catalogue{
   "CREATE INDEX ARCHIVE_FILE_DFI_IDX ON ARCHIVE_FILE(DISK_FILE_ID);"
   "CREATE TABLE TAPE_FILE("
   "  VID                      VARCHAR(100)   CONSTRAINT TAPE_FILE_V_NN    NOT NULL,"
-  "  FSEQ                     BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
-  "  BLOCK_ID                 BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
-  "  LOGICAL_SIZE_IN_BYTES    BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
-  "  COPY_NB                  TINYINT UNSIGNED      CONSTRAINT TAPE_FILE_CN_NN   NOT NULL,"
-  "  CREATION_TIME            BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_CT_NN   NOT NULL,"
-  "  ARCHIVE_FILE_ID          BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_AFI_NN  NOT NULL,"
+  "  FSEQ                     INTEGER     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
+  "  BLOCK_ID                 INTEGER     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
+  "  LOGICAL_SIZE_IN_BYTES    INTEGER     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
+  "  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,"
   "  SUPERSEDED_BY_VID        VARCHAR(100),"
-  "  SUPERSEDED_BY_FSEQ       BIGINT UNSIGNED    ,"
-  "  WRITE_START_WRAP         SMALLINT UNSIGNED,"
-  "  WRITE_START_LPOS         INT UNSIGNED,"
-  "  WRITE_END_WRAP           SMALLINT UNSIGNED,"
-  "  WRITE_END_LPOS           INT UNSIGNED,"
-  "  READ_START_WRAP          SMALLINT UNSIGNED,"
-  "  READ_START_LPOS          INT UNSIGNED,"
-  "  READ_END_WRAP            SMALLINT UNSIGNED,"
-  "  READ_END_LPOS            INT UNSIGNED,"
+  "  SUPERSEDED_BY_FSEQ       INTEGER    ,"
+  "  WRITE_START_WRAP         INTEGER,"
+  "  WRITE_START_LPOS         INTEGER,"
+  "  WRITE_END_WRAP           INTEGER,"
+  "  WRITE_END_LPOS           INTEGER,"
+  "  READ_START_WRAP          INTEGER,"
+  "  READ_START_LPOS          INTEGER,"
+  "  READ_END_WRAP            INTEGER,"
+  "  READ_END_LPOS            INTEGER,"
   "  CONSTRAINT TAPE_FILE_PK PRIMARY KEY(VID, FSEQ),"
   "  CONSTRAINT TAPE_FILE_TAPE_FK FOREIGN KEY(VID)"
   "    REFERENCES TAPE(VID),"
@@ -1822,26 +1522,26 @@ namespace catalogue{
   "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT ACTIV_WEIGHTS_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME        BIGINT UNSIGNED      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME        INTEGER      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME         BIGINT UNSIGNED      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
+  "  LAST_UPDATE_TIME         INTEGER      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
   ");"
   "CREATE TABLE USAGESTATS ("
-  "  GID                     INT UNSIGNED   DEFAULT 0 CONSTRAINT USAGESTATS_GID_NN NOT NULL,"
-  "  TIMESTAMP               BIGINT UNSIGNED  DEFAULT 0 CONSTRAINT USAGESTATS_TS_NN NOT NULL,"
-  "  MAXFILEID               BIGINT UNSIGNED,"
-  "  FILECOUNT               BIGINT UNSIGNED,"
-  "  FILESIZE                BIGINT UNSIGNED,"
-  "  SEGCOUNT                BIGINT UNSIGNED,"
-  "  SEGSIZE                 BIGINT UNSIGNED,"
-  "  SEG2COUNT               BIGINT UNSIGNED,"
-  "  SEG2SIZE                BIGINT UNSIGNED,"
+  "  GID                     INTEGER   DEFAULT 0 CONSTRAINT USAGESTATS_GID_NN NOT NULL,"
+  "  TIMESTAMP               INTEGER  DEFAULT 0 CONSTRAINT USAGESTATS_TS_NN NOT NULL,"
+  "  MAXFILEID               INTEGER,"
+  "  FILECOUNT               INTEGER,"
+  "  FILESIZE                INTEGER,"
+  "  SEGCOUNT                INTEGER,"
+  "  SEGSIZE                 INTEGER,"
+  "  SEG2COUNT               INTEGER,"
+  "  SEG2SIZE                INTEGER,"
   "  CONSTRAINT USAGESTATS_GID_TS_PK PRIMARY KEY (GID, TIMESTAMP)"
   ");"
   "CREATE TABLE EXPERIMENTS ("
   " NAME                     VARCHAR(20),"
-  " GID                      INT UNSIGNED CONSTRAINT EXPERIMENTS_GID_PK PRIMARY KEY"
+  " GID                      INTEGER CONSTRAINT EXPERIMENTS_GID_PK PRIMARY KEY"
   ");"
   "INSERT INTO CTA_CATALOGUE("
   "  SCHEMA_VERSION_MAJOR,"
@@ -1851,26 +1551,40 @@ namespace catalogue{
   "  1,"
   "  1,"
   "  '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 (STATUS='UPGRADING'));"
       },
-  {"sqlite",  "CREATE TABLE ARCHIVE_FILE_ID("
-  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
-  ");"
-  "CREATE TABLE LOGICAL_LIBRARY_ID("
-  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
-  ");"
-  "CREATE TABLE STORAGE_CLASS_ID("
-  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
-  ");"
-  "CREATE TABLE TAPE_POOL_ID("
-  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
-  ");"
+  {"postgres",  "CREATE SEQUENCE ARCHIVE_FILE_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NO MAXVALUE"
+  "  MINVALUE 1"
+  "  NO CYCLE"
+  "  CACHE 20;"
+  "CREATE SEQUENCE LOGICAL_LIBRARY_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NO MAXVALUE"
+  "  MINVALUE 1"
+  "  NO CYCLE"
+  "  CACHE 20;"
+  "CREATE SEQUENCE STORAGE_CLASS_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NO MAXVALUE"
+  "  MINVALUE 1"
+  "  NO CYCLE"
+  "  CACHE 20;"
+  "CREATE SEQUENCE TAPE_POOL_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NO MAXVALUE"
+  "  MINVALUE 1"
+  "  NO CYCLE"
+  "  CACHE 20;"
   "CREATE TABLE CTA_CATALOGUE("
-  "  SCHEMA_VERSION_MAJOR    INTEGER      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
-  "  SCHEMA_VERSION_MINOR    INTEGER      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
-  "  NEXT_SCHEMA_VERSION_MAJOR INTEGER,"
-  "  NEXT_SCHEMA_VERSION_MINOR INTEGER,"
+  "  SCHEMA_VERSION_MAJOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
+  "  SCHEMA_VERSION_MINOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
+  "  NEXT_SCHEMA_VERSION_MAJOR NUMERIC(20, 0),"
+  "  NEXT_SCHEMA_VERSION_MINOR NUMERIC(20, 0),"
   "  STATUS                  VARCHAR(100)"
   ");"
   "CREATE TABLE ADMIN_USER("
@@ -1878,72 +1592,72 @@ namespace catalogue{
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
   "  CONSTRAINT ADMIN_USER_PK PRIMARY KEY(ADMIN_USER_NAME)"
   ");"
   "CREATE TABLE DISK_SYSTEM("
   "  DISK_SYSTEM_NAME        VARCHAR(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
   "  FILE_REGEXP             VARCHAR(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
   "  FREE_SPACE_QUERY_URL    VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
-  "  REFRESH_INTERVAL        INTEGER      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
-  "  TARGETED_FREE_SPACE     INTEGER      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
-  "  SLEEP_TIME              INTEGER      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
+  "  REFRESH_INTERVAL        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
+  "  TARGETED_FREE_SPACE     NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
+  "  SLEEP_TIME              NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
   "  CONSTRAINT NAME_PK PRIMARY KEY(DISK_SYSTEM_NAME)"
   ");"
   "CREATE TABLE STORAGE_CLASS("
-  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
   "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_DIN_NN  NOT NULL,"
   "  STORAGE_CLASS_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
-  "  NB_COPIES               INTEGER       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
+  "  NB_COPIES               NUMERIC(3, 0)       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT STORAGE_CLASS_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
   "  CONSTRAINT STORAGE_CLASS_PK PRIMARY KEY(STORAGE_CLASS_ID),"
   "  CONSTRAINT STORAGE_CLASS_SCN_UN UNIQUE(STORAGE_CLASS_NAME)"
   ");"
   "CREATE TABLE TAPE_POOL("
-  "  TAPE_POOL_ID            INTEGER      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
+  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
   "  TAPE_POOL_NAME          VARCHAR(100)    CONSTRAINT TAPE_POOL_TPN_NN  NOT NULL,"
   "  VO                      VARCHAR(100)    CONSTRAINT TAPE_POOL_VO_NN   NOT NULL,"
-  "  NB_PARTIAL_TAPES        INTEGER      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
+  "  NB_PARTIAL_TAPES        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
   "  IS_ENCRYPTED            CHAR(1)         CONSTRAINT TAPE_POOL_IE_NN   NOT NULL,"
   "  SUPPLY                  VARCHAR(100),"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT TAPE_POOL_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
   "  CONSTRAINT TAPE_POOL_PK PRIMARY KEY(TAPE_POOL_ID),"
   "  CONSTRAINT TAPE_POOL_TPN_UN UNIQUE(TAPE_POOL_NAME),"
   "  CONSTRAINT TAPE_POOL_IS_ENCRYPTED_BOOL_CK CHECK(IS_ENCRYPTED IN ('0', '1'))"
   ");"
   "CREATE TABLE ARCHIVE_ROUTE("
-  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
-  "  COPY_NB                 INTEGER       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
-  "  TAPE_POOL_ID            INTEGER      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
+  "  COPY_NB                 NUMERIC(3, 0)       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
+  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ARCHIVE_ROUTE_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
   "  CONSTRAINT ARCHIVE_ROUTE_PK PRIMARY KEY(STORAGE_CLASS_ID, COPY_NB),"
   "  CONSTRAINT ARCHIVE_ROUTE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
   "  CONSTRAINT ARCHIVE_ROUTE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
@@ -1951,16 +1665,16 @@ namespace catalogue{
   "  CONSTRAINT ARCHIVE_ROUTE_SCI_TPI_UN UNIQUE(STORAGE_CLASS_ID, TAPE_POOL_ID)"
   ");"
   "CREATE TABLE LOGICAL_LIBRARY("
-  "  LOGICAL_LIBRARY_ID      INTEGER      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
+  "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
   "  LOGICAL_LIBRARY_NAME    VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LLN_NN  NOT NULL,"
   "  IS_DISABLED             CHAR(1)         DEFAULT '0' CONSTRAINT LOGICAL_LIBRARY_ID_NN NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT LOGICAL_LIBRARY_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
   "  CONSTRAINT LOGICAL_LIBRARY_PK PRIMARY KEY(LOGICAL_LIBRARY_ID),"
   "  CONSTRAINT LOGICAL_LIBRARY_LLN_UN UNIQUE(LOGICAL_LIBRARY_NAME),"
   "  CONSTRAINT LOGICAL_LIBRARY_ID_BOOL_CK CHECK(IS_DISABLED IN ('0', '1'))"
@@ -1969,14 +1683,14 @@ namespace catalogue{
   "  VID                     VARCHAR(100)    CONSTRAINT TAPE_V_NN    NOT NULL,"
   "  MEDIA_TYPE              VARCHAR(100)    CONSTRAINT TAPE_MT_NN   NOT NULL,"
   "  VENDOR                  VARCHAR(100)    CONSTRAINT TAPE_V2_NN   NOT NULL,"
-  "  LOGICAL_LIBRARY_ID      INTEGER      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
-  "  TAPE_POOL_ID            INTEGER      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
+  "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
+  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
   "  ENCRYPTION_KEY_NAME     VARCHAR(100),"
-  "  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,"
+  "  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,"
@@ -1985,20 +1699,20 @@ namespace catalogue{
   "  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    ,"
+  "  LABEL_TIME              NUMERIC(20, 0)    ,"
   "  LAST_READ_DRIVE         VARCHAR(100),"
-  "  LAST_READ_TIME          INTEGER    ,"
+  "  LAST_READ_TIME          NUMERIC(20, 0)    ,"
   "  LAST_WRITE_DRIVE        VARCHAR(100),"
-  "  LAST_WRITE_TIME         INTEGER    ,"
-  "  READ_MOUNT_COUNT        INTEGER      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
-  "  WRITE_MOUNT_COUNT       INTEGER      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
+  "  LAST_WRITE_TIME         NUMERIC(20, 0)    ,"
+  "  READ_MOUNT_COUNT        NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
+  "  WRITE_MOUNT_COUNT       NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT TAPE_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
   "  CONSTRAINT TAPE_PK PRIMARY KEY(VID),"
   "  CONSTRAINT TAPE_LOGICAL_LIBRARY_FK FOREIGN KEY(LOGICAL_LIBRARY_ID) REFERENCES LOGICAL_LIBRARY(LOGICAL_LIBRARY_ID),"
   "  CONSTRAINT TAPE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
@@ -2013,18 +1727,18 @@ namespace catalogue{
   "CREATE INDEX TAPE_TAPE_POOL_ID_IDX ON TAPE(TAPE_POOL_ID);"
   "CREATE TABLE MOUNT_POLICY("
   "  MOUNT_POLICY_NAME        VARCHAR(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
-  "  ARCHIVE_PRIORITY         INTEGER      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
-  "  ARCHIVE_MIN_REQUEST_AGE  INTEGER      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
-  "  RETRIEVE_PRIORITY        INTEGER      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
-  "  RETRIEVE_MIN_REQUEST_AGE INTEGER      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
-  "  MAX_DRIVES_ALLOWED       INTEGER      CONSTRAINT MOUNT_POLICY_MDA_NN  NOT NULL,"
+  "  ARCHIVE_PRIORITY         NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
+  "  ARCHIVE_MIN_REQUEST_AGE  NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
+  "  RETRIEVE_PRIORITY        NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
+  "  RETRIEVE_MIN_REQUEST_AGE NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
+  "  MAX_DRIVES_ALLOWED       NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_MDA_NN  NOT NULL,"
   "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME        INTEGER      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME        NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME         INTEGER      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME         NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
   "  CONSTRAINT MOUNT_POLICY_PK PRIMARY KEY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE REQUESTER_MOUNT_RULE("
@@ -2034,10 +1748,10 @@ namespace catalogue{
   "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_RULE_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      INTEGER      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       INTEGER      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
   "  CONSTRAINT RQSTER_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_NAME),"
   "  CONSTRAINT RQSTER_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
   "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
@@ -2049,27 +1763,27 @@ namespace catalogue{
   "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_GRP_RULE_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      INTEGER      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       INTEGER      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
   "  CONSTRAINT RQSTER_GRP_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_GROUP_NAME),"
   "  CONSTRAINT RQSTER_GRP_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
   "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE ARCHIVE_FILE("
-  "  ARCHIVE_FILE_ID         INTEGER      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
+  "  ARCHIVE_FILE_ID         NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
   "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DIN_NN  NOT NULL,"
   "  DISK_FILE_ID            VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DFI_NN  NOT NULL,"
   "  DISK_FILE_PATH          VARCHAR(2000)   CONSTRAINT ARCHIVE_FILE_DFP_NN  NOT NULL,"
-  "  DISK_FILE_UID           INTEGER      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
-  "  DISK_FILE_GID           INTEGER      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
-  "  SIZE_IN_BYTES           INTEGER      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
-  "  CHECKSUM_BLOB           BLOB(200),"
-  "  CHECKSUM_ADLER32        INTEGER      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
-  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
-  "  CREATION_TIME           INTEGER      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
-  "  RECONCILIATION_TIME     INTEGER      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
+  "  DISK_FILE_UID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
+  "  DISK_FILE_GID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
+  "  SIZE_IN_BYTES           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
+  "  CHECKSUM_BLOB           BYTEA,"
+  "  CHECKSUM_ADLER32        NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
+  "  CREATION_TIME           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
+  "  RECONCILIATION_TIME     NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
   "  IS_DELETED              CHAR(1)         DEFAULT '0' CONSTRAINT ARCHIVE_FILE_ID_NN NOT NULL,"
   "  COLLOCATION_HINT        VARCHAR(100),"
   "  CONSTRAINT ARCHIVE_FILE_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
@@ -2081,22 +1795,22 @@ namespace catalogue{
   "CREATE INDEX ARCHIVE_FILE_DFI_IDX ON ARCHIVE_FILE(DISK_FILE_ID);"
   "CREATE TABLE TAPE_FILE("
   "  VID                      VARCHAR(100)   CONSTRAINT TAPE_FILE_V_NN    NOT NULL,"
-  "  FSEQ                     INTEGER     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
-  "  BLOCK_ID                 INTEGER     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
-  "  LOGICAL_SIZE_IN_BYTES    INTEGER     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
-  "  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,"
+  "  FSEQ                     NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
+  "  BLOCK_ID                 NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
+  "  LOGICAL_SIZE_IN_BYTES    NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
+  "  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,"
   "  SUPERSEDED_BY_VID        VARCHAR(100),"
-  "  SUPERSEDED_BY_FSEQ       INTEGER    ,"
-  "  WRITE_START_WRAP         INTEGER,"
-  "  WRITE_START_LPOS         INTEGER,"
-  "  WRITE_END_WRAP           INTEGER,"
-  "  WRITE_END_LPOS           INTEGER,"
-  "  READ_START_WRAP          INTEGER,"
-  "  READ_START_LPOS          INTEGER,"
-  "  READ_END_WRAP            INTEGER,"
-  "  READ_END_LPOS            INTEGER,"
+  "  SUPERSEDED_BY_FSEQ       NUMERIC(20, 0)    ,"
+  "  WRITE_START_WRAP         NUMERIC(5, 0),"
+  "  WRITE_START_LPOS         NUMERIC(10, 0),"
+  "  WRITE_END_WRAP           NUMERIC(5, 0),"
+  "  WRITE_END_LPOS           NUMERIC(10, 0),"
+  "  READ_START_WRAP          NUMERIC(5, 0),"
+  "  READ_START_LPOS          NUMERIC(10, 0),"
+  "  READ_END_WRAP            NUMERIC(5, 0),"
+  "  READ_END_LPOS            NUMERIC(10, 0),"
   "  CONSTRAINT TAPE_FILE_PK PRIMARY KEY(VID, FSEQ),"
   "  CONSTRAINT TAPE_FILE_TAPE_FK FOREIGN KEY(VID)"
   "    REFERENCES TAPE(VID),"
@@ -2117,26 +1831,26 @@ namespace catalogue{
   "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT ACTIV_WEIGHTS_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME        INTEGER      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME        NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME         INTEGER      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
+  "  LAST_UPDATE_TIME         NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
   ");"
   "CREATE TABLE USAGESTATS ("
-  "  GID                     INTEGER   DEFAULT 0 CONSTRAINT USAGESTATS_GID_NN NOT NULL,"
-  "  TIMESTAMP               INTEGER  DEFAULT 0 CONSTRAINT USAGESTATS_TS_NN NOT NULL,"
-  "  MAXFILEID               INTEGER,"
-  "  FILECOUNT               INTEGER,"
-  "  FILESIZE                INTEGER,"
-  "  SEGCOUNT                INTEGER,"
-  "  SEGSIZE                 INTEGER,"
-  "  SEG2COUNT               INTEGER,"
-  "  SEG2SIZE                INTEGER,"
+  "  GID                     NUMERIC(10, 0)   DEFAULT 0 CONSTRAINT USAGESTATS_GID_NN NOT NULL,"
+  "  TIMESTAMP               NUMERIC(20, 0)  DEFAULT 0 CONSTRAINT USAGESTATS_TS_NN NOT NULL,"
+  "  MAXFILEID               NUMERIC(20, 0),"
+  "  FILECOUNT               NUMERIC(20, 0),"
+  "  FILESIZE                NUMERIC(20, 0),"
+  "  SEGCOUNT                NUMERIC(20, 0),"
+  "  SEGSIZE                 NUMERIC(20, 0),"
+  "  SEG2COUNT               NUMERIC(20, 0),"
+  "  SEG2SIZE                NUMERIC(20, 0),"
   "  CONSTRAINT USAGESTATS_GID_TS_PK PRIMARY KEY (GID, TIMESTAMP)"
   ");"
   "CREATE TABLE EXPERIMENTS ("
   " NAME                     VARCHAR(20),"
-  " GID                      INTEGER CONSTRAINT EXPERIMENTS_GID_PK PRIMARY KEY"
+  " GID                      NUMERIC(10, 0) CONSTRAINT EXPERIMENTS_GID_PK PRIMARY KEY"
   ");"
   "INSERT INTO CTA_CATALOGUE("
   "  SCHEMA_VERSION_MAJOR,"
@@ -2146,112 +1860,159 @@ namespace catalogue{
   "  1,"
   "  1,"
   "  '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='PRODUCTION') OR (STATUS='UPGRADING'));"
       },
-  {"postgres",  "CREATE SEQUENCE ARCHIVE_FILE_ID_SEQ"
+    }  },
+  {"2.0",
+    {
+      {"oracle",  "CREATE SEQUENCE ARCHIVE_FILE_ID_SEQ"
   "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NO MAXVALUE"
+  "  START WITH 4294967296"
+  "  NOMAXVALUE"
   "  MINVALUE 1"
-  "  NO CYCLE"
-  "  CACHE 20;"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
   "CREATE SEQUENCE LOGICAL_LIBRARY_ID_SEQ"
   "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NO MAXVALUE"
+  "  START WITH 4294967296"
+  "  NOMAXVALUE"
   "  MINVALUE 1"
-  "  NO CYCLE"
-  "  CACHE 20;"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
   "CREATE SEQUENCE STORAGE_CLASS_ID_SEQ"
   "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NO MAXVALUE"
+  "  START WITH 4294967296"
+  "  NOMAXVALUE"
   "  MINVALUE 1"
-  "  NO CYCLE"
-  "  CACHE 20;"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
   "CREATE SEQUENCE TAPE_POOL_ID_SEQ"
   "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NO MAXVALUE"
+  "  START WITH 4294967296"
+  "  NOMAXVALUE"
   "  MINVALUE 1"
-  "  NO CYCLE"
-  "  CACHE 20;"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
+  "CREATE SEQUENCE VIRTUAL_ORGANIZATION_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 4294967296"
+  "  NOMAXVALUE"
+  "  MINVALUE 1"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
+  "CREATE GLOBAL TEMPORARY TABLE TEMP_TAPE_FILE_INSERTION_BATCH("
+  "  VID                   VARCHAR2(100),"
+  "  FSEQ                  NUMERIC(20, 0)  ,"
+  "  BLOCK_ID              NUMERIC(20, 0)  ,"
+  "  LOGICAL_SIZE_IN_BYTES NUMERIC(20, 0)  ,"
+  "  COPY_NB               NUMERIC(3, 0)   ,"
+  "  CREATION_TIME         NUMERIC(20, 0)  ,"
+  "  ARCHIVE_FILE_ID       NUMERIC(20, 0)"
+  ")"
+  "ON COMMIT DELETE ROWS;"
+  "CREATE INDEX TEMP_T_F_I_B_AFI_IDX ON TEMP_TAPE_FILE_INSERTION_BATCH(ARCHIVE_FILE_ID);"
   "CREATE TABLE CTA_CATALOGUE("
   "  SCHEMA_VERSION_MAJOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
   "  SCHEMA_VERSION_MINOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
   "  NEXT_SCHEMA_VERSION_MAJOR NUMERIC(20, 0),"
   "  NEXT_SCHEMA_VERSION_MINOR NUMERIC(20, 0),"
-  "  STATUS                  VARCHAR(100)"
+  "  STATUS                  VARCHAR2(100)"
   ");"
   "CREATE TABLE ADMIN_USER("
-  "  ADMIN_USER_NAME         VARCHAR(100)    CONSTRAINT ADMIN_USER_AUN_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
+  "  ADMIN_USER_NAME         VARCHAR2(100)    CONSTRAINT ADMIN_USER_AUN_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
   "  CONSTRAINT ADMIN_USER_PK PRIMARY KEY(ADMIN_USER_NAME)"
   ");"
   "CREATE TABLE DISK_SYSTEM("
-  "  DISK_SYSTEM_NAME        VARCHAR(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
-  "  FILE_REGEXP             VARCHAR(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
-  "  FREE_SPACE_QUERY_URL    VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
+  "  DISK_SYSTEM_NAME        VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
+  "  FILE_REGEXP             VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
+  "  FREE_SPACE_QUERY_URL    VARCHAR2(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
   "  REFRESH_INTERVAL        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
   "  TARGETED_FREE_SPACE     NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
   "  SLEEP_TIME              NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
   "  CONSTRAINT NAME_PK PRIMARY KEY(DISK_SYSTEM_NAME)"
   ");"
+  "CREATE TABLE VIRTUAL_ORGANIZATION("
+  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_VOI_NN  NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_NAME VARCHAR2(100)  CONSTRAINT VIRTUAL_ORGANIZATION_VON_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT VIRTUAL_ORGANIZATION_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_LUT_NN  NOT NULL,"
+  "  CONSTRAINT VIRTUAL_ORGANIZATION_PK PRIMARY KEY(VIRTUAL_ORGANIZATION_ID),"
+  "  CONSTRAINT VIRTUAL_ORGANIZATION_VON_UN UNIQUE(VIRTUAL_ORGANIZATION_NAME)"
+  ");"
   "CREATE TABLE STORAGE_CLASS("
   "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
-  "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_DIN_NN  NOT NULL,"
-  "  STORAGE_CLASS_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
+  "  STORAGE_CLASS_NAME      VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
   "  NB_COPIES               NUMERIC(3, 0)       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT STORAGE_CLASS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT STORAGE_CLASS_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
   "  CONSTRAINT STORAGE_CLASS_PK PRIMARY KEY(STORAGE_CLASS_ID),"
-  "  CONSTRAINT STORAGE_CLASS_SCN_UN UNIQUE(STORAGE_CLASS_NAME)"
+  "  CONSTRAINT STORAGE_CLASS_SCN_UN UNIQUE(STORAGE_CLASS_NAME),"
+  "  CONSTRAINT STORAGE_CLASS_VOI_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
   ");"
   "CREATE TABLE TAPE_POOL("
   "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
-  "  TAPE_POOL_NAME          VARCHAR(100)    CONSTRAINT TAPE_POOL_TPN_NN  NOT NULL,"
-  "  VO                      VARCHAR(100)    CONSTRAINT TAPE_POOL_VO_NN   NOT NULL,"
+  "  TAPE_POOL_NAME          VARCHAR2(100)    CONSTRAINT TAPE_POOL_TPN_NN  NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_VOI_NN  NOT NULL,"
   "  NB_PARTIAL_TAPES        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
   "  IS_ENCRYPTED            CHAR(1)         CONSTRAINT TAPE_POOL_IE_NN   NOT NULL,"
-  "  SUPPLY                  VARCHAR(100),"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT TAPE_POOL_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL,"
+  "  SUPPLY                  VARCHAR2(100),"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT TAPE_POOL_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
   "  CONSTRAINT TAPE_POOL_PK PRIMARY KEY(TAPE_POOL_ID),"
   "  CONSTRAINT TAPE_POOL_TPN_UN UNIQUE(TAPE_POOL_NAME),"
-  "  CONSTRAINT TAPE_POOL_IS_ENCRYPTED_BOOL_CK CHECK(IS_ENCRYPTED IN ('0', '1'))"
+  "  CONSTRAINT TAPE_POOL_IS_ENCRYPTED_BOOL_CK CHECK(IS_ENCRYPTED IN ('0', '1')),"
+  "  CONSTRAINT TAPE_POOL_VO_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
   ");"
   "CREATE TABLE ARCHIVE_ROUTE("
   "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
   "  COPY_NB                 NUMERIC(3, 0)       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
   "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ARCHIVE_ROUTE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT ARCHIVE_ROUTE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
   "  CONSTRAINT ARCHIVE_ROUTE_PK PRIMARY KEY(STORAGE_CLASS_ID, COPY_NB),"
   "  CONSTRAINT ARCHIVE_ROUTE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
@@ -2261,26 +2022,26 @@ namespace catalogue{
   ");"
   "CREATE TABLE LOGICAL_LIBRARY("
   "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
-  "  LOGICAL_LIBRARY_NAME    VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LLN_NN  NOT NULL,"
+  "  LOGICAL_LIBRARY_NAME    VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_LLN_NN  NOT NULL,"
   "  IS_DISABLED             CHAR(1)         DEFAULT '0' CONSTRAINT LOGICAL_LIBRARY_ID_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT LOGICAL_LIBRARY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT LOGICAL_LIBRARY_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
   "  CONSTRAINT LOGICAL_LIBRARY_PK PRIMARY KEY(LOGICAL_LIBRARY_ID),"
   "  CONSTRAINT LOGICAL_LIBRARY_LLN_UN UNIQUE(LOGICAL_LIBRARY_NAME),"
   "  CONSTRAINT LOGICAL_LIBRARY_ID_BOOL_CK CHECK(IS_DISABLED IN ('0', '1'))"
   ");"
   "CREATE TABLE TAPE("
-  "  VID                     VARCHAR(100)    CONSTRAINT TAPE_V_NN    NOT NULL,"
-  "  MEDIA_TYPE              VARCHAR(100)    CONSTRAINT TAPE_MT_NN   NOT NULL,"
-  "  VENDOR                  VARCHAR(100)    CONSTRAINT TAPE_V2_NN   NOT NULL,"
+  "  VID                     VARCHAR2(100)    CONSTRAINT TAPE_V_NN    NOT NULL,"
+  "  MEDIA_TYPE              VARCHAR2(100)    CONSTRAINT TAPE_MT_NN   NOT NULL,"
+  "  VENDOR                  VARCHAR2(100)    CONSTRAINT TAPE_V2_NN   NOT NULL,"
   "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
   "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
-  "  ENCRYPTION_KEY_NAME     VARCHAR(100),"
+  "  ENCRYPTION_KEY_NAME     VARCHAR2(100),"
   "  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,"
@@ -2293,20 +2054,24 @@ namespace catalogue{
   "  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),"
+  "  NB_COPY_NB_1            NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_1_NN NOT NULL,"
+  "  COPY_NB_1_IN_BYTES      NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_1_IN_BYTES_NN NOT NULL,"
+  "  NB_COPY_NB_GT_1         NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_GT_1_NN NOT NULL,"
+  "  COPY_NB_GT_1_IN_BYTES   NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_GT_1_IN_BYTES_NN NOT NULL,"
+  "  LABEL_DRIVE             VARCHAR2(100),"
   "  LABEL_TIME              NUMERIC(20, 0)    ,"
-  "  LAST_READ_DRIVE         VARCHAR(100),"
+  "  LAST_READ_DRIVE         VARCHAR2(100),"
   "  LAST_READ_TIME          NUMERIC(20, 0)    ,"
-  "  LAST_WRITE_DRIVE        VARCHAR(100),"
+  "  LAST_WRITE_DRIVE        VARCHAR2(100),"
   "  LAST_WRITE_TIME         NUMERIC(20, 0)    ,"
   "  READ_MOUNT_COUNT        NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
   "  WRITE_MOUNT_COUNT       NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT TAPE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT TAPE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT TAPE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT TAPE_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
   "  CONSTRAINT TAPE_PK PRIMARY KEY(VID),"
   "  CONSTRAINT TAPE_LOGICAL_LIBRARY_FK FOREIGN KEY(LOGICAL_LIBRARY_ID) REFERENCES LOGICAL_LIBRARY(LOGICAL_LIBRARY_ID),"
@@ -2321,46 +2086,46 @@ namespace catalogue{
   ");"
   "CREATE INDEX TAPE_TAPE_POOL_ID_IDX ON TAPE(TAPE_POOL_ID);"
   "CREATE TABLE MOUNT_POLICY("
-  "  MOUNT_POLICY_NAME        VARCHAR(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
+  "  MOUNT_POLICY_NAME        VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
   "  ARCHIVE_PRIORITY         NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
   "  ARCHIVE_MIN_REQUEST_AGE  NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
   "  RETRIEVE_PRIORITY        NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
   "  RETRIEVE_MIN_REQUEST_AGE NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
   "  MAX_DRIVES_ALLOWED       NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_MDA_NN  NOT NULL,"
-  "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
+  "  USER_COMMENT             VARCHAR2(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME   VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME   VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME        NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME    VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME    VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME         NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
   "  CONSTRAINT MOUNT_POLICY_PK PRIMARY KEY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE REQUESTER_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR(100)    CONSTRAINT RQSTER_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_NAME         VARCHAR(100)    CONSTRAINT RQSTER_RULE_RN_NN   NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR(100)    CONSTRAINT RQSTER_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL,"
+  "  DISK_INSTANCE_NAME     VARCHAR2(100)    CONSTRAINT RQSTER_RULE_DIN_NN  NOT NULL,"
+  "  REQUESTER_NAME         VARCHAR2(100)    CONSTRAINT RQSTER_RULE_RN_NN   NOT NULL,"
+  "  MOUNT_POLICY_NAME      VARCHAR2(100)    CONSTRAINT RQSTER_RULE_MPN_NN  NOT NULL,"
+  "  USER_COMMENT           VARCHAR2(1000)   CONSTRAINT RQSTER_RULE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME VARCHAR2(100)    CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME VARCHAR2(100)    CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
   "  CONSTRAINT RQSTER_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_NAME),"
   "  CONSTRAINT RQSTER_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
   "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE REQUESTER_GROUP_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_GROUP_NAME   VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_RGN_NN  NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_GRP_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL,"
+  "  DISK_INSTANCE_NAME     VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_DIN_NN  NOT NULL,"
+  "  REQUESTER_GROUP_NAME   VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_RGN_NN  NOT NULL,"
+  "  MOUNT_POLICY_NAME      VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_MPN_NN  NOT NULL,"
+  "  USER_COMMENT           VARCHAR2(1000)   CONSTRAINT RQSTER_GRP_RULE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
   "  CONSTRAINT RQSTER_GRP_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_GROUP_NAME),"
   "  CONSTRAINT RQSTER_GRP_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
@@ -2368,35 +2133,34 @@ namespace catalogue{
   ");"
   "CREATE TABLE ARCHIVE_FILE("
   "  ARCHIVE_FILE_ID         NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
-  "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DIN_NN  NOT NULL,"
-  "  DISK_FILE_ID            VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DFI_NN  NOT NULL,"
-  "  DISK_FILE_PATH          VARCHAR(2000)   CONSTRAINT ARCHIVE_FILE_DFP_NN  NOT NULL,"
+  "  DISK_INSTANCE_NAME      VARCHAR2(100)    CONSTRAINT ARCHIVE_FILE_DIN_NN  NOT NULL,"
+  "  DISK_FILE_ID            VARCHAR2(100)    CONSTRAINT ARCHIVE_FILE_DFI_NN  NOT NULL,"
   "  DISK_FILE_UID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
   "  DISK_FILE_GID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
   "  SIZE_IN_BYTES           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
-  "  CHECKSUM_BLOB           BYTEA,"
+  "  CHECKSUM_BLOB           RAW(200),"
   "  CHECKSUM_ADLER32        NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
   "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
   "  CREATION_TIME           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
   "  RECONCILIATION_TIME     NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
   "  IS_DELETED              CHAR(1)         DEFAULT '0' CONSTRAINT ARCHIVE_FILE_ID_NN NOT NULL,"
-  "  COLLOCATION_HINT        VARCHAR(100),"
+  "  COLLOCATION_HINT        VARCHAR2(100),"
   "  CONSTRAINT ARCHIVE_FILE_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
   "  CONSTRAINT ARCHIVE_FILE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
   "  CONSTRAINT ARCHIVE_FILE_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID),"
   "  CONSTRAINT ARCHIVE_FILE_ID_BOOL_CK CHECK(IS_DELETED IN ('0', '1'))"
   ");"
-  "CREATE INDEX ARCHIVE_FILE_DIN_DFP_IDX ON ARCHIVE_FILE(DISK_INSTANCE_NAME, DISK_FILE_PATH);"
+  "CREATE INDEX ARCHIVE_FILE_DIN_IDX ON ARCHIVE_FILE(DISK_INSTANCE_NAME);"
   "CREATE INDEX ARCHIVE_FILE_DFI_IDX ON ARCHIVE_FILE(DISK_FILE_ID);"
   "CREATE TABLE TAPE_FILE("
-  "  VID                      VARCHAR(100)   CONSTRAINT TAPE_FILE_V_NN    NOT NULL,"
+  "  VID                      VARCHAR2(100)   CONSTRAINT TAPE_FILE_V_NN    NOT NULL,"
   "  FSEQ                     NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
   "  BLOCK_ID                 NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
   "  LOGICAL_SIZE_IN_BYTES    NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
   "  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,"
-  "  SUPERSEDED_BY_VID        VARCHAR(100),"
+  "  SUPERSEDED_BY_VID        VARCHAR2(100),"
   "  SUPERSEDED_BY_FSEQ       NUMERIC(20, 0)    ,"
   "  WRITE_START_WRAP         NUMERIC(5, 0),"
   "  WRITE_START_LPOS         NUMERIC(10, 0),"
@@ -2420,15 +2184,15 @@ namespace catalogue{
   "CREATE INDEX TAPE_FILE_ARCHIVE_FILE_ID_IDX ON TAPE_FILE(ARCHIVE_FILE_ID);"
   "CREATE INDEX TAPE_FILE_SBV_SBF_IDX ON TAPE_FILE(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ);"
   "CREATE TABLE ACTIVITIES_WEIGHTS ("
-  "  DISK_INSTANCE_NAME       VARCHAR(100),"
-  "  ACTIVITY                 VARCHAR(100),"
-  "  WEIGHT                   VARCHAR(100),"
-  "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT ACTIV_WEIGHTS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL,"
+  "  DISK_INSTANCE_NAME       VARCHAR2(100),"
+  "  ACTIVITY                 VARCHAR2(100),"
+  "  WEIGHT                   VARCHAR2(100),"
+  "  USER_COMMENT             VARCHAR2(1000)   CONSTRAINT ACTIV_WEIGHTS_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME   VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME   VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME        NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME    VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME    VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME         NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
   ");"
   "CREATE TABLE USAGESTATS ("
@@ -2444,7 +2208,7 @@ namespace catalogue{
   "  CONSTRAINT USAGESTATS_GID_TS_PK PRIMARY KEY (GID, TIMESTAMP)"
   ");"
   "CREATE TABLE EXPERIMENTS ("
-  " NAME                     VARCHAR(20),"
+  " NAME                     VARCHAR2(20),"
   " GID                      NUMERIC(10, 0) CONSTRAINT EXPERIMENTS_GID_PK PRIMARY KEY"
   ");"
   "INSERT INTO CTA_CATALOGUE("
@@ -2452,163 +2216,121 @@ namespace catalogue{
   "  SCHEMA_VERSION_MINOR,"
   "  STATUS)"
   "VALUES("
-  "  1,"
-  "  1,"
+  "  2,"
+  "  0,"
   "  '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='PRODUCTION') OR (STATUS='UPGRADING'));"
+  "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;"
       },
-    }  },
-  {"2.0",
-    {
-      {"oracle",  "CREATE SEQUENCE ARCHIVE_FILE_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 4294967296"
-  "  NOMAXVALUE"
-  "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
-  "CREATE SEQUENCE LOGICAL_LIBRARY_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 4294967296"
-  "  NOMAXVALUE"
-  "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
-  "CREATE SEQUENCE STORAGE_CLASS_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 4294967296"
-  "  NOMAXVALUE"
-  "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
-  "CREATE SEQUENCE TAPE_POOL_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 4294967296"
-  "  NOMAXVALUE"
-  "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
-  "CREATE SEQUENCE VIRTUAL_ORGANIZATION_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 4294967296"
-  "  NOMAXVALUE"
-  "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
-  "CREATE GLOBAL TEMPORARY TABLE TEMP_TAPE_FILE_INSERTION_BATCH("
-  "  VID                   VARCHAR2(100),"
-  "  FSEQ                  NUMERIC(20, 0)  ,"
-  "  BLOCK_ID              NUMERIC(20, 0)  ,"
-  "  LOGICAL_SIZE_IN_BYTES NUMERIC(20, 0)  ,"
-  "  COPY_NB               NUMERIC(3, 0)   ,"
-  "  CREATION_TIME         NUMERIC(20, 0)  ,"
-  "  ARCHIVE_FILE_ID       NUMERIC(20, 0)"
-  ")"
-  "ON COMMIT DELETE ROWS;"
-  "CREATE INDEX TEMP_T_F_I_B_AFI_IDX ON TEMP_TAPE_FILE_INSERTION_BATCH(ARCHIVE_FILE_ID);"
+  {"sqlite",  "CREATE TABLE ARCHIVE_FILE_ID("
+  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
+  ");"
+  "CREATE TABLE LOGICAL_LIBRARY_ID("
+  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
+  ");"
+  "CREATE TABLE STORAGE_CLASS_ID("
+  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
+  ");"
+  "CREATE TABLE TAPE_POOL_ID("
+  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
+  ");"
+  "CREATE TABLE VIRTUAL_ORGANIZATION_ID("
+  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
+  ");"
   "CREATE TABLE CTA_CATALOGUE("
-  "  SCHEMA_VERSION_MAJOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
-  "  SCHEMA_VERSION_MINOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
-  "  NEXT_SCHEMA_VERSION_MAJOR NUMERIC(20, 0),"
-  "  NEXT_SCHEMA_VERSION_MINOR NUMERIC(20, 0),"
-  "  STATUS                  VARCHAR2(100)"
+  "  SCHEMA_VERSION_MAJOR    INTEGER      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
+  "  SCHEMA_VERSION_MINOR    INTEGER      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
+  "  NEXT_SCHEMA_VERSION_MAJOR INTEGER,"
+  "  NEXT_SCHEMA_VERSION_MINOR INTEGER,"
+  "  STATUS                  VARCHAR(100)"
   ");"
   "CREATE TABLE ADMIN_USER("
-  "  ADMIN_USER_NAME         VARCHAR2(100)    CONSTRAINT ADMIN_USER_AUN_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
+  "  ADMIN_USER_NAME         VARCHAR(100)    CONSTRAINT ADMIN_USER_AUN_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
   "  CONSTRAINT ADMIN_USER_PK PRIMARY KEY(ADMIN_USER_NAME)"
   ");"
   "CREATE TABLE DISK_SYSTEM("
-  "  DISK_SYSTEM_NAME        VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
-  "  FILE_REGEXP             VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
-  "  FREE_SPACE_QUERY_URL    VARCHAR2(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
-  "  REFRESH_INTERVAL        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
-  "  TARGETED_FREE_SPACE     NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
-  "  SLEEP_TIME              NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
+  "  DISK_SYSTEM_NAME        VARCHAR(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
+  "  FILE_REGEXP             VARCHAR(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
+  "  FREE_SPACE_QUERY_URL    VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
+  "  REFRESH_INTERVAL        INTEGER      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
+  "  TARGETED_FREE_SPACE     INTEGER      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
+  "  SLEEP_TIME              INTEGER      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
+  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
   "  CONSTRAINT NAME_PK PRIMARY KEY(DISK_SYSTEM_NAME)"
   ");"
   "CREATE TABLE VIRTUAL_ORGANIZATION("
-  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_VOI_NN  NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_NAME VARCHAR2(100)  CONSTRAINT VIRTUAL_ORGANIZATION_VON_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT VIRTUAL_ORGANIZATION_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_LUT_NN  NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID INTEGER      CONSTRAINT VIRTUAL_ORGANIZATION_VOI_NN  NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_NAME VARCHAR(100)  CONSTRAINT VIRTUAL_ORGANIZATION_VON_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT VIRTUAL_ORGANIZATION_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT VIRTUAL_ORGANIZATION_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT VIRTUAL_ORGANIZATION_LUT_NN  NOT NULL,"
   "  CONSTRAINT VIRTUAL_ORGANIZATION_PK PRIMARY KEY(VIRTUAL_ORGANIZATION_ID),"
   "  CONSTRAINT VIRTUAL_ORGANIZATION_VON_UN UNIQUE(VIRTUAL_ORGANIZATION_NAME)"
   ");"
   "CREATE TABLE STORAGE_CLASS("
-  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
-  "  STORAGE_CLASS_NAME      VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
-  "  NB_COPIES               NUMERIC(3, 0)       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT STORAGE_CLASS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
+  "  STORAGE_CLASS_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
+  "  NB_COPIES               INTEGER       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID INTEGER      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT STORAGE_CLASS_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
   "  CONSTRAINT STORAGE_CLASS_PK PRIMARY KEY(STORAGE_CLASS_ID),"
   "  CONSTRAINT STORAGE_CLASS_SCN_UN UNIQUE(STORAGE_CLASS_NAME),"
   "  CONSTRAINT STORAGE_CLASS_VOI_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
   ");"
   "CREATE TABLE TAPE_POOL("
-  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
-  "  TAPE_POOL_NAME          VARCHAR2(100)    CONSTRAINT TAPE_POOL_TPN_NN  NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_VOI_NN  NOT NULL,"
-  "  NB_PARTIAL_TAPES        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
+  "  TAPE_POOL_ID            INTEGER      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
+  "  TAPE_POOL_NAME          VARCHAR(100)    CONSTRAINT TAPE_POOL_TPN_NN  NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID INTEGER      CONSTRAINT TAPE_POOL_VOI_NN  NOT NULL,"
+  "  NB_PARTIAL_TAPES        INTEGER      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
   "  IS_ENCRYPTED            CHAR(1)         CONSTRAINT TAPE_POOL_IE_NN   NOT NULL,"
-  "  SUPPLY                  VARCHAR2(100),"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT TAPE_POOL_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
+  "  SUPPLY                  VARCHAR(100),"
+  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT TAPE_POOL_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
   "  CONSTRAINT TAPE_POOL_PK PRIMARY KEY(TAPE_POOL_ID),"
   "  CONSTRAINT TAPE_POOL_TPN_UN UNIQUE(TAPE_POOL_NAME),"
   "  CONSTRAINT TAPE_POOL_IS_ENCRYPTED_BOOL_CK CHECK(IS_ENCRYPTED IN ('0', '1')),"
   "  CONSTRAINT TAPE_POOL_VO_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
   ");"
   "CREATE TABLE ARCHIVE_ROUTE("
-  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
-  "  COPY_NB                 NUMERIC(3, 0)       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
-  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT ARCHIVE_ROUTE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
+  "  COPY_NB                 INTEGER       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
+  "  TAPE_POOL_ID            INTEGER      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ARCHIVE_ROUTE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
   "  CONSTRAINT ARCHIVE_ROUTE_PK PRIMARY KEY(STORAGE_CLASS_ID, COPY_NB),"
   "  CONSTRAINT ARCHIVE_ROUTE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
   "  CONSTRAINT ARCHIVE_ROUTE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
@@ -2616,32 +2338,32 @@ namespace catalogue{
   "  CONSTRAINT ARCHIVE_ROUTE_SCI_TPI_UN UNIQUE(STORAGE_CLASS_ID, TAPE_POOL_ID)"
   ");"
   "CREATE TABLE LOGICAL_LIBRARY("
-  "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
-  "  LOGICAL_LIBRARY_NAME    VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_LLN_NN  NOT NULL,"
+  "  LOGICAL_LIBRARY_ID      INTEGER      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
+  "  LOGICAL_LIBRARY_NAME    VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LLN_NN  NOT NULL,"
   "  IS_DISABLED             CHAR(1)         DEFAULT '0' CONSTRAINT LOGICAL_LIBRARY_ID_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT LOGICAL_LIBRARY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT LOGICAL_LIBRARY_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
   "  CONSTRAINT LOGICAL_LIBRARY_PK PRIMARY KEY(LOGICAL_LIBRARY_ID),"
   "  CONSTRAINT LOGICAL_LIBRARY_LLN_UN UNIQUE(LOGICAL_LIBRARY_NAME),"
   "  CONSTRAINT LOGICAL_LIBRARY_ID_BOOL_CK CHECK(IS_DISABLED IN ('0', '1'))"
   ");"
   "CREATE TABLE TAPE("
-  "  VID                     VARCHAR2(100)    CONSTRAINT TAPE_V_NN    NOT NULL,"
-  "  MEDIA_TYPE              VARCHAR2(100)    CONSTRAINT TAPE_MT_NN   NOT NULL,"
-  "  VENDOR                  VARCHAR2(100)    CONSTRAINT TAPE_V2_NN   NOT NULL,"
-  "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
-  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
-  "  ENCRYPTION_KEY_NAME     VARCHAR2(100),"
-  "  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,"
+  "  VID                     VARCHAR(100)    CONSTRAINT TAPE_V_NN    NOT NULL,"
+  "  MEDIA_TYPE              VARCHAR(100)    CONSTRAINT TAPE_MT_NN   NOT NULL,"
+  "  VENDOR                  VARCHAR(100)    CONSTRAINT TAPE_V2_NN   NOT NULL,"
+  "  LOGICAL_LIBRARY_ID      INTEGER      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
+  "  TAPE_POOL_ID            INTEGER      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
+  "  ENCRYPTION_KEY_NAME     VARCHAR(100),"
+  "  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,"
@@ -2649,25 +2371,25 @@ namespace catalogue{
   "  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,"
-  "  NB_COPY_NB_1            NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_1_NN NOT NULL,"
-  "  COPY_NB_1_IN_BYTES      NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_1_IN_BYTES_NN NOT NULL,"
-  "  NB_COPY_NB_GT_1         NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_GT_1_NN NOT NULL,"
-  "  COPY_NB_GT_1_IN_BYTES   NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_GT_1_IN_BYTES_NN NOT NULL,"
-  "  LABEL_DRIVE             VARCHAR2(100),"
-  "  LABEL_TIME              NUMERIC(20, 0)    ,"
-  "  LAST_READ_DRIVE         VARCHAR2(100),"
-  "  LAST_READ_TIME          NUMERIC(20, 0)    ,"
-  "  LAST_WRITE_DRIVE        VARCHAR2(100),"
-  "  LAST_WRITE_TIME         NUMERIC(20, 0)    ,"
-  "  READ_MOUNT_COUNT        NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
-  "  WRITE_MOUNT_COUNT       NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT TAPE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT TAPE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT TAPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
+  "  NB_COPY_NB_1            INTEGER     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_1_NN NOT NULL,"
+  "  COPY_NB_1_IN_BYTES      INTEGER     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_1_IN_BYTES_NN NOT NULL,"
+  "  NB_COPY_NB_GT_1         INTEGER     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_GT_1_NN NOT NULL,"
+  "  COPY_NB_GT_1_IN_BYTES   INTEGER     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_GT_1_IN_BYTES_NN NOT NULL,"
+  "  LABEL_DRIVE             VARCHAR(100),"
+  "  LABEL_TIME              INTEGER    ,"
+  "  LAST_READ_DRIVE         VARCHAR(100),"
+  "  LAST_READ_TIME          INTEGER    ,"
+  "  LAST_WRITE_DRIVE        VARCHAR(100),"
+  "  LAST_WRITE_TIME         INTEGER    ,"
+  "  READ_MOUNT_COUNT        INTEGER      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
+  "  WRITE_MOUNT_COUNT       INTEGER      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
+  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT TAPE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
   "  CONSTRAINT TAPE_PK PRIMARY KEY(VID),"
   "  CONSTRAINT TAPE_LOGICAL_LIBRARY_FK FOREIGN KEY(LOGICAL_LIBRARY_ID) REFERENCES LOGICAL_LIBRARY(LOGICAL_LIBRARY_ID),"
   "  CONSTRAINT TAPE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
@@ -2681,65 +2403,65 @@ namespace catalogue{
   ");"
   "CREATE INDEX TAPE_TAPE_POOL_ID_IDX ON TAPE(TAPE_POOL_ID);"
   "CREATE TABLE MOUNT_POLICY("
-  "  MOUNT_POLICY_NAME        VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
-  "  ARCHIVE_PRIORITY         NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
-  "  ARCHIVE_MIN_REQUEST_AGE  NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
-  "  RETRIEVE_PRIORITY        NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
-  "  RETRIEVE_MIN_REQUEST_AGE NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
-  "  MAX_DRIVES_ALLOWED       NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_MDA_NN  NOT NULL,"
-  "  USER_COMMENT             VARCHAR2(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME   VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME   VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME        NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME    VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME    VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME         NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
+  "  MOUNT_POLICY_NAME        VARCHAR(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
+  "  ARCHIVE_PRIORITY         INTEGER      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
+  "  ARCHIVE_MIN_REQUEST_AGE  INTEGER      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
+  "  RETRIEVE_PRIORITY        INTEGER      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
+  "  RETRIEVE_MIN_REQUEST_AGE INTEGER      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
+  "  MAX_DRIVES_ALLOWED       INTEGER      CONSTRAINT MOUNT_POLICY_MDA_NN  NOT NULL,"
+  "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME        INTEGER      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME         INTEGER      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
   "  CONSTRAINT MOUNT_POLICY_PK PRIMARY KEY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE REQUESTER_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR2(100)    CONSTRAINT RQSTER_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_NAME         VARCHAR2(100)    CONSTRAINT RQSTER_RULE_RN_NN   NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR2(100)    CONSTRAINT RQSTER_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR2(1000)   CONSTRAINT RQSTER_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR2(100)    CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR2(100)    CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
+  "  DISK_INSTANCE_NAME     VARCHAR(100)    CONSTRAINT RQSTER_RULE_DIN_NN  NOT NULL,"
+  "  REQUESTER_NAME         VARCHAR(100)    CONSTRAINT RQSTER_RULE_RN_NN   NOT NULL,"
+  "  MOUNT_POLICY_NAME      VARCHAR(100)    CONSTRAINT RQSTER_RULE_MPN_NN  NOT NULL,"
+  "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_RULE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME      INTEGER      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME       INTEGER      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
   "  CONSTRAINT RQSTER_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_NAME),"
   "  CONSTRAINT RQSTER_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
   "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE REQUESTER_GROUP_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_GROUP_NAME   VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_RGN_NN  NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR2(1000)   CONSTRAINT RQSTER_GRP_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
+  "  DISK_INSTANCE_NAME     VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_DIN_NN  NOT NULL,"
+  "  REQUESTER_GROUP_NAME   VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_RGN_NN  NOT NULL,"
+  "  MOUNT_POLICY_NAME      VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_MPN_NN  NOT NULL,"
+  "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_GRP_RULE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME      INTEGER      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME       INTEGER      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
   "  CONSTRAINT RQSTER_GRP_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_GROUP_NAME),"
   "  CONSTRAINT RQSTER_GRP_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
   "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE ARCHIVE_FILE("
-  "  ARCHIVE_FILE_ID         NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
-  "  DISK_INSTANCE_NAME      VARCHAR2(100)    CONSTRAINT ARCHIVE_FILE_DIN_NN  NOT NULL,"
-  "  DISK_FILE_ID            VARCHAR2(100)    CONSTRAINT ARCHIVE_FILE_DFI_NN  NOT NULL,"
-  "  DISK_FILE_UID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
-  "  DISK_FILE_GID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
-  "  SIZE_IN_BYTES           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
-  "  CHECKSUM_BLOB           RAW(200),"
-  "  CHECKSUM_ADLER32        NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
-  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
-  "  CREATION_TIME           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
-  "  RECONCILIATION_TIME     NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
+  "  ARCHIVE_FILE_ID         INTEGER      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
+  "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DIN_NN  NOT NULL,"
+  "  DISK_FILE_ID            VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DFI_NN  NOT NULL,"
+  "  DISK_FILE_UID           INTEGER      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
+  "  DISK_FILE_GID           INTEGER      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
+  "  SIZE_IN_BYTES           INTEGER      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
+  "  CHECKSUM_BLOB           BLOB(200),"
+  "  CHECKSUM_ADLER32        INTEGER      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
+  "  CREATION_TIME           INTEGER      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
+  "  RECONCILIATION_TIME     INTEGER      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
   "  IS_DELETED              CHAR(1)         DEFAULT '0' CONSTRAINT ARCHIVE_FILE_ID_NN NOT NULL,"
-  "  COLLOCATION_HINT        VARCHAR2(100),"
+  "  COLLOCATION_HINT        VARCHAR(100),"
   "  CONSTRAINT ARCHIVE_FILE_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
   "  CONSTRAINT ARCHIVE_FILE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
   "  CONSTRAINT ARCHIVE_FILE_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID),"
@@ -2748,23 +2470,23 @@ namespace catalogue{
   "CREATE INDEX ARCHIVE_FILE_DIN_IDX ON ARCHIVE_FILE(DISK_INSTANCE_NAME);"
   "CREATE INDEX ARCHIVE_FILE_DFI_IDX ON ARCHIVE_FILE(DISK_FILE_ID);"
   "CREATE TABLE TAPE_FILE("
-  "  VID                      VARCHAR2(100)   CONSTRAINT TAPE_FILE_V_NN    NOT NULL,"
-  "  FSEQ                     NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
-  "  BLOCK_ID                 NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
-  "  LOGICAL_SIZE_IN_BYTES    NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
-  "  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,"
-  "  SUPERSEDED_BY_VID        VARCHAR2(100),"
-  "  SUPERSEDED_BY_FSEQ       NUMERIC(20, 0)    ,"
-  "  WRITE_START_WRAP         NUMERIC(5, 0),"
-  "  WRITE_START_LPOS         NUMERIC(10, 0),"
-  "  WRITE_END_WRAP           NUMERIC(5, 0),"
-  "  WRITE_END_LPOS           NUMERIC(10, 0),"
-  "  READ_START_WRAP          NUMERIC(5, 0),"
-  "  READ_START_LPOS          NUMERIC(10, 0),"
-  "  READ_END_WRAP            NUMERIC(5, 0),"
-  "  READ_END_LPOS            NUMERIC(10, 0),"
+  "  VID                      VARCHAR(100)   CONSTRAINT TAPE_FILE_V_NN    NOT NULL,"
+  "  FSEQ                     INTEGER     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
+  "  BLOCK_ID                 INTEGER     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
+  "  LOGICAL_SIZE_IN_BYTES    INTEGER     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
+  "  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,"
+  "  SUPERSEDED_BY_VID        VARCHAR(100),"
+  "  SUPERSEDED_BY_FSEQ       INTEGER    ,"
+  "  WRITE_START_WRAP         INTEGER,"
+  "  WRITE_START_LPOS         INTEGER,"
+  "  WRITE_END_WRAP           INTEGER,"
+  "  WRITE_END_LPOS           INTEGER,"
+  "  READ_START_WRAP          INTEGER,"
+  "  READ_START_LPOS          INTEGER,"
+  "  READ_END_WRAP            INTEGER,"
+  "  READ_END_LPOS            INTEGER,"
   "  CONSTRAINT TAPE_FILE_PK PRIMARY KEY(VID, FSEQ),"
   "  CONSTRAINT TAPE_FILE_TAPE_FK FOREIGN KEY(VID)"
   "    REFERENCES TAPE(VID),"
@@ -2779,32 +2501,32 @@ namespace catalogue{
   "CREATE INDEX TAPE_FILE_ARCHIVE_FILE_ID_IDX ON TAPE_FILE(ARCHIVE_FILE_ID);"
   "CREATE INDEX TAPE_FILE_SBV_SBF_IDX ON TAPE_FILE(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ);"
   "CREATE TABLE ACTIVITIES_WEIGHTS ("
-  "  DISK_INSTANCE_NAME       VARCHAR2(100),"
-  "  ACTIVITY                 VARCHAR2(100),"
-  "  WEIGHT                   VARCHAR2(100),"
-  "  USER_COMMENT             VARCHAR2(1000)   CONSTRAINT ACTIV_WEIGHTS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME   VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME   VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME        NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME    VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME    VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME         NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
+  "  DISK_INSTANCE_NAME       VARCHAR(100),"
+  "  ACTIVITY                 VARCHAR(100),"
+  "  WEIGHT                   VARCHAR(100),"
+  "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT ACTIV_WEIGHTS_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME        INTEGER      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME         INTEGER      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
   ");"
   "CREATE TABLE USAGESTATS ("
-  "  GID                     NUMERIC(10, 0)   DEFAULT 0 CONSTRAINT USAGESTATS_GID_NN NOT NULL,"
-  "  TIMESTAMP               NUMERIC(20, 0)  DEFAULT 0 CONSTRAINT USAGESTATS_TS_NN NOT NULL,"
-  "  MAXFILEID               NUMERIC(20, 0),"
-  "  FILECOUNT               NUMERIC(20, 0),"
-  "  FILESIZE                NUMERIC(20, 0),"
-  "  SEGCOUNT                NUMERIC(20, 0),"
-  "  SEGSIZE                 NUMERIC(20, 0),"
-  "  SEG2COUNT               NUMERIC(20, 0),"
-  "  SEG2SIZE                NUMERIC(20, 0),"
+  "  GID                     INTEGER   DEFAULT 0 CONSTRAINT USAGESTATS_GID_NN NOT NULL,"
+  "  TIMESTAMP               INTEGER  DEFAULT 0 CONSTRAINT USAGESTATS_TS_NN NOT NULL,"
+  "  MAXFILEID               INTEGER,"
+  "  FILECOUNT               INTEGER,"
+  "  FILESIZE                INTEGER,"
+  "  SEGCOUNT                INTEGER,"
+  "  SEGSIZE                 INTEGER,"
+  "  SEG2COUNT               INTEGER,"
+  "  SEG2SIZE                INTEGER,"
   "  CONSTRAINT USAGESTATS_GID_TS_PK PRIMARY KEY (GID, TIMESTAMP)"
   ");"
   "CREATE TABLE EXPERIMENTS ("
-  " NAME                     VARCHAR2(20),"
-  " GID                      NUMERIC(10, 0) CONSTRAINT EXPERIMENTS_GID_PK PRIMARY KEY"
+  " NAME                     VARCHAR(20),"
+  " GID                      INTEGER CONSTRAINT EXPERIMENTS_GID_PK PRIMARY KEY"
   ");"
   "INSERT INTO CTA_CATALOGUE("
   "  SCHEMA_VERSION_MAJOR,"
@@ -2814,128 +2536,135 @@ namespace catalogue{
   "  2,"
   "  0,"
   "  '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;"
       },
-  {"mysql",  "CREATE TABLE ARCHIVE_FILE_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT ARCHIVE_FILE_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO ARCHIVE_FILE_ID(ID) VALUES(1);"
-  "CREATE TABLE LOGICAL_LIBRARY_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT LOGICAL_LIBRARY_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO LOGICAL_LIBRARY_ID(ID) VALUES(1);"
-  "CREATE TABLE STORAGE_CLASS_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT STORAGE_CLASS_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO STORAGE_CLASS_ID(ID) VALUES(1);"
-  "CREATE TABLE TAPE_POOL_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT TAPE_POOL_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO TAPE_POOL_ID(ID) VALUES(1);"
-  "CREATE TABLE VIRTUAL_ORGANIZATION_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT VIRTUAL_ORGANIZATION_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO VIRTUAL_ORGANIZATION_ID(ID) VALUES(1);"
-  "CREATE TABLE CTA_CATALOGUE("
-  "  SCHEMA_VERSION_MAJOR    BIGINT UNSIGNED      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
-  "  SCHEMA_VERSION_MINOR    BIGINT UNSIGNED      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
-  "  NEXT_SCHEMA_VERSION_MAJOR BIGINT UNSIGNED,"
-  "  NEXT_SCHEMA_VERSION_MINOR BIGINT UNSIGNED,"
-  "  STATUS                  VARCHAR(100)"
-  ");"
-  "CREATE TABLE ADMIN_USER("
-  "  ADMIN_USER_NAME         VARCHAR(100)    CONSTRAINT ADMIN_USER_AUN_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
-  "  CONSTRAINT ADMIN_USER_PK PRIMARY KEY(ADMIN_USER_NAME)"
-  ");"
-  "CREATE TABLE DISK_SYSTEM("
-  "  DISK_SYSTEM_NAME        VARCHAR(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
-  "  FILE_REGEXP             VARCHAR(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
-  "  FREE_SPACE_QUERY_URL    VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
-  "  REFRESH_INTERVAL        BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
-  "  TARGETED_FREE_SPACE     BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
-  "  SLEEP_TIME              BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
-  "  CONSTRAINT NAME_PK PRIMARY KEY(DISK_SYSTEM_NAME)"
+  {"postgres",  "CREATE SEQUENCE ARCHIVE_FILE_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NO MAXVALUE"
+  "  MINVALUE 1"
+  "  NO CYCLE"
+  "  CACHE 20;"
+  "CREATE SEQUENCE LOGICAL_LIBRARY_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NO MAXVALUE"
+  "  MINVALUE 1"
+  "  NO CYCLE"
+  "  CACHE 20;"
+  "CREATE SEQUENCE STORAGE_CLASS_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NO MAXVALUE"
+  "  MINVALUE 1"
+  "  NO CYCLE"
+  "  CACHE 20;"
+  "CREATE SEQUENCE TAPE_POOL_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NO MAXVALUE"
+  "  MINVALUE 1"
+  "  NO CYCLE"
+  "  CACHE 20;"
+  "CREATE SEQUENCE VIRTUAL_ORGANIZATION_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NO MAXVALUE"
+  "  MINVALUE 1"
+  "  NO CYCLE"
+  "  CACHE 20;"
+  "CREATE TABLE CTA_CATALOGUE("
+  "  SCHEMA_VERSION_MAJOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
+  "  SCHEMA_VERSION_MINOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
+  "  NEXT_SCHEMA_VERSION_MAJOR NUMERIC(20, 0),"
+  "  NEXT_SCHEMA_VERSION_MINOR NUMERIC(20, 0),"
+  "  STATUS                  VARCHAR(100)"
+  ");"
+  "CREATE TABLE ADMIN_USER("
+  "  ADMIN_USER_NAME         VARCHAR(100)    CONSTRAINT ADMIN_USER_AUN_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
+  "  CONSTRAINT ADMIN_USER_PK PRIMARY KEY(ADMIN_USER_NAME)"
+  ");"
+  "CREATE TABLE DISK_SYSTEM("
+  "  DISK_SYSTEM_NAME        VARCHAR(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
+  "  FILE_REGEXP             VARCHAR(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
+  "  FREE_SPACE_QUERY_URL    VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
+  "  REFRESH_INTERVAL        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
+  "  TARGETED_FREE_SPACE     NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
+  "  SLEEP_TIME              NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
+  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
+  "  CONSTRAINT NAME_PK PRIMARY KEY(DISK_SYSTEM_NAME)"
   ");"
   "CREATE TABLE VIRTUAL_ORGANIZATION("
-  "  VIRTUAL_ORGANIZATION_ID BIGINT UNSIGNED      CONSTRAINT VIRTUAL_ORGANIZATION_VOI_NN  NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_VOI_NN  NOT NULL,"
   "  VIRTUAL_ORGANIZATION_NAME VARCHAR(100)  CONSTRAINT VIRTUAL_ORGANIZATION_VON_NN  NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT VIRTUAL_ORGANIZATION_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT VIRTUAL_ORGANIZATION_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT VIRTUAL_ORGANIZATION_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_LUT_NN  NOT NULL,"
   "  CONSTRAINT VIRTUAL_ORGANIZATION_PK PRIMARY KEY(VIRTUAL_ORGANIZATION_ID),"
   "  CONSTRAINT VIRTUAL_ORGANIZATION_VON_UN UNIQUE(VIRTUAL_ORGANIZATION_NAME)"
   ");"
   "CREATE TABLE STORAGE_CLASS("
-  "  STORAGE_CLASS_ID        BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
   "  STORAGE_CLASS_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
-  "  NB_COPIES               TINYINT UNSIGNED       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,"
+  "  NB_COPIES               NUMERIC(3, 0)       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT STORAGE_CLASS_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
   "  CONSTRAINT STORAGE_CLASS_PK PRIMARY KEY(STORAGE_CLASS_ID),"
   "  CONSTRAINT STORAGE_CLASS_SCN_UN UNIQUE(STORAGE_CLASS_NAME),"
   "  CONSTRAINT STORAGE_CLASS_VOI_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
   ");"
   "CREATE TABLE TAPE_POOL("
-  "  TAPE_POOL_ID            BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
+  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
   "  TAPE_POOL_NAME          VARCHAR(100)    CONSTRAINT TAPE_POOL_TPN_NN  NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_VOI_NN  NOT NULL,"
-  "  NB_PARTIAL_TAPES        BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_VOI_NN  NOT NULL,"
+  "  NB_PARTIAL_TAPES        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
   "  IS_ENCRYPTED            CHAR(1)         CONSTRAINT TAPE_POOL_IE_NN   NOT NULL,"
   "  SUPPLY                  VARCHAR(100),"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT TAPE_POOL_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
   "  CONSTRAINT TAPE_POOL_PK PRIMARY KEY(TAPE_POOL_ID),"
   "  CONSTRAINT TAPE_POOL_TPN_UN UNIQUE(TAPE_POOL_NAME),"
   "  CONSTRAINT TAPE_POOL_IS_ENCRYPTED_BOOL_CK CHECK(IS_ENCRYPTED IN ('0', '1')),"
   "  CONSTRAINT TAPE_POOL_VO_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
   ");"
   "CREATE TABLE ARCHIVE_ROUTE("
-  "  STORAGE_CLASS_ID        BIGINT UNSIGNED      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
-  "  COPY_NB                 TINYINT UNSIGNED       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
-  "  TAPE_POOL_ID            BIGINT UNSIGNED      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
+  "  COPY_NB                 NUMERIC(3, 0)       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
+  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ARCHIVE_ROUTE_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
   "  CONSTRAINT ARCHIVE_ROUTE_PK PRIMARY KEY(STORAGE_CLASS_ID, COPY_NB),"
   "  CONSTRAINT ARCHIVE_ROUTE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
   "  CONSTRAINT ARCHIVE_ROUTE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
@@ -2943,16 +2672,16 @@ namespace catalogue{
   "  CONSTRAINT ARCHIVE_ROUTE_SCI_TPI_UN UNIQUE(STORAGE_CLASS_ID, TAPE_POOL_ID)"
   ");"
   "CREATE TABLE LOGICAL_LIBRARY("
-  "  LOGICAL_LIBRARY_ID      BIGINT UNSIGNED      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
+  "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
   "  LOGICAL_LIBRARY_NAME    VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LLN_NN  NOT NULL,"
   "  IS_DISABLED             CHAR(1)         DEFAULT '0' CONSTRAINT LOGICAL_LIBRARY_ID_NN NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT LOGICAL_LIBRARY_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
   "  CONSTRAINT LOGICAL_LIBRARY_PK PRIMARY KEY(LOGICAL_LIBRARY_ID),"
   "  CONSTRAINT LOGICAL_LIBRARY_LLN_UN UNIQUE(LOGICAL_LIBRARY_NAME),"
   "  CONSTRAINT LOGICAL_LIBRARY_ID_BOOL_CK CHECK(IS_DISABLED IN ('0', '1'))"
@@ -2961,14 +2690,14 @@ namespace catalogue{
   "  VID                     VARCHAR(100)    CONSTRAINT TAPE_V_NN    NOT NULL,"
   "  MEDIA_TYPE              VARCHAR(100)    CONSTRAINT TAPE_MT_NN   NOT NULL,"
   "  VENDOR                  VARCHAR(100)    CONSTRAINT TAPE_V2_NN   NOT NULL,"
-  "  LOGICAL_LIBRARY_ID      BIGINT UNSIGNED      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
-  "  TAPE_POOL_ID            BIGINT UNSIGNED      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
+  "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
+  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
   "  ENCRYPTION_KEY_NAME     VARCHAR(100),"
-  "  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,"
+  "  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,"
@@ -2976,25 +2705,25 @@ namespace catalogue{
   "  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,"
-  "  NB_COPY_NB_1            BIGINT UNSIGNED     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_1_NN NOT NULL,"
-  "  COPY_NB_1_IN_BYTES      BIGINT UNSIGNED     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_1_IN_BYTES_NN NOT NULL,"
-  "  NB_COPY_NB_GT_1         BIGINT UNSIGNED     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_GT_1_NN NOT NULL,"
-  "  COPY_NB_GT_1_IN_BYTES   BIGINT UNSIGNED     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_GT_1_IN_BYTES_NN NOT NULL,"
+  "  NB_COPY_NB_1            NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_1_NN NOT NULL,"
+  "  COPY_NB_1_IN_BYTES      NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_1_IN_BYTES_NN NOT NULL,"
+  "  NB_COPY_NB_GT_1         NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_GT_1_NN NOT NULL,"
+  "  COPY_NB_GT_1_IN_BYTES   NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_GT_1_IN_BYTES_NN NOT NULL,"
   "  LABEL_DRIVE             VARCHAR(100),"
-  "  LABEL_TIME              BIGINT UNSIGNED    ,"
+  "  LABEL_TIME              NUMERIC(20, 0)    ,"
   "  LAST_READ_DRIVE         VARCHAR(100),"
-  "  LAST_READ_TIME          BIGINT UNSIGNED    ,"
+  "  LAST_READ_TIME          NUMERIC(20, 0)    ,"
   "  LAST_WRITE_DRIVE        VARCHAR(100),"
-  "  LAST_WRITE_TIME         BIGINT UNSIGNED    ,"
-  "  READ_MOUNT_COUNT        BIGINT UNSIGNED      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
-  "  WRITE_MOUNT_COUNT       BIGINT UNSIGNED      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
+  "  LAST_WRITE_TIME         NUMERIC(20, 0)    ,"
+  "  READ_MOUNT_COUNT        NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
+  "  WRITE_MOUNT_COUNT       NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT TAPE_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
   "  CONSTRAINT TAPE_PK PRIMARY KEY(VID),"
   "  CONSTRAINT TAPE_LOGICAL_LIBRARY_FK FOREIGN KEY(LOGICAL_LIBRARY_ID) REFERENCES LOGICAL_LIBRARY(LOGICAL_LIBRARY_ID),"
   "  CONSTRAINT TAPE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
@@ -3009,18 +2738,18 @@ namespace catalogue{
   "CREATE INDEX TAPE_TAPE_POOL_ID_IDX ON TAPE(TAPE_POOL_ID);"
   "CREATE TABLE MOUNT_POLICY("
   "  MOUNT_POLICY_NAME        VARCHAR(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
-  "  ARCHIVE_PRIORITY         BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
-  "  ARCHIVE_MIN_REQUEST_AGE  BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
-  "  RETRIEVE_PRIORITY        BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
-  "  RETRIEVE_MIN_REQUEST_AGE BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
-  "  MAX_DRIVES_ALLOWED       BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_MDA_NN  NOT NULL,"
+  "  ARCHIVE_PRIORITY         NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
+  "  ARCHIVE_MIN_REQUEST_AGE  NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
+  "  RETRIEVE_PRIORITY        NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
+  "  RETRIEVE_MIN_REQUEST_AGE NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
+  "  MAX_DRIVES_ALLOWED       NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_MDA_NN  NOT NULL,"
   "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME        BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME        NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME         BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME         NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
   "  CONSTRAINT MOUNT_POLICY_PK PRIMARY KEY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE REQUESTER_MOUNT_RULE("
@@ -3030,10 +2759,10 @@ namespace catalogue{
   "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_RULE_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      BIGINT UNSIGNED      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       BIGINT UNSIGNED      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
   "  CONSTRAINT RQSTER_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_NAME),"
   "  CONSTRAINT RQSTER_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
   "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
@@ -3045,26 +2774,26 @@ namespace catalogue{
   "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_GRP_RULE_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      BIGINT UNSIGNED      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       BIGINT UNSIGNED      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
   "  CONSTRAINT RQSTER_GRP_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_GROUP_NAME),"
   "  CONSTRAINT RQSTER_GRP_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
   "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE ARCHIVE_FILE("
-  "  ARCHIVE_FILE_ID         BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
+  "  ARCHIVE_FILE_ID         NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
   "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DIN_NN  NOT NULL,"
   "  DISK_FILE_ID            VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DFI_NN  NOT NULL,"
-  "  DISK_FILE_UID           INT UNSIGNED      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
-  "  DISK_FILE_GID           INT UNSIGNED      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
-  "  SIZE_IN_BYTES           BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
-  "  CHECKSUM_BLOB           VARBINARY(200),"
-  "  CHECKSUM_ADLER32        INT UNSIGNED      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
-  "  STORAGE_CLASS_ID        BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
-  "  CREATION_TIME           BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
-  "  RECONCILIATION_TIME     BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
+  "  DISK_FILE_UID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
+  "  DISK_FILE_GID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
+  "  SIZE_IN_BYTES           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
+  "  CHECKSUM_BLOB           BYTEA,"
+  "  CHECKSUM_ADLER32        NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
+  "  CREATION_TIME           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
+  "  RECONCILIATION_TIME     NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
   "  IS_DELETED              CHAR(1)         DEFAULT '0' CONSTRAINT ARCHIVE_FILE_ID_NN NOT NULL,"
   "  COLLOCATION_HINT        VARCHAR(100),"
   "  CONSTRAINT ARCHIVE_FILE_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
@@ -3076,22 +2805,22 @@ namespace catalogue{
   "CREATE INDEX ARCHIVE_FILE_DFI_IDX ON ARCHIVE_FILE(DISK_FILE_ID);"
   "CREATE TABLE TAPE_FILE("
   "  VID                      VARCHAR(100)   CONSTRAINT TAPE_FILE_V_NN    NOT NULL,"
-  "  FSEQ                     BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
-  "  BLOCK_ID                 BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
-  "  LOGICAL_SIZE_IN_BYTES    BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
-  "  COPY_NB                  TINYINT UNSIGNED      CONSTRAINT TAPE_FILE_CN_NN   NOT NULL,"
-  "  CREATION_TIME            BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_CT_NN   NOT NULL,"
-  "  ARCHIVE_FILE_ID          BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_AFI_NN  NOT NULL,"
+  "  FSEQ                     NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
+  "  BLOCK_ID                 NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
+  "  LOGICAL_SIZE_IN_BYTES    NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
+  "  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,"
   "  SUPERSEDED_BY_VID        VARCHAR(100),"
-  "  SUPERSEDED_BY_FSEQ       BIGINT UNSIGNED    ,"
-  "  WRITE_START_WRAP         SMALLINT UNSIGNED,"
-  "  WRITE_START_LPOS         INT UNSIGNED,"
-  "  WRITE_END_WRAP           SMALLINT UNSIGNED,"
-  "  WRITE_END_LPOS           INT UNSIGNED,"
-  "  READ_START_WRAP          SMALLINT UNSIGNED,"
-  "  READ_START_LPOS          INT UNSIGNED,"
-  "  READ_END_WRAP            SMALLINT UNSIGNED,"
-  "  READ_END_LPOS            INT UNSIGNED,"
+  "  SUPERSEDED_BY_FSEQ       NUMERIC(20, 0)    ,"
+  "  WRITE_START_WRAP         NUMERIC(5, 0),"
+  "  WRITE_START_LPOS         NUMERIC(10, 0),"
+  "  WRITE_END_WRAP           NUMERIC(5, 0),"
+  "  WRITE_END_LPOS           NUMERIC(10, 0),"
+  "  READ_START_WRAP          NUMERIC(5, 0),"
+  "  READ_START_LPOS          NUMERIC(10, 0),"
+  "  READ_END_WRAP            NUMERIC(5, 0),"
+  "  READ_END_LPOS            NUMERIC(10, 0),"
   "  CONSTRAINT TAPE_FILE_PK PRIMARY KEY(VID, FSEQ),"
   "  CONSTRAINT TAPE_FILE_TAPE_FK FOREIGN KEY(VID)"
   "    REFERENCES TAPE(VID),"
@@ -3112,26 +2841,26 @@ namespace catalogue{
   "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT ACTIV_WEIGHTS_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME        BIGINT UNSIGNED      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME        NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME         BIGINT UNSIGNED      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
+  "  LAST_UPDATE_TIME         NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
   ");"
   "CREATE TABLE USAGESTATS ("
-  "  GID                     INT UNSIGNED   DEFAULT 0 CONSTRAINT USAGESTATS_GID_NN NOT NULL,"
-  "  TIMESTAMP               BIGINT UNSIGNED  DEFAULT 0 CONSTRAINT USAGESTATS_TS_NN NOT NULL,"
-  "  MAXFILEID               BIGINT UNSIGNED,"
-  "  FILECOUNT               BIGINT UNSIGNED,"
-  "  FILESIZE                BIGINT UNSIGNED,"
-  "  SEGCOUNT                BIGINT UNSIGNED,"
-  "  SEGSIZE                 BIGINT UNSIGNED,"
-  "  SEG2COUNT               BIGINT UNSIGNED,"
-  "  SEG2SIZE                BIGINT UNSIGNED,"
+  "  GID                     NUMERIC(10, 0)   DEFAULT 0 CONSTRAINT USAGESTATS_GID_NN NOT NULL,"
+  "  TIMESTAMP               NUMERIC(20, 0)  DEFAULT 0 CONSTRAINT USAGESTATS_TS_NN NOT NULL,"
+  "  MAXFILEID               NUMERIC(20, 0),"
+  "  FILECOUNT               NUMERIC(20, 0),"
+  "  FILESIZE                NUMERIC(20, 0),"
+  "  SEGCOUNT                NUMERIC(20, 0),"
+  "  SEGSIZE                 NUMERIC(20, 0),"
+  "  SEG2COUNT               NUMERIC(20, 0),"
+  "  SEG2SIZE                NUMERIC(20, 0),"
   "  CONSTRAINT USAGESTATS_GID_TS_PK PRIMARY KEY (GID, TIMESTAMP)"
   ");"
   "CREATE TABLE EXPERIMENTS ("
   " NAME                     VARCHAR(20),"
-  " GID                      INT UNSIGNED CONSTRAINT EXPERIMENTS_GID_PK PRIMARY KEY"
+  " GID                      NUMERIC(10, 0) CONSTRAINT EXPERIMENTS_GID_PK PRIMARY KEY"
   ");"
   "INSERT INTO CTA_CATALOGUE("
   "  SCHEMA_VERSION_MAJOR,"
@@ -3141,150 +2870,222 @@ namespace catalogue{
   "  2,"
   "  0,"
   "  '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='PRODUCTION') OR (STATUS='UPGRADING'));"
       },
-  {"sqlite",  "CREATE TABLE ARCHIVE_FILE_ID("
-  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
-  ");"
-  "CREATE TABLE LOGICAL_LIBRARY_ID("
-  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
-  ");"
-  "CREATE TABLE STORAGE_CLASS_ID("
-  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
-  ");"
-  "CREATE TABLE TAPE_POOL_ID("
-  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
-  ");"
-  "CREATE TABLE VIRTUAL_ORGANIZATION_ID("
-  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
-  ");"
+    }  },
+  {"3.0",
+    {
+      {"oracle",  "CREATE SEQUENCE ARCHIVE_FILE_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 4294967296"
+  "  NOMAXVALUE"
+  "  MINVALUE 1"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
+  "CREATE SEQUENCE LOGICAL_LIBRARY_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NOMAXVALUE"
+  "  MINVALUE 1"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
+  "CREATE SEQUENCE MEDIA_TYPE_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NOMAXVALUE"
+  "  MINVALUE 1"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
+  "CREATE SEQUENCE STORAGE_CLASS_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 10000"
+  "  NOMAXVALUE"
+  "  MINVALUE 1"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
+  "CREATE SEQUENCE TAPE_POOL_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NOMAXVALUE"
+  "  MINVALUE 1"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
+  "CREATE SEQUENCE VIRTUAL_ORGANIZATION_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NOMAXVALUE"
+  "  MINVALUE 1"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
+  "CREATE GLOBAL TEMPORARY TABLE TEMP_TAPE_FILE_INSERTION_BATCH("
+  "  VID                   VARCHAR2(100),"
+  "  FSEQ                  NUMERIC(20, 0)  ,"
+  "  BLOCK_ID              NUMERIC(20, 0)  ,"
+  "  LOGICAL_SIZE_IN_BYTES NUMERIC(20, 0)  ,"
+  "  COPY_NB               NUMERIC(3, 0)   ,"
+  "  CREATION_TIME         NUMERIC(20, 0)  ,"
+  "  ARCHIVE_FILE_ID       NUMERIC(20, 0)"
+  ")"
+  "ON COMMIT DELETE ROWS;"
+  "CREATE INDEX TEMP_T_F_I_B_AFI_IDX ON TEMP_TAPE_FILE_INSERTION_BATCH(ARCHIVE_FILE_ID);"
   "CREATE TABLE CTA_CATALOGUE("
-  "  SCHEMA_VERSION_MAJOR    INTEGER      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
-  "  SCHEMA_VERSION_MINOR    INTEGER      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
-  "  NEXT_SCHEMA_VERSION_MAJOR INTEGER,"
-  "  NEXT_SCHEMA_VERSION_MINOR INTEGER,"
-  "  STATUS                  VARCHAR(100)"
+  "  SCHEMA_VERSION_MAJOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
+  "  SCHEMA_VERSION_MINOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
+  "  NEXT_SCHEMA_VERSION_MAJOR NUMERIC(20, 0),"
+  "  NEXT_SCHEMA_VERSION_MINOR NUMERIC(20, 0),"
+  "  STATUS                  VARCHAR2(100),"
+  "  IS_PRODUCTION           CHAR(1)         DEFAULT '0' CONSTRAINT CTA_CATALOGUE_IP_NN NOT NULL,"
+  "  CONSTRAINT CTA_CATALOGUE_IP_BOOL_CK     CHECK(IS_PRODUCTION IN ('0','1'))"
   ");"
   "CREATE TABLE ADMIN_USER("
-  "  ADMIN_USER_NAME         VARCHAR(100)    CONSTRAINT ADMIN_USER_AUN_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
-  "  CONSTRAINT ADMIN_USER_PK PRIMARY KEY(ADMIN_USER_NAME)"
+  "  ADMIN_USER_NAME         VARCHAR2(100)    CONSTRAINT ADMIN_USER_AUN_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
+  "  CONSTRAINT ADMIN_USER_PK PRIMARY KEY(ADMIN_USER_NAME)"
   ");"
   "CREATE TABLE DISK_SYSTEM("
-  "  DISK_SYSTEM_NAME        VARCHAR(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
-  "  FILE_REGEXP             VARCHAR(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
-  "  FREE_SPACE_QUERY_URL    VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
-  "  REFRESH_INTERVAL        INTEGER      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
-  "  TARGETED_FREE_SPACE     INTEGER      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
-  "  SLEEP_TIME              INTEGER      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
+  "  DISK_SYSTEM_NAME        VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
+  "  FILE_REGEXP             VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
+  "  FREE_SPACE_QUERY_URL    VARCHAR2(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
+  "  REFRESH_INTERVAL        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
+  "  TARGETED_FREE_SPACE     NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
+  "  SLEEP_TIME              NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
   "  CONSTRAINT NAME_PK PRIMARY KEY(DISK_SYSTEM_NAME)"
   ");"
   "CREATE TABLE VIRTUAL_ORGANIZATION("
-  "  VIRTUAL_ORGANIZATION_ID INTEGER      CONSTRAINT VIRTUAL_ORGANIZATION_VOI_NN  NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_NAME VARCHAR(100)  CONSTRAINT VIRTUAL_ORGANIZATION_VON_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT VIRTUAL_ORGANIZATION_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT VIRTUAL_ORGANIZATION_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT VIRTUAL_ORGANIZATION_LUT_NN  NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_VOI_NN  NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_NAME VARCHAR2(100)  CONSTRAINT VIRTUAL_ORGANIZATION_VON_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT VIRTUAL_ORGANIZATION_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_LUT_NN  NOT NULL,"
   "  CONSTRAINT VIRTUAL_ORGANIZATION_PK PRIMARY KEY(VIRTUAL_ORGANIZATION_ID),"
   "  CONSTRAINT VIRTUAL_ORGANIZATION_VON_UN UNIQUE(VIRTUAL_ORGANIZATION_NAME)"
   ");"
   "CREATE TABLE STORAGE_CLASS("
-  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
-  "  STORAGE_CLASS_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
-  "  NB_COPIES               INTEGER       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID INTEGER      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT STORAGE_CLASS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
+  "  STORAGE_CLASS_NAME      VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
+  "  NB_COPIES               NUMERIC(3, 0)       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT STORAGE_CLASS_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
   "  CONSTRAINT STORAGE_CLASS_PK PRIMARY KEY(STORAGE_CLASS_ID),"
   "  CONSTRAINT STORAGE_CLASS_SCN_UN UNIQUE(STORAGE_CLASS_NAME),"
   "  CONSTRAINT STORAGE_CLASS_VOI_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
   ");"
   "CREATE TABLE TAPE_POOL("
-  "  TAPE_POOL_ID            INTEGER      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
-  "  TAPE_POOL_NAME          VARCHAR(100)    CONSTRAINT TAPE_POOL_TPN_NN  NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID INTEGER      CONSTRAINT TAPE_POOL_VOI_NN  NOT NULL,"
-  "  NB_PARTIAL_TAPES        INTEGER      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
+  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
+  "  TAPE_POOL_NAME          VARCHAR2(100)    CONSTRAINT TAPE_POOL_TPN_NN  NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_VOI_NN  NOT NULL,"
+  "  NB_PARTIAL_TAPES        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
   "  IS_ENCRYPTED            CHAR(1)         CONSTRAINT TAPE_POOL_IE_NN   NOT NULL,"
-  "  SUPPLY                  VARCHAR(100),"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT TAPE_POOL_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
+  "  SUPPLY                  VARCHAR2(100),"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT TAPE_POOL_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
   "  CONSTRAINT TAPE_POOL_PK PRIMARY KEY(TAPE_POOL_ID),"
   "  CONSTRAINT TAPE_POOL_TPN_UN UNIQUE(TAPE_POOL_NAME),"
   "  CONSTRAINT TAPE_POOL_IS_ENCRYPTED_BOOL_CK CHECK(IS_ENCRYPTED IN ('0', '1')),"
   "  CONSTRAINT TAPE_POOL_VO_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
   ");"
   "CREATE TABLE ARCHIVE_ROUTE("
-  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
-  "  COPY_NB                 INTEGER       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
-  "  TAPE_POOL_ID            INTEGER      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ARCHIVE_ROUTE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
+  "  COPY_NB                 NUMERIC(3, 0)       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
+  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT ARCHIVE_ROUTE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
   "  CONSTRAINT ARCHIVE_ROUTE_PK PRIMARY KEY(STORAGE_CLASS_ID, COPY_NB),"
   "  CONSTRAINT ARCHIVE_ROUTE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
   "  CONSTRAINT ARCHIVE_ROUTE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
   "  CONSTRAINT ARCHIVE_ROUTE_COPY_NB_GT_0_CK CHECK(COPY_NB > 0),"
   "  CONSTRAINT ARCHIVE_ROUTE_SCI_TPI_UN UNIQUE(STORAGE_CLASS_ID, TAPE_POOL_ID)"
   ");"
+  "CREATE TABLE MEDIA_TYPE("
+  "  MEDIA_TYPE_ID          NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_MTI_NN  NOT NULL,"
+  "  MEDIA_TYPE_NAME        VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_MTN_NN  NOT NULL,"
+  "  CARTRIDGE              VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_C_NN    NOT NULL,"
+  "  CAPACITY_IN_BYTES      NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_CIB_NN  NOT NULL,"
+  "  PRIMARY_DENSITY_CODE   NUMERIC(3, 0),"
+  "  SECONDARY_DENSITY_CODE NUMERIC(3, 0),"
+  "  NB_WRAPS               NUMERIC(10, 0),"
+  "  MIN_LPOS               NUMERIC(20, 0),"
+  "  MAX_LPOS               NUMERIC(20, 0),"
+  "  USER_COMMENT           VARCHAR2(1000) CONSTRAINT MEDIA_TYPE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME      NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME  VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME  VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME       NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_LUT_NN  NOT NULL,"
+  "  CONSTRAINT MEDIA_TYPE_PK PRIMARY KEY(MEDIA_TYPE_ID),"
+  "  CONSTRAINT MEDIA_TYPE_MTN_UN UNIQUE(MEDIA_TYPE_NAME)"
+  ");"
   "CREATE TABLE LOGICAL_LIBRARY("
-  "  LOGICAL_LIBRARY_ID      INTEGER      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
-  "  LOGICAL_LIBRARY_NAME    VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LLN_NN  NOT NULL,"
+  "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
+  "  LOGICAL_LIBRARY_NAME    VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_LLN_NN  NOT NULL,"
   "  IS_DISABLED             CHAR(1)         DEFAULT '0' CONSTRAINT LOGICAL_LIBRARY_ID_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT LOGICAL_LIBRARY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT LOGICAL_LIBRARY_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
   "  CONSTRAINT LOGICAL_LIBRARY_PK PRIMARY KEY(LOGICAL_LIBRARY_ID),"
   "  CONSTRAINT LOGICAL_LIBRARY_LLN_UN UNIQUE(LOGICAL_LIBRARY_NAME),"
   "  CONSTRAINT LOGICAL_LIBRARY_ID_BOOL_CK CHECK(IS_DISABLED IN ('0', '1'))"
   ");"
   "CREATE TABLE TAPE("
-  "  VID                     VARCHAR(100)    CONSTRAINT TAPE_V_NN    NOT NULL,"
-  "  MEDIA_TYPE              VARCHAR(100)    CONSTRAINT TAPE_MT_NN   NOT NULL,"
-  "  VENDOR                  VARCHAR(100)    CONSTRAINT TAPE_V2_NN   NOT NULL,"
-  "  LOGICAL_LIBRARY_ID      INTEGER      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
-  "  TAPE_POOL_ID            INTEGER      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
-  "  ENCRYPTION_KEY_NAME     VARCHAR(100),"
-  "  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,"
+  "  VID                     VARCHAR2(100)    CONSTRAINT TAPE_V_NN    NOT NULL,"
+  "  MEDIA_TYPE_ID           NUMERIC(20, 0)      CONSTRAINT TAPE_MTID_NN   NOT NULL,"
+  "  VENDOR                  VARCHAR2(100)    CONSTRAINT TAPE_V2_NN   NOT NULL,"
+  "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
+  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
+  "  ENCRYPTION_KEY_NAME     VARCHAR2(100),"
+  "  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,"
@@ -3292,25 +3093,25 @@ namespace catalogue{
   "  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,"
-  "  NB_COPY_NB_1            INTEGER     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_1_NN NOT NULL,"
-  "  COPY_NB_1_IN_BYTES      INTEGER     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_1_IN_BYTES_NN NOT NULL,"
-  "  NB_COPY_NB_GT_1         INTEGER     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_GT_1_NN NOT NULL,"
-  "  COPY_NB_GT_1_IN_BYTES   INTEGER     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_GT_1_IN_BYTES_NN NOT NULL,"
-  "  LABEL_DRIVE             VARCHAR(100),"
-  "  LABEL_TIME              INTEGER    ,"
-  "  LAST_READ_DRIVE         VARCHAR(100),"
-  "  LAST_READ_TIME          INTEGER    ,"
-  "  LAST_WRITE_DRIVE        VARCHAR(100),"
-  "  LAST_WRITE_TIME         INTEGER    ,"
-  "  READ_MOUNT_COUNT        INTEGER      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
-  "  WRITE_MOUNT_COUNT       INTEGER      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT TAPE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
+  "  NB_COPY_NB_1            NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_1_NN NOT NULL,"
+  "  COPY_NB_1_IN_BYTES      NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_1_IN_BYTES_NN NOT NULL,"
+  "  NB_COPY_NB_GT_1         NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_GT_1_NN NOT NULL,"
+  "  COPY_NB_GT_1_IN_BYTES   NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_GT_1_IN_BYTES_NN NOT NULL,"
+  "  LABEL_DRIVE             VARCHAR2(100),"
+  "  LABEL_TIME              NUMERIC(20, 0)    ,"
+  "  LAST_READ_DRIVE         VARCHAR2(100),"
+  "  LAST_READ_TIME          NUMERIC(20, 0)    ,"
+  "  LAST_WRITE_DRIVE        VARCHAR2(100),"
+  "  LAST_WRITE_TIME         NUMERIC(20, 0)    ,"
+  "  READ_MOUNT_COUNT        NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
+  "  WRITE_MOUNT_COUNT       NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000),"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT TAPE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT TAPE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
   "  CONSTRAINT TAPE_PK PRIMARY KEY(VID),"
   "  CONSTRAINT TAPE_LOGICAL_LIBRARY_FK FOREIGN KEY(LOGICAL_LIBRARY_ID) REFERENCES LOGICAL_LIBRARY(LOGICAL_LIBRARY_ID),"
   "  CONSTRAINT TAPE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
@@ -3320,69 +3121,70 @@ namespace catalogue{
   "  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')),"
-  "  CONSTRAINT TAPE_DIRTY_BOOL_CK CHECK(DIRTY IN ('0','1'))"
+  "  CONSTRAINT TAPE_DIRTY_BOOL_CK CHECK(DIRTY IN ('0','1')),"
+  "  CONSTRAINT TAPE_MEDIA_TYPE_FK FOREIGN KEY(MEDIA_TYPE_ID) REFERENCES MEDIA_TYPE(MEDIA_TYPE_ID)"
   ");"
   "CREATE INDEX TAPE_TAPE_POOL_ID_IDX ON TAPE(TAPE_POOL_ID);"
   "CREATE TABLE MOUNT_POLICY("
-  "  MOUNT_POLICY_NAME        VARCHAR(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
-  "  ARCHIVE_PRIORITY         INTEGER      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
-  "  ARCHIVE_MIN_REQUEST_AGE  INTEGER      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
-  "  RETRIEVE_PRIORITY        INTEGER      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
-  "  RETRIEVE_MIN_REQUEST_AGE INTEGER      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
-  "  MAX_DRIVES_ALLOWED       INTEGER      CONSTRAINT MOUNT_POLICY_MDA_NN  NOT NULL,"
-  "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME        INTEGER      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME         INTEGER      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
+  "  MOUNT_POLICY_NAME        VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
+  "  ARCHIVE_PRIORITY         NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
+  "  ARCHIVE_MIN_REQUEST_AGE  NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
+  "  RETRIEVE_PRIORITY        NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
+  "  RETRIEVE_MIN_REQUEST_AGE NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
+  "  MAX_DRIVES_ALLOWED       NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_MDA_NN  NOT NULL,"
+  "  USER_COMMENT             VARCHAR2(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME   VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME   VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME        NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME    VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME    VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME         NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
   "  CONSTRAINT MOUNT_POLICY_PK PRIMARY KEY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE REQUESTER_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR(100)    CONSTRAINT RQSTER_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_NAME         VARCHAR(100)    CONSTRAINT RQSTER_RULE_RN_NN   NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR(100)    CONSTRAINT RQSTER_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      INTEGER      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       INTEGER      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT RQSTER_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_NAME),"
+  "  DISK_INSTANCE_NAME     VARCHAR2(100)    CONSTRAINT RQSTER_RULE_DIN_NN  NOT NULL,"
+  "  REQUESTER_NAME         VARCHAR2(100)    CONSTRAINT RQSTER_RULE_RN_NN   NOT NULL,"
+  "  MOUNT_POLICY_NAME      VARCHAR2(100)    CONSTRAINT RQSTER_RULE_MPN_NN  NOT NULL,"
+  "  USER_COMMENT           VARCHAR2(1000)   CONSTRAINT RQSTER_RULE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME VARCHAR2(100)    CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME VARCHAR2(100)    CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
+  "  CONSTRAINT RQSTER_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_NAME),"
   "  CONSTRAINT RQSTER_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
   "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE REQUESTER_GROUP_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_GROUP_NAME   VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_RGN_NN  NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_GRP_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      INTEGER      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       INTEGER      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
+  "  DISK_INSTANCE_NAME     VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_DIN_NN  NOT NULL,"
+  "  REQUESTER_GROUP_NAME   VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_RGN_NN  NOT NULL,"
+  "  MOUNT_POLICY_NAME      VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_MPN_NN  NOT NULL,"
+  "  USER_COMMENT           VARCHAR2(1000)   CONSTRAINT RQSTER_GRP_RULE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
   "  CONSTRAINT RQSTER_GRP_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_GROUP_NAME),"
   "  CONSTRAINT RQSTER_GRP_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
   "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE ARCHIVE_FILE("
-  "  ARCHIVE_FILE_ID         INTEGER      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
-  "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DIN_NN  NOT NULL,"
-  "  DISK_FILE_ID            VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DFI_NN  NOT NULL,"
-  "  DISK_FILE_UID           INTEGER      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
-  "  DISK_FILE_GID           INTEGER      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
-  "  SIZE_IN_BYTES           INTEGER      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
-  "  CHECKSUM_BLOB           BLOB(200),"
-  "  CHECKSUM_ADLER32        INTEGER      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
-  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
-  "  CREATION_TIME           INTEGER      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
-  "  RECONCILIATION_TIME     INTEGER      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
+  "  ARCHIVE_FILE_ID         NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
+  "  DISK_INSTANCE_NAME      VARCHAR2(100)    CONSTRAINT ARCHIVE_FILE_DIN_NN  NOT NULL,"
+  "  DISK_FILE_ID            VARCHAR2(100)    CONSTRAINT ARCHIVE_FILE_DFI_NN  NOT NULL,"
+  "  DISK_FILE_UID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
+  "  DISK_FILE_GID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
+  "  SIZE_IN_BYTES           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
+  "  CHECKSUM_BLOB           RAW(200),"
+  "  CHECKSUM_ADLER32        NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
+  "  CREATION_TIME           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
+  "  RECONCILIATION_TIME     NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
   "  IS_DELETED              CHAR(1)         DEFAULT '0' CONSTRAINT ARCHIVE_FILE_ID_NN NOT NULL,"
-  "  COLLOCATION_HINT        VARCHAR(100),"
+  "  COLLOCATION_HINT        VARCHAR2(100),"
   "  CONSTRAINT ARCHIVE_FILE_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
   "  CONSTRAINT ARCHIVE_FILE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
   "  CONSTRAINT ARCHIVE_FILE_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID),"
@@ -3391,23 +3193,23 @@ namespace catalogue{
   "CREATE INDEX ARCHIVE_FILE_DIN_IDX ON ARCHIVE_FILE(DISK_INSTANCE_NAME);"
   "CREATE INDEX ARCHIVE_FILE_DFI_IDX ON ARCHIVE_FILE(DISK_FILE_ID);"
   "CREATE TABLE TAPE_FILE("
-  "  VID                      VARCHAR(100)   CONSTRAINT TAPE_FILE_V_NN    NOT NULL,"
-  "  FSEQ                     INTEGER     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
-  "  BLOCK_ID                 INTEGER     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
-  "  LOGICAL_SIZE_IN_BYTES    INTEGER     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
-  "  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,"
-  "  SUPERSEDED_BY_VID        VARCHAR(100),"
-  "  SUPERSEDED_BY_FSEQ       INTEGER    ,"
-  "  WRITE_START_WRAP         INTEGER,"
-  "  WRITE_START_LPOS         INTEGER,"
-  "  WRITE_END_WRAP           INTEGER,"
-  "  WRITE_END_LPOS           INTEGER,"
-  "  READ_START_WRAP          INTEGER,"
-  "  READ_START_LPOS          INTEGER,"
-  "  READ_END_WRAP            INTEGER,"
-  "  READ_END_LPOS            INTEGER,"
+  "  VID                      VARCHAR2(100)   CONSTRAINT TAPE_FILE_V_NN    NOT NULL,"
+  "  FSEQ                     NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
+  "  BLOCK_ID                 NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
+  "  LOGICAL_SIZE_IN_BYTES    NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
+  "  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,"
+  "  SUPERSEDED_BY_VID        VARCHAR2(100),"
+  "  SUPERSEDED_BY_FSEQ       NUMERIC(20, 0)    ,"
+  "  WRITE_START_WRAP         NUMERIC(5, 0),"
+  "  WRITE_START_LPOS         NUMERIC(10, 0),"
+  "  WRITE_END_WRAP           NUMERIC(5, 0),"
+  "  WRITE_END_LPOS           NUMERIC(10, 0),"
+  "  READ_START_WRAP          NUMERIC(5, 0),"
+  "  READ_START_LPOS          NUMERIC(10, 0),"
+  "  READ_END_WRAP            NUMERIC(5, 0),"
+  "  READ_END_LPOS            NUMERIC(10, 0),"
   "  CONSTRAINT TAPE_FILE_PK PRIMARY KEY(VID, FSEQ),"
   "  CONSTRAINT TAPE_FILE_TAPE_FK FOREIGN KEY(VID)"
   "    REFERENCES TAPE(VID),"
@@ -3422,203 +3224,242 @@ namespace catalogue{
   "CREATE INDEX TAPE_FILE_ARCHIVE_FILE_ID_IDX ON TAPE_FILE(ARCHIVE_FILE_ID);"
   "CREATE INDEX TAPE_FILE_SBV_SBF_IDX ON TAPE_FILE(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ);"
   "CREATE TABLE ACTIVITIES_WEIGHTS ("
-  "  DISK_INSTANCE_NAME       VARCHAR(100),"
-  "  ACTIVITY                 VARCHAR(100),"
-  "  WEIGHT                   VARCHAR(100),"
-  "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT ACTIV_WEIGHTS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME        INTEGER      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME         INTEGER      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
+  "  DISK_INSTANCE_NAME       VARCHAR2(100),"
+  "  ACTIVITY                 VARCHAR2(100),"
+  "  WEIGHT                   VARCHAR2(100),"
+  "  USER_COMMENT             VARCHAR2(1000)   CONSTRAINT ACTIV_WEIGHTS_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME   VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME   VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME        NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME    VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME    VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME         NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
   ");"
-  "CREATE TABLE USAGESTATS ("
-  "  GID                     INTEGER   DEFAULT 0 CONSTRAINT USAGESTATS_GID_NN NOT NULL,"
-  "  TIMESTAMP               INTEGER  DEFAULT 0 CONSTRAINT USAGESTATS_TS_NN NOT NULL,"
-  "  MAXFILEID               INTEGER,"
-  "  FILECOUNT               INTEGER,"
-  "  FILESIZE                INTEGER,"
-  "  SEGCOUNT                INTEGER,"
-  "  SEGSIZE                 INTEGER,"
-  "  SEG2COUNT               INTEGER,"
-  "  SEG2SIZE                INTEGER,"
-  "  CONSTRAINT USAGESTATS_GID_TS_PK PRIMARY KEY (GID, TIMESTAMP)"
+  "CREATE TABLE ARCHIVE_FILE_RECYCLE_BIN("
+  "  ARCHIVE_FILE_ID         NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RB_AFI_NN  NOT NULL,"
+  "  DISK_INSTANCE_NAME      VARCHAR2(100)    CONSTRAINT ARCHIVE_FILE_RB_DIN_NN  NOT NULL,"
+  "  DISK_FILE_ID            VARCHAR2(100)    CONSTRAINT ARCHIVE_FILE_RB_DFI_NN  NOT NULL,"
+  "  DISK_FILE_ID_WHEN_DELETED VARCHAR2(100)  CONSTRAINT ARCHIVE_FILE_RB_DFIWD_NN NOT NULL,"
+  "  DISK_FILE_UID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_RB_DFUID_NN  NOT NULL,"
+  "  DISK_FILE_GID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_RB_DFGID_NN  NOT NULL,"
+  "  SIZE_IN_BYTES           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RB_SIB_NN  NOT NULL,"
+  "  CHECKSUM_BLOB           RAW(200),"
+  "  CHECKSUM_ADLER32        NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_RB_CB2_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RB_SCI_NN  NOT NULL,"
+  "  CREATION_TIME           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RB_CT2_NN  NOT NULL,"
+  "  RECONCILIATION_TIME     NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RB_RT_NN   NOT NULL,"
+  "  COLLOCATION_HINT        VARCHAR2(100),"
+  "  DISK_FILE_PATH          VARCHAR2(2000) CONSTRAINT ARCHIVE_FILE_RB_DFP_NN NOT NULL,"
+  "  DELETION_TIME           NUMERIC(20, 0)    CONSTRAINT ARCHIVE_FILE_RB_DT_NN NOT NULL,"
+  "  CONSTRAINT ARCHIVE_FILE_RB_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
+  "  CONSTRAINT ARCHIVE_FILE_RB_SC_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
+  "  CONSTRAINT ARCHIVE_FILE_RB_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID)"
   ");"
-  "CREATE TABLE EXPERIMENTS ("
-  " NAME                     VARCHAR(20),"
-  " GID                      INTEGER CONSTRAINT EXPERIMENTS_GID_PK PRIMARY KEY"
+  "CREATE TABLE TAPE_FILE_RECYCLE_BIN("
+  "  VID                      VARCHAR2(100)   CONSTRAINT TAPE_FILE_RB_V_NN    NOT NULL,"
+  "  FSEQ                     NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_RB_F_NN    NOT NULL,"
+  "  BLOCK_ID                 NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_RB_BI_NN   NOT NULL,"
+  "  LOGICAL_SIZE_IN_BYTES    NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_RB_CSIB_NN NOT NULL,"
+  "  COPY_NB                  NUMERIC(3, 0)      CONSTRAINT TAPE_FILE_RB_CN_NN   NOT NULL,"
+  "  CREATION_TIME            NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_RB_CT_NN   NOT NULL,"
+  "  ARCHIVE_FILE_ID          NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_RB_AFI_NN  NOT NULL,"
+  "  SUPERSEDED_BY_VID        VARCHAR2(100),"
+  "  SUPERSEDED_BY_FSEQ       NUMERIC(20, 0),"
+  "  WRITE_START_WRAP         NUMERIC(5, 0),"
+  "  WRITE_START_LPOS         NUMERIC(10, 0),"
+  "  WRITE_END_WRAP           NUMERIC(5, 0),"
+  "  WRITE_END_LPOS           NUMERIC(10, 0),"
+  "  READ_START_WRAP          NUMERIC(5, 0),"
+  "  READ_START_LPOS          NUMERIC(10, 0),"
+  "  READ_END_WRAP            NUMERIC(5, 0),"
+  "  READ_END_LPOS            NUMERIC(10, 0),"
+  "  CONSTRAINT TAPE_FILE_RB_PK PRIMARY KEY(VID, FSEQ),"
+  "  CONSTRAINT TAPE_FILE_RB_TAPE_FK FOREIGN KEY(VID)"
+  "    REFERENCES TAPE(VID),"
+  "  CONSTRAINT TAPE_FILE_RB_ARCHIVE_FILE_FK FOREIGN KEY(ARCHIVE_FILE_ID)"
+  "    REFERENCES ARCHIVE_FILE_RECYCLE_BIN(ARCHIVE_FILE_ID),"
+  "  CONSTRAINT TAPE_FILE_RB_VID_BLOCK_ID_UN UNIQUE(VID, BLOCK_ID),"
+  "  CONSTRAINT TAPE_FILE_RB_COPY_NB_GT_0_CK CHECK(COPY_NB > 0),"
+  "  CONSTRAINT TAPE_FILE_RB_SS_VID_FSEQ_FK FOREIGN KEY(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ)"
+  "    REFERENCES TAPE_FILE_RECYCLE_BIN(VID, FSEQ)"
   ");"
   "INSERT INTO CTA_CATALOGUE("
   "  SCHEMA_VERSION_MAJOR,"
   "  SCHEMA_VERSION_MINOR,"
   "  STATUS)"
   "VALUES("
-  "  2,"
+  "  3,"
   "  0,"
   "  '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;"
       },
-  {"postgres",  "CREATE SEQUENCE ARCHIVE_FILE_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NO MAXVALUE"
-  "  MINVALUE 1"
-  "  NO CYCLE"
-  "  CACHE 20;"
-  "CREATE SEQUENCE LOGICAL_LIBRARY_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NO MAXVALUE"
-  "  MINVALUE 1"
-  "  NO CYCLE"
-  "  CACHE 20;"
-  "CREATE SEQUENCE STORAGE_CLASS_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NO MAXVALUE"
-  "  MINVALUE 1"
-  "  NO CYCLE"
-  "  CACHE 20;"
-  "CREATE SEQUENCE TAPE_POOL_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NO MAXVALUE"
-  "  MINVALUE 1"
-  "  NO CYCLE"
-  "  CACHE 20;"
-  "CREATE SEQUENCE VIRTUAL_ORGANIZATION_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NO MAXVALUE"
-  "  MINVALUE 1"
-  "  NO CYCLE"
-  "  CACHE 20;"
+  {"sqlite",  "CREATE TABLE ARCHIVE_FILE_ID("
+  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
+  ");"
+  "CREATE TABLE LOGICAL_LIBRARY_ID("
+  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
+  ");"
+  "CREATE TABLE MEDIA_TYPE_ID("
+  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
+  ");"
+  "CREATE TABLE STORAGE_CLASS_ID("
+  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
+  ");"
+  "CREATE TABLE TAPE_POOL_ID("
+  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
+  ");"
+  "CREATE TABLE VIRTUAL_ORGANIZATION_ID("
+  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
+  ");"
   "CREATE TABLE CTA_CATALOGUE("
-  "  SCHEMA_VERSION_MAJOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
-  "  SCHEMA_VERSION_MINOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
-  "  NEXT_SCHEMA_VERSION_MAJOR NUMERIC(20, 0),"
-  "  NEXT_SCHEMA_VERSION_MINOR NUMERIC(20, 0),"
-  "  STATUS                  VARCHAR(100)"
+  "  SCHEMA_VERSION_MAJOR    INTEGER      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
+  "  SCHEMA_VERSION_MINOR    INTEGER      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
+  "  NEXT_SCHEMA_VERSION_MAJOR INTEGER,"
+  "  NEXT_SCHEMA_VERSION_MINOR INTEGER,"
+  "  STATUS                  VARCHAR(100),"
+  "  IS_PRODUCTION           CHAR(1)         DEFAULT '0' CONSTRAINT CTA_CATALOGUE_IP_NN NOT NULL,"
+  "  CONSTRAINT CTA_CATALOGUE_IP_BOOL_CK     CHECK(IS_PRODUCTION IN ('0','1'))"
   ");"
   "CREATE TABLE ADMIN_USER("
   "  ADMIN_USER_NAME         VARCHAR(100)    CONSTRAINT ADMIN_USER_AUN_NN  NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
   "  CONSTRAINT ADMIN_USER_PK PRIMARY KEY(ADMIN_USER_NAME)"
   ");"
   "CREATE TABLE DISK_SYSTEM("
   "  DISK_SYSTEM_NAME        VARCHAR(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
   "  FILE_REGEXP             VARCHAR(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
   "  FREE_SPACE_QUERY_URL    VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
-  "  REFRESH_INTERVAL        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
-  "  TARGETED_FREE_SPACE     NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
-  "  SLEEP_TIME              NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
+  "  REFRESH_INTERVAL        INTEGER      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
+  "  TARGETED_FREE_SPACE     INTEGER      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
+  "  SLEEP_TIME              INTEGER      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
   "  CONSTRAINT NAME_PK PRIMARY KEY(DISK_SYSTEM_NAME)"
   ");"
   "CREATE TABLE VIRTUAL_ORGANIZATION("
-  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_VOI_NN  NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID INTEGER      CONSTRAINT VIRTUAL_ORGANIZATION_VOI_NN  NOT NULL,"
   "  VIRTUAL_ORGANIZATION_NAME VARCHAR(100)  CONSTRAINT VIRTUAL_ORGANIZATION_VON_NN  NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT VIRTUAL_ORGANIZATION_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT VIRTUAL_ORGANIZATION_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT VIRTUAL_ORGANIZATION_LUT_NN  NOT NULL,"
   "  CONSTRAINT VIRTUAL_ORGANIZATION_PK PRIMARY KEY(VIRTUAL_ORGANIZATION_ID),"
   "  CONSTRAINT VIRTUAL_ORGANIZATION_VON_UN UNIQUE(VIRTUAL_ORGANIZATION_NAME)"
   ");"
   "CREATE TABLE STORAGE_CLASS("
-  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
   "  STORAGE_CLASS_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
-  "  NB_COPIES               NUMERIC(3, 0)       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,"
+  "  NB_COPIES               INTEGER       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID INTEGER      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT STORAGE_CLASS_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
   "  CONSTRAINT STORAGE_CLASS_PK PRIMARY KEY(STORAGE_CLASS_ID),"
   "  CONSTRAINT STORAGE_CLASS_SCN_UN UNIQUE(STORAGE_CLASS_NAME),"
   "  CONSTRAINT STORAGE_CLASS_VOI_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
   ");"
   "CREATE TABLE TAPE_POOL("
-  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
+  "  TAPE_POOL_ID            INTEGER      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
   "  TAPE_POOL_NAME          VARCHAR(100)    CONSTRAINT TAPE_POOL_TPN_NN  NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_VOI_NN  NOT NULL,"
-  "  NB_PARTIAL_TAPES        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID INTEGER      CONSTRAINT TAPE_POOL_VOI_NN  NOT NULL,"
+  "  NB_PARTIAL_TAPES        INTEGER      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
   "  IS_ENCRYPTED            CHAR(1)         CONSTRAINT TAPE_POOL_IE_NN   NOT NULL,"
   "  SUPPLY                  VARCHAR(100),"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT TAPE_POOL_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
   "  CONSTRAINT TAPE_POOL_PK PRIMARY KEY(TAPE_POOL_ID),"
   "  CONSTRAINT TAPE_POOL_TPN_UN UNIQUE(TAPE_POOL_NAME),"
   "  CONSTRAINT TAPE_POOL_IS_ENCRYPTED_BOOL_CK CHECK(IS_ENCRYPTED IN ('0', '1')),"
   "  CONSTRAINT TAPE_POOL_VO_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
   ");"
   "CREATE TABLE ARCHIVE_ROUTE("
-  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
-  "  COPY_NB                 NUMERIC(3, 0)       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
-  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
+  "  COPY_NB                 INTEGER       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
+  "  TAPE_POOL_ID            INTEGER      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ARCHIVE_ROUTE_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
   "  CONSTRAINT ARCHIVE_ROUTE_PK PRIMARY KEY(STORAGE_CLASS_ID, COPY_NB),"
   "  CONSTRAINT ARCHIVE_ROUTE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
   "  CONSTRAINT ARCHIVE_ROUTE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
   "  CONSTRAINT ARCHIVE_ROUTE_COPY_NB_GT_0_CK CHECK(COPY_NB > 0),"
   "  CONSTRAINT ARCHIVE_ROUTE_SCI_TPI_UN UNIQUE(STORAGE_CLASS_ID, TAPE_POOL_ID)"
   ");"
+  "CREATE TABLE MEDIA_TYPE("
+  "  MEDIA_TYPE_ID          INTEGER    CONSTRAINT MEDIA_TYPE_MTI_NN  NOT NULL,"
+  "  MEDIA_TYPE_NAME        VARCHAR(100)  CONSTRAINT MEDIA_TYPE_MTN_NN  NOT NULL,"
+  "  CARTRIDGE              VARCHAR(100)  CONSTRAINT MEDIA_TYPE_C_NN    NOT NULL,"
+  "  CAPACITY_IN_BYTES      INTEGER    CONSTRAINT MEDIA_TYPE_CIB_NN  NOT NULL,"
+  "  PRIMARY_DENSITY_CODE   INTEGER,"
+  "  SECONDARY_DENSITY_CODE INTEGER,"
+  "  NB_WRAPS               INTEGER,"
+  "  MIN_LPOS               INTEGER,"
+  "  MAX_LPOS               INTEGER,"
+  "  USER_COMMENT           VARCHAR(1000) CONSTRAINT MEDIA_TYPE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME VARCHAR(100)  CONSTRAINT MEDIA_TYPE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME VARCHAR(100)  CONSTRAINT MEDIA_TYPE_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME      INTEGER    CONSTRAINT MEDIA_TYPE_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME  VARCHAR(100)  CONSTRAINT MEDIA_TYPE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)  CONSTRAINT MEDIA_TYPE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME       INTEGER    CONSTRAINT MEDIA_TYPE_LUT_NN  NOT NULL,"
+  "  CONSTRAINT MEDIA_TYPE_PK PRIMARY KEY(MEDIA_TYPE_ID),"
+  "  CONSTRAINT MEDIA_TYPE_MTN_UN UNIQUE(MEDIA_TYPE_NAME)"
+  ");"
   "CREATE TABLE LOGICAL_LIBRARY("
-  "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
+  "  LOGICAL_LIBRARY_ID      INTEGER      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
   "  LOGICAL_LIBRARY_NAME    VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LLN_NN  NOT NULL,"
   "  IS_DISABLED             CHAR(1)         DEFAULT '0' CONSTRAINT LOGICAL_LIBRARY_ID_NN NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT LOGICAL_LIBRARY_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
   "  CONSTRAINT LOGICAL_LIBRARY_PK PRIMARY KEY(LOGICAL_LIBRARY_ID),"
   "  CONSTRAINT LOGICAL_LIBRARY_LLN_UN UNIQUE(LOGICAL_LIBRARY_NAME),"
   "  CONSTRAINT LOGICAL_LIBRARY_ID_BOOL_CK CHECK(IS_DISABLED IN ('0', '1'))"
   ");"
   "CREATE TABLE TAPE("
   "  VID                     VARCHAR(100)    CONSTRAINT TAPE_V_NN    NOT NULL,"
-  "  MEDIA_TYPE              VARCHAR(100)    CONSTRAINT TAPE_MT_NN   NOT NULL,"
+  "  MEDIA_TYPE_ID           INTEGER      CONSTRAINT TAPE_MTID_NN   NOT NULL,"
   "  VENDOR                  VARCHAR(100)    CONSTRAINT TAPE_V2_NN   NOT NULL,"
-  "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
-  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
+  "  LOGICAL_LIBRARY_ID      INTEGER      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
+  "  TAPE_POOL_ID            INTEGER      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
   "  ENCRYPTION_KEY_NAME     VARCHAR(100),"
-  "  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,"
+  "  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,"
@@ -3626,25 +3467,25 @@ namespace catalogue{
   "  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,"
-  "  NB_COPY_NB_1            NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_1_NN NOT NULL,"
-  "  COPY_NB_1_IN_BYTES      NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_1_IN_BYTES_NN NOT NULL,"
-  "  NB_COPY_NB_GT_1         NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_GT_1_NN NOT NULL,"
-  "  COPY_NB_GT_1_IN_BYTES   NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_GT_1_IN_BYTES_NN NOT NULL,"
+  "  NB_COPY_NB_1            INTEGER     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_1_NN NOT NULL,"
+  "  COPY_NB_1_IN_BYTES      INTEGER     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_1_IN_BYTES_NN NOT NULL,"
+  "  NB_COPY_NB_GT_1         INTEGER     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_GT_1_NN NOT NULL,"
+  "  COPY_NB_GT_1_IN_BYTES   INTEGER     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_GT_1_IN_BYTES_NN NOT NULL,"
   "  LABEL_DRIVE             VARCHAR(100),"
-  "  LABEL_TIME              NUMERIC(20, 0)    ,"
+  "  LABEL_TIME              INTEGER    ,"
   "  LAST_READ_DRIVE         VARCHAR(100),"
-  "  LAST_READ_TIME          NUMERIC(20, 0)    ,"
+  "  LAST_READ_TIME          INTEGER    ,"
   "  LAST_WRITE_DRIVE        VARCHAR(100),"
-  "  LAST_WRITE_TIME         NUMERIC(20, 0)    ,"
-  "  READ_MOUNT_COUNT        NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
-  "  WRITE_MOUNT_COUNT       NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT TAPE_UC_NN   NOT NULL,"
+  "  LAST_WRITE_TIME         INTEGER    ,"
+  "  READ_MOUNT_COUNT        INTEGER      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
+  "  WRITE_MOUNT_COUNT       INTEGER      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
+  "  USER_COMMENT            VARCHAR(1000),"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
   "  CONSTRAINT TAPE_PK PRIMARY KEY(VID),"
   "  CONSTRAINT TAPE_LOGICAL_LIBRARY_FK FOREIGN KEY(LOGICAL_LIBRARY_ID) REFERENCES LOGICAL_LIBRARY(LOGICAL_LIBRARY_ID),"
   "  CONSTRAINT TAPE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
@@ -3654,23 +3495,24 @@ namespace catalogue{
   "  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')),"
-  "  CONSTRAINT TAPE_DIRTY_BOOL_CK CHECK(DIRTY IN ('0','1'))"
+  "  CONSTRAINT TAPE_DIRTY_BOOL_CK CHECK(DIRTY IN ('0','1')),"
+  "  CONSTRAINT TAPE_MEDIA_TYPE_FK FOREIGN KEY(MEDIA_TYPE_ID) REFERENCES MEDIA_TYPE(MEDIA_TYPE_ID)"
   ");"
   "CREATE INDEX TAPE_TAPE_POOL_ID_IDX ON TAPE(TAPE_POOL_ID);"
   "CREATE TABLE MOUNT_POLICY("
   "  MOUNT_POLICY_NAME        VARCHAR(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
-  "  ARCHIVE_PRIORITY         NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
-  "  ARCHIVE_MIN_REQUEST_AGE  NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
-  "  RETRIEVE_PRIORITY        NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
-  "  RETRIEVE_MIN_REQUEST_AGE NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
-  "  MAX_DRIVES_ALLOWED       NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_MDA_NN  NOT NULL,"
+  "  ARCHIVE_PRIORITY         INTEGER      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
+  "  ARCHIVE_MIN_REQUEST_AGE  INTEGER      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
+  "  RETRIEVE_PRIORITY        INTEGER      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
+  "  RETRIEVE_MIN_REQUEST_AGE INTEGER      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
+  "  MAX_DRIVES_ALLOWED       INTEGER      CONSTRAINT MOUNT_POLICY_MDA_NN  NOT NULL,"
   "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME        NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME        INTEGER      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME         NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME         INTEGER      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
   "  CONSTRAINT MOUNT_POLICY_PK PRIMARY KEY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE REQUESTER_MOUNT_RULE("
@@ -3680,10 +3522,10 @@ namespace catalogue{
   "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_RULE_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME      INTEGER      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME       INTEGER      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
   "  CONSTRAINT RQSTER_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_NAME),"
   "  CONSTRAINT RQSTER_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
   "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
@@ -3695,26 +3537,26 @@ namespace catalogue{
   "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_GRP_RULE_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME      INTEGER      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME       INTEGER      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
   "  CONSTRAINT RQSTER_GRP_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_GROUP_NAME),"
   "  CONSTRAINT RQSTER_GRP_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
   "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE ARCHIVE_FILE("
-  "  ARCHIVE_FILE_ID         NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
+  "  ARCHIVE_FILE_ID         INTEGER      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
   "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DIN_NN  NOT NULL,"
   "  DISK_FILE_ID            VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DFI_NN  NOT NULL,"
-  "  DISK_FILE_UID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
-  "  DISK_FILE_GID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
-  "  SIZE_IN_BYTES           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
-  "  CHECKSUM_BLOB           BYTEA,"
-  "  CHECKSUM_ADLER32        NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
-  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
-  "  CREATION_TIME           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
-  "  RECONCILIATION_TIME     NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
+  "  DISK_FILE_UID           INTEGER      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
+  "  DISK_FILE_GID           INTEGER      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
+  "  SIZE_IN_BYTES           INTEGER      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
+  "  CHECKSUM_BLOB           BLOB(200),"
+  "  CHECKSUM_ADLER32        INTEGER      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
+  "  CREATION_TIME           INTEGER      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
+  "  RECONCILIATION_TIME     INTEGER      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
   "  IS_DELETED              CHAR(1)         DEFAULT '0' CONSTRAINT ARCHIVE_FILE_ID_NN NOT NULL,"
   "  COLLOCATION_HINT        VARCHAR(100),"
   "  CONSTRAINT ARCHIVE_FILE_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
@@ -3726,22 +3568,22 @@ namespace catalogue{
   "CREATE INDEX ARCHIVE_FILE_DFI_IDX ON ARCHIVE_FILE(DISK_FILE_ID);"
   "CREATE TABLE TAPE_FILE("
   "  VID                      VARCHAR(100)   CONSTRAINT TAPE_FILE_V_NN    NOT NULL,"
-  "  FSEQ                     NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
-  "  BLOCK_ID                 NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
-  "  LOGICAL_SIZE_IN_BYTES    NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
-  "  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,"
+  "  FSEQ                     INTEGER     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
+  "  BLOCK_ID                 INTEGER     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
+  "  LOGICAL_SIZE_IN_BYTES    INTEGER     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
+  "  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,"
   "  SUPERSEDED_BY_VID        VARCHAR(100),"
-  "  SUPERSEDED_BY_FSEQ       NUMERIC(20, 0)    ,"
-  "  WRITE_START_WRAP         NUMERIC(5, 0),"
-  "  WRITE_START_LPOS         NUMERIC(10, 0),"
-  "  WRITE_END_WRAP           NUMERIC(5, 0),"
-  "  WRITE_END_LPOS           NUMERIC(10, 0),"
-  "  READ_START_WRAP          NUMERIC(5, 0),"
-  "  READ_START_LPOS          NUMERIC(10, 0),"
-  "  READ_END_WRAP            NUMERIC(5, 0),"
-  "  READ_END_LPOS            NUMERIC(10, 0),"
+  "  SUPERSEDED_BY_FSEQ       INTEGER    ,"
+  "  WRITE_START_WRAP         INTEGER,"
+  "  WRITE_START_LPOS         INTEGER,"
+  "  WRITE_END_WRAP           INTEGER,"
+  "  WRITE_END_LPOS           INTEGER,"
+  "  READ_START_WRAP          INTEGER,"
+  "  READ_START_LPOS          INTEGER,"
+  "  READ_END_WRAP            INTEGER,"
+  "  READ_END_LPOS            INTEGER,"
   "  CONSTRAINT TAPE_FILE_PK PRIMARY KEY(VID, FSEQ),"
   "  CONSTRAINT TAPE_FILE_TAPE_FK FOREIGN KEY(VID)"
   "    REFERENCES TAPE(VID),"
@@ -3762,164 +3604,170 @@ namespace catalogue{
   "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT ACTIV_WEIGHTS_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME        NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME        INTEGER      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME         NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
+  "  LAST_UPDATE_TIME         INTEGER      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
   ");"
-  "CREATE TABLE USAGESTATS ("
-  "  GID                     NUMERIC(10, 0)   DEFAULT 0 CONSTRAINT USAGESTATS_GID_NN NOT NULL,"
-  "  TIMESTAMP               NUMERIC(20, 0)  DEFAULT 0 CONSTRAINT USAGESTATS_TS_NN NOT NULL,"
-  "  MAXFILEID               NUMERIC(20, 0),"
-  "  FILECOUNT               NUMERIC(20, 0),"
-  "  FILESIZE                NUMERIC(20, 0),"
-  "  SEGCOUNT                NUMERIC(20, 0),"
-  "  SEGSIZE                 NUMERIC(20, 0),"
-  "  SEG2COUNT               NUMERIC(20, 0),"
-  "  SEG2SIZE                NUMERIC(20, 0),"
-  "  CONSTRAINT USAGESTATS_GID_TS_PK PRIMARY KEY (GID, TIMESTAMP)"
+  "CREATE TABLE ARCHIVE_FILE_RECYCLE_BIN("
+  "  ARCHIVE_FILE_ID         INTEGER      CONSTRAINT ARCHIVE_FILE_RB_AFI_NN  NOT NULL,"
+  "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_RB_DIN_NN  NOT NULL,"
+  "  DISK_FILE_ID            VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_RB_DFI_NN  NOT NULL,"
+  "  DISK_FILE_ID_WHEN_DELETED VARCHAR(100)  CONSTRAINT ARCHIVE_FILE_RB_DFIWD_NN NOT NULL,"
+  "  DISK_FILE_UID           INTEGER      CONSTRAINT ARCHIVE_FILE_RB_DFUID_NN  NOT NULL,"
+  "  DISK_FILE_GID           INTEGER      CONSTRAINT ARCHIVE_FILE_RB_DFGID_NN  NOT NULL,"
+  "  SIZE_IN_BYTES           INTEGER      CONSTRAINT ARCHIVE_FILE_RB_SIB_NN  NOT NULL,"
+  "  CHECKSUM_BLOB           BLOB(200),"
+  "  CHECKSUM_ADLER32        INTEGER      CONSTRAINT ARCHIVE_FILE_RB_CB2_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT ARCHIVE_FILE_RB_SCI_NN  NOT NULL,"
+  "  CREATION_TIME           INTEGER      CONSTRAINT ARCHIVE_FILE_RB_CT2_NN  NOT NULL,"
+  "  RECONCILIATION_TIME     INTEGER      CONSTRAINT ARCHIVE_FILE_RB_RT_NN   NOT NULL,"
+  "  COLLOCATION_HINT        VARCHAR(100),"
+  "  DISK_FILE_PATH          VARCHAR(2000) CONSTRAINT ARCHIVE_FILE_RB_DFP_NN NOT NULL,"
+  "  DELETION_TIME           INTEGER    CONSTRAINT ARCHIVE_FILE_RB_DT_NN NOT NULL,"
+  "  CONSTRAINT ARCHIVE_FILE_RB_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
+  "  CONSTRAINT ARCHIVE_FILE_RB_SC_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
+  "  CONSTRAINT ARCHIVE_FILE_RB_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID)"
   ");"
-  "CREATE TABLE EXPERIMENTS ("
-  " NAME                     VARCHAR(20),"
-  " GID                      NUMERIC(10, 0) CONSTRAINT EXPERIMENTS_GID_PK PRIMARY KEY"
+  "CREATE TABLE TAPE_FILE_RECYCLE_BIN("
+  "  VID                      VARCHAR(100)   CONSTRAINT TAPE_FILE_RB_V_NN    NOT NULL,"
+  "  FSEQ                     INTEGER     CONSTRAINT TAPE_FILE_RB_F_NN    NOT NULL,"
+  "  BLOCK_ID                 INTEGER     CONSTRAINT TAPE_FILE_RB_BI_NN   NOT NULL,"
+  "  LOGICAL_SIZE_IN_BYTES    INTEGER     CONSTRAINT TAPE_FILE_RB_CSIB_NN NOT NULL,"
+  "  COPY_NB                  INTEGER      CONSTRAINT TAPE_FILE_RB_CN_NN   NOT NULL,"
+  "  CREATION_TIME            INTEGER     CONSTRAINT TAPE_FILE_RB_CT_NN   NOT NULL,"
+  "  ARCHIVE_FILE_ID          INTEGER     CONSTRAINT TAPE_FILE_RB_AFI_NN  NOT NULL,"
+  "  SUPERSEDED_BY_VID        VARCHAR(100),"
+  "  SUPERSEDED_BY_FSEQ       INTEGER,"
+  "  WRITE_START_WRAP         INTEGER,"
+  "  WRITE_START_LPOS         INTEGER,"
+  "  WRITE_END_WRAP           INTEGER,"
+  "  WRITE_END_LPOS           INTEGER,"
+  "  READ_START_WRAP          INTEGER,"
+  "  READ_START_LPOS          INTEGER,"
+  "  READ_END_WRAP            INTEGER,"
+  "  READ_END_LPOS            INTEGER,"
+  "  CONSTRAINT TAPE_FILE_RB_PK PRIMARY KEY(VID, FSEQ),"
+  "  CONSTRAINT TAPE_FILE_RB_TAPE_FK FOREIGN KEY(VID)"
+  "    REFERENCES TAPE(VID),"
+  "  CONSTRAINT TAPE_FILE_RB_ARCHIVE_FILE_FK FOREIGN KEY(ARCHIVE_FILE_ID)"
+  "    REFERENCES ARCHIVE_FILE_RECYCLE_BIN(ARCHIVE_FILE_ID),"
+  "  CONSTRAINT TAPE_FILE_RB_VID_BLOCK_ID_UN UNIQUE(VID, BLOCK_ID),"
+  "  CONSTRAINT TAPE_FILE_RB_COPY_NB_GT_0_CK CHECK(COPY_NB > 0),"
+  "  CONSTRAINT TAPE_FILE_RB_SS_VID_FSEQ_FK FOREIGN KEY(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ)"
+  "    REFERENCES TAPE_FILE_RECYCLE_BIN(VID, FSEQ)"
   ");"
   "INSERT INTO CTA_CATALOGUE("
   "  SCHEMA_VERSION_MAJOR,"
   "  SCHEMA_VERSION_MINOR,"
   "  STATUS)"
   "VALUES("
-  "  2,"
+  "  3,"
   "  0,"
   "  '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='PRODUCTION') OR (STATUS='UPGRADING'));"
       },
-    }  },
-  {"3.0",
-    {
-      {"oracle",  "CREATE SEQUENCE ARCHIVE_FILE_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 4294967296"
-  "  NOMAXVALUE"
-  "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
-  "CREATE SEQUENCE LOGICAL_LIBRARY_ID_SEQ"
+  {"postgres",  "CREATE SEQUENCE ARCHIVE_FILE_ID_SEQ"
   "  INCREMENT BY 1"
   "  START WITH 1"
-  "  NOMAXVALUE"
+  "  NO MAXVALUE"
   "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
+  "  NO CYCLE"
+  "  CACHE 20;"
+  "CREATE SEQUENCE LOGICAL_LIBRARY_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NO MAXVALUE"
+  "  MINVALUE 1"
+  "  NO CYCLE"
+  "  CACHE 20;"
   "CREATE SEQUENCE MEDIA_TYPE_ID_SEQ"
   "  INCREMENT BY 1"
   "  START WITH 1"
-  "  NOMAXVALUE"
+  "  NO MAXVALUE"
   "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
+  "  NO CYCLE"
+  "  CACHE 20;"
   "CREATE SEQUENCE STORAGE_CLASS_ID_SEQ"
   "  INCREMENT BY 1"
-  "  START WITH 10000"
-  "  NOMAXVALUE"
+  "  START WITH 1"
+  "  NO MAXVALUE"
   "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
+  "  NO CYCLE"
+  "  CACHE 20;"
   "CREATE SEQUENCE TAPE_POOL_ID_SEQ"
   "  INCREMENT BY 1"
   "  START WITH 1"
-  "  NOMAXVALUE"
+  "  NO MAXVALUE"
   "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
+  "  NO CYCLE"
+  "  CACHE 20;"
   "CREATE SEQUENCE VIRTUAL_ORGANIZATION_ID_SEQ"
   "  INCREMENT BY 1"
   "  START WITH 1"
-  "  NOMAXVALUE"
+  "  NO MAXVALUE"
   "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
-  "CREATE GLOBAL TEMPORARY TABLE TEMP_TAPE_FILE_INSERTION_BATCH("
-  "  VID                   VARCHAR2(100),"
-  "  FSEQ                  NUMERIC(20, 0)  ,"
-  "  BLOCK_ID              NUMERIC(20, 0)  ,"
-  "  LOGICAL_SIZE_IN_BYTES NUMERIC(20, 0)  ,"
-  "  COPY_NB               NUMERIC(3, 0)   ,"
-  "  CREATION_TIME         NUMERIC(20, 0)  ,"
-  "  ARCHIVE_FILE_ID       NUMERIC(20, 0)"
-  ")"
-  "ON COMMIT DELETE ROWS;"
-  "CREATE INDEX TEMP_T_F_I_B_AFI_IDX ON TEMP_TAPE_FILE_INSERTION_BATCH(ARCHIVE_FILE_ID);"
+  "  NO CYCLE"
+  "  CACHE 20;"
   "CREATE TABLE CTA_CATALOGUE("
   "  SCHEMA_VERSION_MAJOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
   "  SCHEMA_VERSION_MINOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
   "  NEXT_SCHEMA_VERSION_MAJOR NUMERIC(20, 0),"
   "  NEXT_SCHEMA_VERSION_MINOR NUMERIC(20, 0),"
-  "  STATUS                  VARCHAR2(100),"
+  "  STATUS                  VARCHAR(100),"
   "  IS_PRODUCTION           CHAR(1)         DEFAULT '0' CONSTRAINT CTA_CATALOGUE_IP_NN NOT NULL,"
   "  CONSTRAINT CTA_CATALOGUE_IP_BOOL_CK     CHECK(IS_PRODUCTION IN ('0','1'))"
   ");"
   "CREATE TABLE ADMIN_USER("
-  "  ADMIN_USER_NAME         VARCHAR2(100)    CONSTRAINT ADMIN_USER_AUN_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
+  "  ADMIN_USER_NAME         VARCHAR(100)    CONSTRAINT ADMIN_USER_AUN_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
   "  CONSTRAINT ADMIN_USER_PK PRIMARY KEY(ADMIN_USER_NAME)"
   ");"
   "CREATE TABLE DISK_SYSTEM("
-  "  DISK_SYSTEM_NAME        VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
-  "  FILE_REGEXP             VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
-  "  FREE_SPACE_QUERY_URL    VARCHAR2(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
+  "  DISK_SYSTEM_NAME        VARCHAR(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
+  "  FILE_REGEXP             VARCHAR(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
+  "  FREE_SPACE_QUERY_URL    VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
   "  REFRESH_INTERVAL        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
   "  TARGETED_FREE_SPACE     NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
   "  SLEEP_TIME              NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
+  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
   "  CONSTRAINT NAME_PK PRIMARY KEY(DISK_SYSTEM_NAME)"
   ");"
   "CREATE TABLE VIRTUAL_ORGANIZATION("
   "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_VOI_NN  NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_NAME VARCHAR2(100)  CONSTRAINT VIRTUAL_ORGANIZATION_VON_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT VIRTUAL_ORGANIZATION_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLHN_NN NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_NAME VARCHAR(100)  CONSTRAINT VIRTUAL_ORGANIZATION_VON_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT VIRTUAL_ORGANIZATION_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_LUT_NN  NOT NULL,"
   "  CONSTRAINT VIRTUAL_ORGANIZATION_PK PRIMARY KEY(VIRTUAL_ORGANIZATION_ID),"
   "  CONSTRAINT VIRTUAL_ORGANIZATION_VON_UN UNIQUE(VIRTUAL_ORGANIZATION_NAME)"
   ");"
   "CREATE TABLE STORAGE_CLASS("
   "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
-  "  STORAGE_CLASS_NAME      VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
+  "  STORAGE_CLASS_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
   "  NB_COPIES               NUMERIC(3, 0)       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
   "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT STORAGE_CLASS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL,"
+  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT STORAGE_CLASS_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
   "  CONSTRAINT STORAGE_CLASS_PK PRIMARY KEY(STORAGE_CLASS_ID),"
   "  CONSTRAINT STORAGE_CLASS_SCN_UN UNIQUE(STORAGE_CLASS_NAME),"
@@ -3927,17 +3775,17 @@ namespace catalogue{
   ");"
   "CREATE TABLE TAPE_POOL("
   "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
-  "  TAPE_POOL_NAME          VARCHAR2(100)    CONSTRAINT TAPE_POOL_TPN_NN  NOT NULL,"
+  "  TAPE_POOL_NAME          VARCHAR(100)    CONSTRAINT TAPE_POOL_TPN_NN  NOT NULL,"
   "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_VOI_NN  NOT NULL,"
   "  NB_PARTIAL_TAPES        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
   "  IS_ENCRYPTED            CHAR(1)         CONSTRAINT TAPE_POOL_IE_NN   NOT NULL,"
-  "  SUPPLY                  VARCHAR2(100),"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT TAPE_POOL_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL,"
+  "  SUPPLY                  VARCHAR(100),"
+  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT TAPE_POOL_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
   "  CONSTRAINT TAPE_POOL_PK PRIMARY KEY(TAPE_POOL_ID),"
   "  CONSTRAINT TAPE_POOL_TPN_UN UNIQUE(TAPE_POOL_NAME),"
@@ -3948,12 +3796,12 @@ namespace catalogue{
   "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
   "  COPY_NB                 NUMERIC(3, 0)       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
   "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT ARCHIVE_ROUTE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL,"
+  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ARCHIVE_ROUTE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
   "  CONSTRAINT ARCHIVE_ROUTE_PK PRIMARY KEY(STORAGE_CLASS_ID, COPY_NB),"
   "  CONSTRAINT ARCHIVE_ROUTE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
@@ -3963,46 +3811,46 @@ namespace catalogue{
   ");"
   "CREATE TABLE MEDIA_TYPE("
   "  MEDIA_TYPE_ID          NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_MTI_NN  NOT NULL,"
-  "  MEDIA_TYPE_NAME        VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_MTN_NN  NOT NULL,"
-  "  CARTRIDGE              VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_C_NN    NOT NULL,"
+  "  MEDIA_TYPE_NAME        VARCHAR(100)  CONSTRAINT MEDIA_TYPE_MTN_NN  NOT NULL,"
+  "  CARTRIDGE              VARCHAR(100)  CONSTRAINT MEDIA_TYPE_C_NN    NOT NULL,"
   "  CAPACITY_IN_BYTES      NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_CIB_NN  NOT NULL,"
   "  PRIMARY_DENSITY_CODE   NUMERIC(3, 0),"
   "  SECONDARY_DENSITY_CODE NUMERIC(3, 0),"
   "  NB_WRAPS               NUMERIC(10, 0),"
   "  MIN_LPOS               NUMERIC(20, 0),"
   "  MAX_LPOS               NUMERIC(20, 0),"
-  "  USER_COMMENT           VARCHAR2(1000) CONSTRAINT MEDIA_TYPE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_CLHN_NN NOT NULL,"
+  "  USER_COMMENT           VARCHAR(1000) CONSTRAINT MEDIA_TYPE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME VARCHAR(100)  CONSTRAINT MEDIA_TYPE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME VARCHAR(100)  CONSTRAINT MEDIA_TYPE_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME      NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME  VARCHAR(100)  CONSTRAINT MEDIA_TYPE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)  CONSTRAINT MEDIA_TYPE_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME       NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_LUT_NN  NOT NULL,"
   "  CONSTRAINT MEDIA_TYPE_PK PRIMARY KEY(MEDIA_TYPE_ID),"
   "  CONSTRAINT MEDIA_TYPE_MTN_UN UNIQUE(MEDIA_TYPE_NAME)"
   ");"
   "CREATE TABLE LOGICAL_LIBRARY("
   "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
-  "  LOGICAL_LIBRARY_NAME    VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_LLN_NN  NOT NULL,"
+  "  LOGICAL_LIBRARY_NAME    VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LLN_NN  NOT NULL,"
   "  IS_DISABLED             CHAR(1)         DEFAULT '0' CONSTRAINT LOGICAL_LIBRARY_ID_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT LOGICAL_LIBRARY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL,"
+  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT LOGICAL_LIBRARY_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
   "  CONSTRAINT LOGICAL_LIBRARY_PK PRIMARY KEY(LOGICAL_LIBRARY_ID),"
   "  CONSTRAINT LOGICAL_LIBRARY_LLN_UN UNIQUE(LOGICAL_LIBRARY_NAME),"
   "  CONSTRAINT LOGICAL_LIBRARY_ID_BOOL_CK CHECK(IS_DISABLED IN ('0', '1'))"
   ");"
   "CREATE TABLE TAPE("
-  "  VID                     VARCHAR2(100)    CONSTRAINT TAPE_V_NN    NOT NULL,"
+  "  VID                     VARCHAR(100)    CONSTRAINT TAPE_V_NN    NOT NULL,"
   "  MEDIA_TYPE_ID           NUMERIC(20, 0)      CONSTRAINT TAPE_MTID_NN   NOT NULL,"
-  "  VENDOR                  VARCHAR2(100)    CONSTRAINT TAPE_V2_NN   NOT NULL,"
+  "  VENDOR                  VARCHAR(100)    CONSTRAINT TAPE_V2_NN   NOT NULL,"
   "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
   "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
-  "  ENCRYPTION_KEY_NAME     VARCHAR2(100),"
+  "  ENCRYPTION_KEY_NAME     VARCHAR(100),"
   "  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,"
@@ -4018,20 +3866,20 @@ namespace catalogue{
   "  COPY_NB_1_IN_BYTES      NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_1_IN_BYTES_NN NOT NULL,"
   "  NB_COPY_NB_GT_1         NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_GT_1_NN NOT NULL,"
   "  COPY_NB_GT_1_IN_BYTES   NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_GT_1_IN_BYTES_NN NOT NULL,"
-  "  LABEL_DRIVE             VARCHAR2(100),"
+  "  LABEL_DRIVE             VARCHAR(100),"
   "  LABEL_TIME              NUMERIC(20, 0)    ,"
-  "  LAST_READ_DRIVE         VARCHAR2(100),"
+  "  LAST_READ_DRIVE         VARCHAR(100),"
   "  LAST_READ_TIME          NUMERIC(20, 0)    ,"
-  "  LAST_WRITE_DRIVE        VARCHAR2(100),"
+  "  LAST_WRITE_DRIVE        VARCHAR(100),"
   "  LAST_WRITE_TIME         NUMERIC(20, 0)    ,"
   "  READ_MOUNT_COUNT        NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
   "  WRITE_MOUNT_COUNT       NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000),"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
+  "  USER_COMMENT            VARCHAR(1000),"
+  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT TAPE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT TAPE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
   "  CONSTRAINT TAPE_PK PRIMARY KEY(VID),"
   "  CONSTRAINT TAPE_LOGICAL_LIBRARY_FK FOREIGN KEY(LOGICAL_LIBRARY_ID) REFERENCES LOGICAL_LIBRARY(LOGICAL_LIBRARY_ID),"
@@ -4047,46 +3895,46 @@ namespace catalogue{
   ");"
   "CREATE INDEX TAPE_TAPE_POOL_ID_IDX ON TAPE(TAPE_POOL_ID);"
   "CREATE TABLE MOUNT_POLICY("
-  "  MOUNT_POLICY_NAME        VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
+  "  MOUNT_POLICY_NAME        VARCHAR(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
   "  ARCHIVE_PRIORITY         NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
   "  ARCHIVE_MIN_REQUEST_AGE  NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
   "  RETRIEVE_PRIORITY        NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
   "  RETRIEVE_MIN_REQUEST_AGE NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
   "  MAX_DRIVES_ALLOWED       NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_MDA_NN  NOT NULL,"
-  "  USER_COMMENT             VARCHAR2(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME   VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME   VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
+  "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME        NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME    VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME    VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME         NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
   "  CONSTRAINT MOUNT_POLICY_PK PRIMARY KEY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE REQUESTER_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR2(100)    CONSTRAINT RQSTER_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_NAME         VARCHAR2(100)    CONSTRAINT RQSTER_RULE_RN_NN   NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR2(100)    CONSTRAINT RQSTER_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR2(1000)   CONSTRAINT RQSTER_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR2(100)    CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR2(100)    CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL,"
+  "  DISK_INSTANCE_NAME     VARCHAR(100)    CONSTRAINT RQSTER_RULE_DIN_NN  NOT NULL,"
+  "  REQUESTER_NAME         VARCHAR(100)    CONSTRAINT RQSTER_RULE_RN_NN   NOT NULL,"
+  "  MOUNT_POLICY_NAME      VARCHAR(100)    CONSTRAINT RQSTER_RULE_MPN_NN  NOT NULL,"
+  "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_RULE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
   "  CONSTRAINT RQSTER_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_NAME),"
   "  CONSTRAINT RQSTER_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
   "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE REQUESTER_GROUP_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_GROUP_NAME   VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_RGN_NN  NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR2(1000)   CONSTRAINT RQSTER_GRP_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL,"
+  "  DISK_INSTANCE_NAME     VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_DIN_NN  NOT NULL,"
+  "  REQUESTER_GROUP_NAME   VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_RGN_NN  NOT NULL,"
+  "  MOUNT_POLICY_NAME      VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_MPN_NN  NOT NULL,"
+  "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_GRP_RULE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
   "  CONSTRAINT RQSTER_GRP_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_GROUP_NAME),"
   "  CONSTRAINT RQSTER_GRP_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
@@ -4094,18 +3942,18 @@ namespace catalogue{
   ");"
   "CREATE TABLE ARCHIVE_FILE("
   "  ARCHIVE_FILE_ID         NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
-  "  DISK_INSTANCE_NAME      VARCHAR2(100)    CONSTRAINT ARCHIVE_FILE_DIN_NN  NOT NULL,"
-  "  DISK_FILE_ID            VARCHAR2(100)    CONSTRAINT ARCHIVE_FILE_DFI_NN  NOT NULL,"
+  "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DIN_NN  NOT NULL,"
+  "  DISK_FILE_ID            VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DFI_NN  NOT NULL,"
   "  DISK_FILE_UID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
   "  DISK_FILE_GID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
   "  SIZE_IN_BYTES           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
-  "  CHECKSUM_BLOB           RAW(200),"
+  "  CHECKSUM_BLOB           BYTEA,"
   "  CHECKSUM_ADLER32        NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
   "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
   "  CREATION_TIME           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
   "  RECONCILIATION_TIME     NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
   "  IS_DELETED              CHAR(1)         DEFAULT '0' CONSTRAINT ARCHIVE_FILE_ID_NN NOT NULL,"
-  "  COLLOCATION_HINT        VARCHAR2(100),"
+  "  COLLOCATION_HINT        VARCHAR(100),"
   "  CONSTRAINT ARCHIVE_FILE_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
   "  CONSTRAINT ARCHIVE_FILE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
   "  CONSTRAINT ARCHIVE_FILE_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID),"
@@ -4114,14 +3962,14 @@ namespace catalogue{
   "CREATE INDEX ARCHIVE_FILE_DIN_IDX ON ARCHIVE_FILE(DISK_INSTANCE_NAME);"
   "CREATE INDEX ARCHIVE_FILE_DFI_IDX ON ARCHIVE_FILE(DISK_FILE_ID);"
   "CREATE TABLE TAPE_FILE("
-  "  VID                      VARCHAR2(100)   CONSTRAINT TAPE_FILE_V_NN    NOT NULL,"
+  "  VID                      VARCHAR(100)   CONSTRAINT TAPE_FILE_V_NN    NOT NULL,"
   "  FSEQ                     NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
   "  BLOCK_ID                 NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
   "  LOGICAL_SIZE_IN_BYTES    NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
   "  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,"
-  "  SUPERSEDED_BY_VID        VARCHAR2(100),"
+  "  SUPERSEDED_BY_VID        VARCHAR(100),"
   "  SUPERSEDED_BY_FSEQ       NUMERIC(20, 0)    ,"
   "  WRITE_START_WRAP         NUMERIC(5, 0),"
   "  WRITE_START_LPOS         NUMERIC(10, 0),"
@@ -4145,46 +3993,46 @@ namespace catalogue{
   "CREATE INDEX TAPE_FILE_ARCHIVE_FILE_ID_IDX ON TAPE_FILE(ARCHIVE_FILE_ID);"
   "CREATE INDEX TAPE_FILE_SBV_SBF_IDX ON TAPE_FILE(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ);"
   "CREATE TABLE ACTIVITIES_WEIGHTS ("
-  "  DISK_INSTANCE_NAME       VARCHAR2(100),"
-  "  ACTIVITY                 VARCHAR2(100),"
-  "  WEIGHT                   VARCHAR2(100),"
-  "  USER_COMMENT             VARCHAR2(1000)   CONSTRAINT ACTIV_WEIGHTS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME   VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME   VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL,"
+  "  DISK_INSTANCE_NAME       VARCHAR(100),"
+  "  ACTIVITY                 VARCHAR(100),"
+  "  WEIGHT                   VARCHAR(100),"
+  "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT ACTIV_WEIGHTS_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME        NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME    VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME    VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME         NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
   ");"
   "CREATE TABLE ARCHIVE_FILE_RECYCLE_BIN("
   "  ARCHIVE_FILE_ID         NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RB_AFI_NN  NOT NULL,"
-  "  DISK_INSTANCE_NAME      VARCHAR2(100)    CONSTRAINT ARCHIVE_FILE_RB_DIN_NN  NOT NULL,"
-  "  DISK_FILE_ID            VARCHAR2(100)    CONSTRAINT ARCHIVE_FILE_RB_DFI_NN  NOT NULL,"
-  "  DISK_FILE_ID_WHEN_DELETED VARCHAR2(100)  CONSTRAINT ARCHIVE_FILE_RB_DFIWD_NN NOT NULL,"
+  "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_RB_DIN_NN  NOT NULL,"
+  "  DISK_FILE_ID            VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_RB_DFI_NN  NOT NULL,"
+  "  DISK_FILE_ID_WHEN_DELETED VARCHAR(100)  CONSTRAINT ARCHIVE_FILE_RB_DFIWD_NN NOT NULL,"
   "  DISK_FILE_UID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_RB_DFUID_NN  NOT NULL,"
   "  DISK_FILE_GID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_RB_DFGID_NN  NOT NULL,"
   "  SIZE_IN_BYTES           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RB_SIB_NN  NOT NULL,"
-  "  CHECKSUM_BLOB           RAW(200),"
+  "  CHECKSUM_BLOB           BYTEA,"
   "  CHECKSUM_ADLER32        NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_RB_CB2_NN  NOT NULL,"
   "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RB_SCI_NN  NOT NULL,"
   "  CREATION_TIME           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RB_CT2_NN  NOT NULL,"
   "  RECONCILIATION_TIME     NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RB_RT_NN   NOT NULL,"
-  "  COLLOCATION_HINT        VARCHAR2(100),"
-  "  DISK_FILE_PATH          VARCHAR2(2000) CONSTRAINT ARCHIVE_FILE_RB_DFP_NN NOT NULL,"
+  "  COLLOCATION_HINT        VARCHAR(100),"
+  "  DISK_FILE_PATH          VARCHAR(2000) CONSTRAINT ARCHIVE_FILE_RB_DFP_NN NOT NULL,"
   "  DELETION_TIME           NUMERIC(20, 0)    CONSTRAINT ARCHIVE_FILE_RB_DT_NN NOT NULL,"
   "  CONSTRAINT ARCHIVE_FILE_RB_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
   "  CONSTRAINT ARCHIVE_FILE_RB_SC_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
   "  CONSTRAINT ARCHIVE_FILE_RB_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID)"
   ");"
   "CREATE TABLE TAPE_FILE_RECYCLE_BIN("
-  "  VID                      VARCHAR2(100)   CONSTRAINT TAPE_FILE_RB_V_NN    NOT NULL,"
+  "  VID                      VARCHAR(100)   CONSTRAINT TAPE_FILE_RB_V_NN    NOT NULL,"
   "  FSEQ                     NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_RB_F_NN    NOT NULL,"
   "  BLOCK_ID                 NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_RB_BI_NN   NOT NULL,"
   "  LOGICAL_SIZE_IN_BYTES    NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_RB_CSIB_NN NOT NULL,"
   "  COPY_NB                  NUMERIC(3, 0)      CONSTRAINT TAPE_FILE_RB_CN_NN   NOT NULL,"
   "  CREATION_TIME            NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_RB_CT_NN   NOT NULL,"
   "  ARCHIVE_FILE_ID          NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_RB_AFI_NN  NOT NULL,"
-  "  SUPERSEDED_BY_VID        VARCHAR2(100),"
+  "  SUPERSEDED_BY_VID        VARCHAR(100),"
   "  SUPERSEDED_BY_FSEQ       NUMERIC(20, 0),"
   "  WRITE_START_WRAP         NUMERIC(5, 0),"
   "  WRITE_START_LPOS         NUMERIC(10, 0),"
@@ -4212,135 +4060,170 @@ namespace catalogue{
   "  3,"
   "  0,"
   "  '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;"
+  "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='PRODUCTION') OR (STATUS='UPGRADING'));"
       },
-  {"mysql",  "CREATE TABLE ARCHIVE_FILE_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT ARCHIVE_FILE_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO ARCHIVE_FILE_ID(ID) VALUES(1);"
-  "CREATE TABLE LOGICAL_LIBRARY_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT LOGICAL_LIBRARY_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO LOGICAL_LIBRARY_ID(ID) VALUES(1);"
-  "CREATE TABLE MEDIA_TYPE_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT MEDIA_TYPE_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO MEDIA_TYPE_ID(ID) VALUES(1);"
-  "CREATE TABLE STORAGE_CLASS_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT STORAGE_CLASS_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO STORAGE_CLASS_ID(ID) VALUES(1);"
-  "CREATE TABLE TAPE_POOL_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT TAPE_POOL_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO TAPE_POOL_ID(ID) VALUES(1);"
-  "CREATE TABLE VIRTUAL_ORGANIZATION_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT VIRTUAL_ORGANIZATION_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO VIRTUAL_ORGANIZATION_ID(ID) VALUES(1);"
+    }  },
+  {"3.1",
+    {
+      {"oracle",  "CREATE SEQUENCE ARCHIVE_FILE_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 4294967296"
+  "  NOMAXVALUE"
+  "  MINVALUE 1"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
+  "CREATE SEQUENCE LOGICAL_LIBRARY_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NOMAXVALUE"
+  "  MINVALUE 1"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
+  "CREATE SEQUENCE MEDIA_TYPE_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NOMAXVALUE"
+  "  MINVALUE 1"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
+  "CREATE SEQUENCE STORAGE_CLASS_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 10000"
+  "  NOMAXVALUE"
+  "  MINVALUE 1"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
+  "CREATE SEQUENCE TAPE_POOL_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NOMAXVALUE"
+  "  MINVALUE 1"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
+  "CREATE SEQUENCE VIRTUAL_ORGANIZATION_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NOMAXVALUE"
+  "  MINVALUE 1"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
+  "CREATE GLOBAL TEMPORARY TABLE TEMP_TAPE_FILE_INSERTION_BATCH("
+  "  VID                   VARCHAR2(100),"
+  "  FSEQ                  NUMERIC(20, 0)  ,"
+  "  BLOCK_ID              NUMERIC(20, 0)  ,"
+  "  LOGICAL_SIZE_IN_BYTES NUMERIC(20, 0)  ,"
+  "  COPY_NB               NUMERIC(3, 0)   ,"
+  "  CREATION_TIME         NUMERIC(20, 0)  ,"
+  "  ARCHIVE_FILE_ID       NUMERIC(20, 0)"
+  ")"
+  "ON COMMIT DELETE ROWS;"
+  "CREATE INDEX TEMP_T_F_I_B_AFI_IDX ON TEMP_TAPE_FILE_INSERTION_BATCH(ARCHIVE_FILE_ID);"
   "CREATE TABLE CTA_CATALOGUE("
-  "  SCHEMA_VERSION_MAJOR    BIGINT UNSIGNED      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
-  "  SCHEMA_VERSION_MINOR    BIGINT UNSIGNED      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
-  "  NEXT_SCHEMA_VERSION_MAJOR BIGINT UNSIGNED,"
-  "  NEXT_SCHEMA_VERSION_MINOR BIGINT UNSIGNED,"
-  "  STATUS                  VARCHAR(100),"
+  "  SCHEMA_VERSION_MAJOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
+  "  SCHEMA_VERSION_MINOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
+  "  NEXT_SCHEMA_VERSION_MAJOR NUMERIC(20, 0),"
+  "  NEXT_SCHEMA_VERSION_MINOR NUMERIC(20, 0),"
+  "  STATUS                  VARCHAR2(100),"
   "  IS_PRODUCTION           CHAR(1)         DEFAULT '0' CONSTRAINT CTA_CATALOGUE_IP_NN NOT NULL,"
   "  CONSTRAINT CTA_CATALOGUE_IP_BOOL_CK     CHECK(IS_PRODUCTION IN ('0','1'))"
   ");"
   "CREATE TABLE ADMIN_USER("
-  "  ADMIN_USER_NAME         VARCHAR(100)    CONSTRAINT ADMIN_USER_AUN_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
+  "  ADMIN_USER_NAME         VARCHAR2(100)    CONSTRAINT ADMIN_USER_AUN_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
   "  CONSTRAINT ADMIN_USER_PK PRIMARY KEY(ADMIN_USER_NAME)"
   ");"
   "CREATE TABLE DISK_SYSTEM("
-  "  DISK_SYSTEM_NAME        VARCHAR(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
-  "  FILE_REGEXP             VARCHAR(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
-  "  FREE_SPACE_QUERY_URL    VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
-  "  REFRESH_INTERVAL        BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
-  "  TARGETED_FREE_SPACE     BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
-  "  SLEEP_TIME              BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
+  "  DISK_SYSTEM_NAME        VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
+  "  FILE_REGEXP             VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
+  "  FREE_SPACE_QUERY_URL    VARCHAR2(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
+  "  REFRESH_INTERVAL        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
+  "  TARGETED_FREE_SPACE     NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
+  "  SLEEP_TIME              NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
   "  CONSTRAINT NAME_PK PRIMARY KEY(DISK_SYSTEM_NAME)"
   ");"
   "CREATE TABLE VIRTUAL_ORGANIZATION("
-  "  VIRTUAL_ORGANIZATION_ID BIGINT UNSIGNED      CONSTRAINT VIRTUAL_ORGANIZATION_VOI_NN  NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_NAME VARCHAR(100)  CONSTRAINT VIRTUAL_ORGANIZATION_VON_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT VIRTUAL_ORGANIZATION_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT VIRTUAL_ORGANIZATION_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT VIRTUAL_ORGANIZATION_LUT_NN  NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_VOI_NN  NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_NAME VARCHAR2(100)  CONSTRAINT VIRTUAL_ORGANIZATION_VON_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT VIRTUAL_ORGANIZATION_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_LUT_NN  NOT NULL,"
   "  CONSTRAINT VIRTUAL_ORGANIZATION_PK PRIMARY KEY(VIRTUAL_ORGANIZATION_ID),"
   "  CONSTRAINT VIRTUAL_ORGANIZATION_VON_UN UNIQUE(VIRTUAL_ORGANIZATION_NAME)"
   ");"
   "CREATE TABLE STORAGE_CLASS("
-  "  STORAGE_CLASS_ID        BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
-  "  STORAGE_CLASS_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
-  "  NB_COPIES               TINYINT UNSIGNED       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT STORAGE_CLASS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
+  "  STORAGE_CLASS_NAME      VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
+  "  NB_COPIES               NUMERIC(3, 0)       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT STORAGE_CLASS_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
   "  CONSTRAINT STORAGE_CLASS_PK PRIMARY KEY(STORAGE_CLASS_ID),"
   "  CONSTRAINT STORAGE_CLASS_SCN_UN UNIQUE(STORAGE_CLASS_NAME),"
   "  CONSTRAINT STORAGE_CLASS_VOI_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
   ");"
   "CREATE TABLE TAPE_POOL("
-  "  TAPE_POOL_ID            BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
-  "  TAPE_POOL_NAME          VARCHAR(100)    CONSTRAINT TAPE_POOL_TPN_NN  NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_VOI_NN  NOT NULL,"
-  "  NB_PARTIAL_TAPES        BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
+  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
+  "  TAPE_POOL_NAME          VARCHAR2(100)    CONSTRAINT TAPE_POOL_TPN_NN  NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_VOI_NN  NOT NULL,"
+  "  NB_PARTIAL_TAPES        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
   "  IS_ENCRYPTED            CHAR(1)         CONSTRAINT TAPE_POOL_IE_NN   NOT NULL,"
-  "  SUPPLY                  VARCHAR(100),"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT TAPE_POOL_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
+  "  SUPPLY                  VARCHAR2(100),"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT TAPE_POOL_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
   "  CONSTRAINT TAPE_POOL_PK PRIMARY KEY(TAPE_POOL_ID),"
   "  CONSTRAINT TAPE_POOL_TPN_UN UNIQUE(TAPE_POOL_NAME),"
   "  CONSTRAINT TAPE_POOL_IS_ENCRYPTED_BOOL_CK CHECK(IS_ENCRYPTED IN ('0', '1')),"
   "  CONSTRAINT TAPE_POOL_VO_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
   ");"
   "CREATE TABLE ARCHIVE_ROUTE("
-  "  STORAGE_CLASS_ID        BIGINT UNSIGNED      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
-  "  COPY_NB                 TINYINT UNSIGNED       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
-  "  TAPE_POOL_ID            BIGINT UNSIGNED      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ARCHIVE_ROUTE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
+  "  COPY_NB                 NUMERIC(3, 0)       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
+  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT ARCHIVE_ROUTE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
   "  CONSTRAINT ARCHIVE_ROUTE_PK PRIMARY KEY(STORAGE_CLASS_ID, COPY_NB),"
   "  CONSTRAINT ARCHIVE_ROUTE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
   "  CONSTRAINT ARCHIVE_ROUTE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
@@ -4348,51 +4231,51 @@ namespace catalogue{
   "  CONSTRAINT ARCHIVE_ROUTE_SCI_TPI_UN UNIQUE(STORAGE_CLASS_ID, TAPE_POOL_ID)"
   ");"
   "CREATE TABLE MEDIA_TYPE("
-  "  MEDIA_TYPE_ID          BIGINT UNSIGNED    CONSTRAINT MEDIA_TYPE_MTI_NN  NOT NULL,"
-  "  MEDIA_TYPE_NAME        VARCHAR(100)  CONSTRAINT MEDIA_TYPE_MTN_NN  NOT NULL,"
-  "  CARTRIDGE              VARCHAR(100)  CONSTRAINT MEDIA_TYPE_C_NN    NOT NULL,"
-  "  CAPACITY_IN_BYTES      BIGINT UNSIGNED    CONSTRAINT MEDIA_TYPE_CIB_NN  NOT NULL,"
-  "  PRIMARY_DENSITY_CODE   TINYINT UNSIGNED,"
-  "  SECONDARY_DENSITY_CODE TINYINT UNSIGNED,"
-  "  NB_WRAPS               INT UNSIGNED,"
-  "  MIN_LPOS               BIGINT UNSIGNED,"
-  "  MAX_LPOS               BIGINT UNSIGNED,"
-  "  USER_COMMENT           VARCHAR(1000) CONSTRAINT MEDIA_TYPE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR(100)  CONSTRAINT MEDIA_TYPE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR(100)  CONSTRAINT MEDIA_TYPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      BIGINT UNSIGNED    CONSTRAINT MEDIA_TYPE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR(100)  CONSTRAINT MEDIA_TYPE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)  CONSTRAINT MEDIA_TYPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       BIGINT UNSIGNED    CONSTRAINT MEDIA_TYPE_LUT_NN  NOT NULL,"
+  "  MEDIA_TYPE_ID          NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_MTI_NN  NOT NULL,"
+  "  MEDIA_TYPE_NAME        VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_MTN_NN  NOT NULL,"
+  "  CARTRIDGE              VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_C_NN    NOT NULL,"
+  "  CAPACITY_IN_BYTES      NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_CIB_NN  NOT NULL,"
+  "  PRIMARY_DENSITY_CODE   NUMERIC(3, 0),"
+  "  SECONDARY_DENSITY_CODE NUMERIC(3, 0),"
+  "  NB_WRAPS               NUMERIC(10, 0),"
+  "  MIN_LPOS               NUMERIC(20, 0),"
+  "  MAX_LPOS               NUMERIC(20, 0),"
+  "  USER_COMMENT           VARCHAR2(1000) CONSTRAINT MEDIA_TYPE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME      NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME  VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME  VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME       NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_LUT_NN  NOT NULL,"
   "  CONSTRAINT MEDIA_TYPE_PK PRIMARY KEY(MEDIA_TYPE_ID),"
   "  CONSTRAINT MEDIA_TYPE_MTN_UN UNIQUE(MEDIA_TYPE_NAME)"
   ");"
   "CREATE TABLE LOGICAL_LIBRARY("
-  "  LOGICAL_LIBRARY_ID      BIGINT UNSIGNED      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
-  "  LOGICAL_LIBRARY_NAME    VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LLN_NN  NOT NULL,"
+  "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
+  "  LOGICAL_LIBRARY_NAME    VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_LLN_NN  NOT NULL,"
   "  IS_DISABLED             CHAR(1)         DEFAULT '0' CONSTRAINT LOGICAL_LIBRARY_ID_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT LOGICAL_LIBRARY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT LOGICAL_LIBRARY_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
   "  CONSTRAINT LOGICAL_LIBRARY_PK PRIMARY KEY(LOGICAL_LIBRARY_ID),"
   "  CONSTRAINT LOGICAL_LIBRARY_LLN_UN UNIQUE(LOGICAL_LIBRARY_NAME),"
   "  CONSTRAINT LOGICAL_LIBRARY_ID_BOOL_CK CHECK(IS_DISABLED IN ('0', '1'))"
   ");"
   "CREATE TABLE TAPE("
-  "  VID                     VARCHAR(100)    CONSTRAINT TAPE_V_NN    NOT NULL,"
-  "  MEDIA_TYPE_ID           BIGINT UNSIGNED      CONSTRAINT TAPE_MTID_NN   NOT NULL,"
-  "  VENDOR                  VARCHAR(100)    CONSTRAINT TAPE_V2_NN   NOT NULL,"
-  "  LOGICAL_LIBRARY_ID      BIGINT UNSIGNED      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
-  "  TAPE_POOL_ID            BIGINT UNSIGNED      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
-  "  ENCRYPTION_KEY_NAME     VARCHAR(100),"
-  "  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,"
+  "  VID                     VARCHAR2(100)    CONSTRAINT TAPE_V_NN    NOT NULL,"
+  "  MEDIA_TYPE_ID           NUMERIC(20, 0)      CONSTRAINT TAPE_MTID_NN   NOT NULL,"
+  "  VENDOR                  VARCHAR2(100)    CONSTRAINT TAPE_V2_NN   NOT NULL,"
+  "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
+  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
+  "  ENCRYPTION_KEY_NAME     VARCHAR2(100),"
+  "  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,"
@@ -4400,25 +4283,25 @@ namespace catalogue{
   "  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,"
-  "  NB_COPY_NB_1            BIGINT UNSIGNED     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_1_NN NOT NULL,"
-  "  COPY_NB_1_IN_BYTES      BIGINT UNSIGNED     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_1_IN_BYTES_NN NOT NULL,"
-  "  NB_COPY_NB_GT_1         BIGINT UNSIGNED     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_GT_1_NN NOT NULL,"
-  "  COPY_NB_GT_1_IN_BYTES   BIGINT UNSIGNED     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_GT_1_IN_BYTES_NN NOT NULL,"
-  "  LABEL_DRIVE             VARCHAR(100),"
-  "  LABEL_TIME              BIGINT UNSIGNED    ,"
-  "  LAST_READ_DRIVE         VARCHAR(100),"
-  "  LAST_READ_TIME          BIGINT UNSIGNED    ,"
-  "  LAST_WRITE_DRIVE        VARCHAR(100),"
-  "  LAST_WRITE_TIME         BIGINT UNSIGNED    ,"
-  "  READ_MOUNT_COUNT        BIGINT UNSIGNED      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
-  "  WRITE_MOUNT_COUNT       BIGINT UNSIGNED      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000),"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
+  "  NB_COPY_NB_1            NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_1_NN NOT NULL,"
+  "  COPY_NB_1_IN_BYTES      NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_1_IN_BYTES_NN NOT NULL,"
+  "  NB_COPY_NB_GT_1         NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_GT_1_NN NOT NULL,"
+  "  COPY_NB_GT_1_IN_BYTES   NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_GT_1_IN_BYTES_NN NOT NULL,"
+  "  LABEL_DRIVE             VARCHAR2(100),"
+  "  LABEL_TIME              NUMERIC(20, 0)    ,"
+  "  LAST_READ_DRIVE         VARCHAR2(100),"
+  "  LAST_READ_TIME          NUMERIC(20, 0)    ,"
+  "  LAST_WRITE_DRIVE        VARCHAR2(100),"
+  "  LAST_WRITE_TIME         NUMERIC(20, 0)    ,"
+  "  READ_MOUNT_COUNT        NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
+  "  WRITE_MOUNT_COUNT       NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000),"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT TAPE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT TAPE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
   "  CONSTRAINT TAPE_PK PRIMARY KEY(VID),"
   "  CONSTRAINT TAPE_LOGICAL_LIBRARY_FK FOREIGN KEY(LOGICAL_LIBRARY_ID) REFERENCES LOGICAL_LIBRARY(LOGICAL_LIBRARY_ID),"
   "  CONSTRAINT TAPE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
@@ -4432,66 +4315,67 @@ namespace catalogue{
   "  CONSTRAINT TAPE_MEDIA_TYPE_FK FOREIGN KEY(MEDIA_TYPE_ID) REFERENCES MEDIA_TYPE(MEDIA_TYPE_ID)"
   ");"
   "CREATE INDEX TAPE_TAPE_POOL_ID_IDX ON TAPE(TAPE_POOL_ID);"
+  "CREATE INDEX TAPE_IS_DISABLED_IDX ON TAPE(IS_DISABLED);"
   "CREATE TABLE MOUNT_POLICY("
-  "  MOUNT_POLICY_NAME        VARCHAR(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
-  "  ARCHIVE_PRIORITY         BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
-  "  ARCHIVE_MIN_REQUEST_AGE  BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
-  "  RETRIEVE_PRIORITY        BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
-  "  RETRIEVE_MIN_REQUEST_AGE BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
-  "  MAX_DRIVES_ALLOWED       BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_MDA_NN  NOT NULL,"
-  "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME        BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME         BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
+  "  MOUNT_POLICY_NAME        VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
+  "  ARCHIVE_PRIORITY         NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
+  "  ARCHIVE_MIN_REQUEST_AGE  NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
+  "  RETRIEVE_PRIORITY        NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
+  "  RETRIEVE_MIN_REQUEST_AGE NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
+  "  MAX_DRIVES_ALLOWED       NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_MDA_NN  NOT NULL,"
+  "  USER_COMMENT             VARCHAR2(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME   VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME   VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME        NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME    VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME    VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME         NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
   "  CONSTRAINT MOUNT_POLICY_PK PRIMARY KEY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE REQUESTER_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR(100)    CONSTRAINT RQSTER_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_NAME         VARCHAR(100)    CONSTRAINT RQSTER_RULE_RN_NN   NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR(100)    CONSTRAINT RQSTER_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      BIGINT UNSIGNED      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       BIGINT UNSIGNED      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
+  "  DISK_INSTANCE_NAME     VARCHAR2(100)    CONSTRAINT RQSTER_RULE_DIN_NN  NOT NULL,"
+  "  REQUESTER_NAME         VARCHAR2(100)    CONSTRAINT RQSTER_RULE_RN_NN   NOT NULL,"
+  "  MOUNT_POLICY_NAME      VARCHAR2(100)    CONSTRAINT RQSTER_RULE_MPN_NN  NOT NULL,"
+  "  USER_COMMENT           VARCHAR2(1000)   CONSTRAINT RQSTER_RULE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME VARCHAR2(100)    CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME VARCHAR2(100)    CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
   "  CONSTRAINT RQSTER_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_NAME),"
   "  CONSTRAINT RQSTER_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
   "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE REQUESTER_GROUP_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_GROUP_NAME   VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_RGN_NN  NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_GRP_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      BIGINT UNSIGNED      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       BIGINT UNSIGNED      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
+  "  DISK_INSTANCE_NAME     VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_DIN_NN  NOT NULL,"
+  "  REQUESTER_GROUP_NAME   VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_RGN_NN  NOT NULL,"
+  "  MOUNT_POLICY_NAME      VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_MPN_NN  NOT NULL,"
+  "  USER_COMMENT           VARCHAR2(1000)   CONSTRAINT RQSTER_GRP_RULE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
   "  CONSTRAINT RQSTER_GRP_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_GROUP_NAME),"
   "  CONSTRAINT RQSTER_GRP_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
   "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE ARCHIVE_FILE("
-  "  ARCHIVE_FILE_ID         BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
-  "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DIN_NN  NOT NULL,"
-  "  DISK_FILE_ID            VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DFI_NN  NOT NULL,"
-  "  DISK_FILE_UID           INT UNSIGNED      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
-  "  DISK_FILE_GID           INT UNSIGNED      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
-  "  SIZE_IN_BYTES           BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
-  "  CHECKSUM_BLOB           VARBINARY(200),"
-  "  CHECKSUM_ADLER32        INT UNSIGNED      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
-  "  STORAGE_CLASS_ID        BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
-  "  CREATION_TIME           BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
-  "  RECONCILIATION_TIME     BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
+  "  ARCHIVE_FILE_ID         NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
+  "  DISK_INSTANCE_NAME      VARCHAR2(100)    CONSTRAINT ARCHIVE_FILE_DIN_NN  NOT NULL,"
+  "  DISK_FILE_ID            VARCHAR2(100)    CONSTRAINT ARCHIVE_FILE_DFI_NN  NOT NULL,"
+  "  DISK_FILE_UID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
+  "  DISK_FILE_GID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
+  "  SIZE_IN_BYTES           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
+  "  CHECKSUM_BLOB           RAW(200),"
+  "  CHECKSUM_ADLER32        NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
+  "  CREATION_TIME           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
+  "  RECONCILIATION_TIME     NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
   "  IS_DELETED              CHAR(1)         DEFAULT '0' CONSTRAINT ARCHIVE_FILE_ID_NN NOT NULL,"
-  "  COLLOCATION_HINT        VARCHAR(100),"
+  "  COLLOCATION_HINT        VARCHAR2(100),"
   "  CONSTRAINT ARCHIVE_FILE_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
   "  CONSTRAINT ARCHIVE_FILE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
   "  CONSTRAINT ARCHIVE_FILE_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID),"
@@ -4500,23 +4384,23 @@ namespace catalogue{
   "CREATE INDEX ARCHIVE_FILE_DIN_IDX ON ARCHIVE_FILE(DISK_INSTANCE_NAME);"
   "CREATE INDEX ARCHIVE_FILE_DFI_IDX ON ARCHIVE_FILE(DISK_FILE_ID);"
   "CREATE TABLE TAPE_FILE("
-  "  VID                      VARCHAR(100)   CONSTRAINT TAPE_FILE_V_NN    NOT NULL,"
-  "  FSEQ                     BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
-  "  BLOCK_ID                 BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
-  "  LOGICAL_SIZE_IN_BYTES    BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
-  "  COPY_NB                  TINYINT UNSIGNED      CONSTRAINT TAPE_FILE_CN_NN   NOT NULL,"
-  "  CREATION_TIME            BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_CT_NN   NOT NULL,"
-  "  ARCHIVE_FILE_ID          BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_AFI_NN  NOT NULL,"
-  "  SUPERSEDED_BY_VID        VARCHAR(100),"
-  "  SUPERSEDED_BY_FSEQ       BIGINT UNSIGNED    ,"
-  "  WRITE_START_WRAP         SMALLINT UNSIGNED,"
-  "  WRITE_START_LPOS         INT UNSIGNED,"
-  "  WRITE_END_WRAP           SMALLINT UNSIGNED,"
-  "  WRITE_END_LPOS           INT UNSIGNED,"
-  "  READ_START_WRAP          SMALLINT UNSIGNED,"
-  "  READ_START_LPOS          INT UNSIGNED,"
-  "  READ_END_WRAP            SMALLINT UNSIGNED,"
-  "  READ_END_LPOS            INT UNSIGNED,"
+  "  VID                      VARCHAR2(100)   CONSTRAINT TAPE_FILE_V_NN    NOT NULL,"
+  "  FSEQ                     NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
+  "  BLOCK_ID                 NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
+  "  LOGICAL_SIZE_IN_BYTES    NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
+  "  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,"
+  "  SUPERSEDED_BY_VID        VARCHAR2(100),"
+  "  SUPERSEDED_BY_FSEQ       NUMERIC(20, 0)    ,"
+  "  WRITE_START_WRAP         NUMERIC(5, 0),"
+  "  WRITE_START_LPOS         NUMERIC(10, 0),"
+  "  WRITE_END_WRAP           NUMERIC(5, 0),"
+  "  WRITE_END_LPOS           NUMERIC(10, 0),"
+  "  READ_START_WRAP          NUMERIC(5, 0),"
+  "  READ_START_LPOS          NUMERIC(10, 0),"
+  "  READ_END_WRAP            NUMERIC(5, 0),"
+  "  READ_END_LPOS            NUMERIC(10, 0),"
   "  CONSTRAINT TAPE_FILE_PK PRIMARY KEY(VID, FSEQ),"
   "  CONSTRAINT TAPE_FILE_TAPE_FK FOREIGN KEY(VID)"
   "    REFERENCES TAPE(VID),"
@@ -4531,55 +4415,55 @@ namespace catalogue{
   "CREATE INDEX TAPE_FILE_ARCHIVE_FILE_ID_IDX ON TAPE_FILE(ARCHIVE_FILE_ID);"
   "CREATE INDEX TAPE_FILE_SBV_SBF_IDX ON TAPE_FILE(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ);"
   "CREATE TABLE ACTIVITIES_WEIGHTS ("
-  "  DISK_INSTANCE_NAME       VARCHAR(100),"
-  "  ACTIVITY                 VARCHAR(100),"
-  "  WEIGHT                   VARCHAR(100),"
-  "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT ACTIV_WEIGHTS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME        BIGINT UNSIGNED      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME         BIGINT UNSIGNED      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
+  "  DISK_INSTANCE_NAME       VARCHAR2(100),"
+  "  ACTIVITY                 VARCHAR2(100),"
+  "  WEIGHT                   VARCHAR2(100),"
+  "  USER_COMMENT             VARCHAR2(1000)   CONSTRAINT ACTIV_WEIGHTS_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME   VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME   VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME        NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME    VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME    VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME         NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
   ");"
   "CREATE TABLE ARCHIVE_FILE_RECYCLE_BIN("
-  "  ARCHIVE_FILE_ID         BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_RB_AFI_NN  NOT NULL,"
-  "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_RB_DIN_NN  NOT NULL,"
-  "  DISK_FILE_ID            VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_RB_DFI_NN  NOT NULL,"
-  "  DISK_FILE_ID_WHEN_DELETED VARCHAR(100)  CONSTRAINT ARCHIVE_FILE_RB_DFIWD_NN NOT NULL,"
-  "  DISK_FILE_UID           INT UNSIGNED      CONSTRAINT ARCHIVE_FILE_RB_DFUID_NN  NOT NULL,"
-  "  DISK_FILE_GID           INT UNSIGNED      CONSTRAINT ARCHIVE_FILE_RB_DFGID_NN  NOT NULL,"
-  "  SIZE_IN_BYTES           BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_RB_SIB_NN  NOT NULL,"
-  "  CHECKSUM_BLOB           VARBINARY(200),"
-  "  CHECKSUM_ADLER32        INT UNSIGNED      CONSTRAINT ARCHIVE_FILE_RB_CB2_NN  NOT NULL,"
-  "  STORAGE_CLASS_ID        BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_RB_SCI_NN  NOT NULL,"
-  "  CREATION_TIME           BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_RB_CT2_NN  NOT NULL,"
-  "  RECONCILIATION_TIME     BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_RB_RT_NN   NOT NULL,"
-  "  COLLOCATION_HINT        VARCHAR(100),"
-  "  DISK_FILE_PATH          VARCHAR(2000) CONSTRAINT ARCHIVE_FILE_RB_DFP_NN NOT NULL,"
-  "  DELETION_TIME           BIGINT UNSIGNED    CONSTRAINT ARCHIVE_FILE_RB_DT_NN NOT NULL,"
+  "  ARCHIVE_FILE_ID         NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RB_AFI_NN  NOT NULL,"
+  "  DISK_INSTANCE_NAME      VARCHAR2(100)    CONSTRAINT ARCHIVE_FILE_RB_DIN_NN  NOT NULL,"
+  "  DISK_FILE_ID            VARCHAR2(100)    CONSTRAINT ARCHIVE_FILE_RB_DFI_NN  NOT NULL,"
+  "  DISK_FILE_ID_WHEN_DELETED VARCHAR2(100)  CONSTRAINT ARCHIVE_FILE_RB_DFIWD_NN NOT NULL,"
+  "  DISK_FILE_UID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_RB_DFUID_NN  NOT NULL,"
+  "  DISK_FILE_GID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_RB_DFGID_NN  NOT NULL,"
+  "  SIZE_IN_BYTES           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RB_SIB_NN  NOT NULL,"
+  "  CHECKSUM_BLOB           RAW(200),"
+  "  CHECKSUM_ADLER32        NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_RB_CB2_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RB_SCI_NN  NOT NULL,"
+  "  CREATION_TIME           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RB_CT2_NN  NOT NULL,"
+  "  RECONCILIATION_TIME     NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RB_RT_NN   NOT NULL,"
+  "  COLLOCATION_HINT        VARCHAR2(100),"
+  "  DISK_FILE_PATH          VARCHAR2(2000) CONSTRAINT ARCHIVE_FILE_RB_DFP_NN NOT NULL,"
+  "  DELETION_TIME           NUMERIC(20, 0)    CONSTRAINT ARCHIVE_FILE_RB_DT_NN NOT NULL,"
   "  CONSTRAINT ARCHIVE_FILE_RB_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
   "  CONSTRAINT ARCHIVE_FILE_RB_SC_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
   "  CONSTRAINT ARCHIVE_FILE_RB_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID)"
   ");"
   "CREATE TABLE TAPE_FILE_RECYCLE_BIN("
-  "  VID                      VARCHAR(100)   CONSTRAINT TAPE_FILE_RB_V_NN    NOT NULL,"
-  "  FSEQ                     BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_RB_F_NN    NOT NULL,"
-  "  BLOCK_ID                 BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_RB_BI_NN   NOT NULL,"
-  "  LOGICAL_SIZE_IN_BYTES    BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_RB_CSIB_NN NOT NULL,"
-  "  COPY_NB                  TINYINT UNSIGNED      CONSTRAINT TAPE_FILE_RB_CN_NN   NOT NULL,"
-  "  CREATION_TIME            BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_RB_CT_NN   NOT NULL,"
-  "  ARCHIVE_FILE_ID          BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_RB_AFI_NN  NOT NULL,"
-  "  SUPERSEDED_BY_VID        VARCHAR(100),"
-  "  SUPERSEDED_BY_FSEQ       BIGINT UNSIGNED,"
-  "  WRITE_START_WRAP         SMALLINT UNSIGNED,"
-  "  WRITE_START_LPOS         INT UNSIGNED,"
-  "  WRITE_END_WRAP           SMALLINT UNSIGNED,"
-  "  WRITE_END_LPOS           INT UNSIGNED,"
-  "  READ_START_WRAP          SMALLINT UNSIGNED,"
-  "  READ_START_LPOS          INT UNSIGNED,"
-  "  READ_END_WRAP            SMALLINT UNSIGNED,"
-  "  READ_END_LPOS            INT UNSIGNED,"
+  "  VID                      VARCHAR2(100)   CONSTRAINT TAPE_FILE_RB_V_NN    NOT NULL,"
+  "  FSEQ                     NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_RB_F_NN    NOT NULL,"
+  "  BLOCK_ID                 NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_RB_BI_NN   NOT NULL,"
+  "  LOGICAL_SIZE_IN_BYTES    NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_RB_CSIB_NN NOT NULL,"
+  "  COPY_NB                  NUMERIC(3, 0)      CONSTRAINT TAPE_FILE_RB_CN_NN   NOT NULL,"
+  "  CREATION_TIME            NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_RB_CT_NN   NOT NULL,"
+  "  ARCHIVE_FILE_ID          NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_RB_AFI_NN  NOT NULL,"
+  "  SUPERSEDED_BY_VID        VARCHAR2(100),"
+  "  SUPERSEDED_BY_FSEQ       NUMERIC(20, 0),"
+  "  WRITE_START_WRAP         NUMERIC(5, 0),"
+  "  WRITE_START_LPOS         NUMERIC(10, 0),"
+  "  WRITE_END_WRAP           NUMERIC(5, 0),"
+  "  WRITE_END_LPOS           NUMERIC(10, 0),"
+  "  READ_START_WRAP          NUMERIC(5, 0),"
+  "  READ_START_LPOS          NUMERIC(10, 0),"
+  "  READ_END_WRAP            NUMERIC(5, 0),"
+  "  READ_END_LPOS            NUMERIC(10, 0),"
   "  CONSTRAINT TAPE_FILE_RB_PK PRIMARY KEY(VID, FSEQ),"
   "  CONSTRAINT TAPE_FILE_RB_TAPE_FK FOREIGN KEY(VID)"
   "    REFERENCES TAPE(VID),"
@@ -4596,10 +4480,11 @@ namespace catalogue{
   "  STATUS)"
   "VALUES("
   "  3,"
-  "  0,"
+  "  1,"
   "  '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 (STATUS='UPGRADING'));"
+  "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;"
       },
   {"sqlite",  "CREATE TABLE ARCHIVE_FILE_ID("
   "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
@@ -4805,6 +4690,7 @@ namespace catalogue{
   "  CONSTRAINT TAPE_MEDIA_TYPE_FK FOREIGN KEY(MEDIA_TYPE_ID) REFERENCES MEDIA_TYPE(MEDIA_TYPE_ID)"
   ");"
   "CREATE INDEX TAPE_TAPE_POOL_ID_IDX ON TAPE(TAPE_POOL_ID);"
+  "CREATE INDEX TAPE_IS_DISABLED_IDX ON TAPE(IS_DISABLED);"
   "CREATE TABLE MOUNT_POLICY("
   "  MOUNT_POLICY_NAME        VARCHAR(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
   "  ARCHIVE_PRIORITY         INTEGER      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
@@ -4969,7 +4855,7 @@ namespace catalogue{
   "  STATUS)"
   "VALUES("
   "  3,"
-  "  0,"
+  "  1,"
   "  'PRODUCTION');"
       },
   {"postgres",  "CREATE SEQUENCE ARCHIVE_FILE_ID_SEQ"
@@ -5200,6 +5086,7 @@ namespace catalogue{
   "  CONSTRAINT TAPE_MEDIA_TYPE_FK FOREIGN KEY(MEDIA_TYPE_ID) REFERENCES MEDIA_TYPE(MEDIA_TYPE_ID)"
   ");"
   "CREATE INDEX TAPE_TAPE_POOL_ID_IDX ON TAPE(TAPE_POOL_ID);"
+  "CREATE INDEX TAPE_IS_DISABLED_IDX ON TAPE(IS_DISABLED);"
   "CREATE TABLE MOUNT_POLICY("
   "  MOUNT_POLICY_NAME        VARCHAR(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
   "  ARCHIVE_PRIORITY         NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
@@ -5364,7 +5251,7 @@ namespace catalogue{
   "  STATUS)"
   "VALUES("
   "  3,"
-  "  0,"
+  "  1,"
   "  'PRODUCTION');"
   "ALTER TABLE ARCHIVE_FILE DROP CONSTRAINT"
   "  ARCHIVE_FILE_DIN_DFI_UN;"
@@ -5374,7 +5261,7 @@ namespace catalogue{
   "  CATALOGUE_STATUS_CONTENT_CK CHECK((NEXT_SCHEMA_VERSION_MAJOR IS NULL AND NEXT_SCHEMA_VERSION_MINOR IS NULL AND STATUS='PRODUCTION') OR (STATUS='UPGRADING'));"
       },
     }  },
-  {"3.1",
+  {"3.2",
     {
       {"oracle",  "CREATE SEQUENCE ARCHIVE_FILE_ID_SEQ"
   "  INCREMENT BY 1"
@@ -5424,6 +5311,14 @@ namespace catalogue{
   "  NOCYCLE"
   "  CACHE 20"
   "  NOORDER;"
+  "CREATE SEQUENCE FILE_RECYCLE_LOG_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NOMAXVALUE"
+  "  MINVALUE 1"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
   "CREATE GLOBAL TEMPORARY TABLE TEMP_TAPE_FILE_INSERTION_BATCH("
   "  VID                   VARCHAR2(100),"
   "  FSEQ                  NUMERIC(20, 0)  ,"
@@ -5474,6 +5369,8 @@ namespace catalogue{
   "CREATE TABLE VIRTUAL_ORGANIZATION("
   "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_VOI_NN  NOT NULL,"
   "  VIRTUAL_ORGANIZATION_NAME VARCHAR2(100)  CONSTRAINT VIRTUAL_ORGANIZATION_VON_NN  NOT NULL,"
+  "  READ_MAX_DRIVES NUMERIC(20, 0),"
+  "  WRITE_MAX_DRIVES NUMERIC(20, 0),"
   "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT VIRTUAL_ORGANIZATION_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLHN_NN NOT NULL,"
@@ -5582,12 +5479,10 @@ namespace catalogue{
   "  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_DISABLED             CHAR(1),"
   "  IS_FULL                 CHAR(1)         CONSTRAINT TAPE_IF_NN   NOT NULL,"
-  "  IS_READ_ONLY            CHAR(1)         CONSTRAINT TAPE_IRO_NN  NOT NULL,"
+  "  IS_READ_ONLY            CHAR(1),"
   "  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,"
   "  NB_COPY_NB_1            NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_1_NN NOT NULL,"
   "  COPY_NB_1_IN_BYTES      NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_1_IN_BYTES_NN NOT NULL,"
@@ -5602,6 +5497,10 @@ namespace catalogue{
   "  READ_MOUNT_COUNT        NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
   "  WRITE_MOUNT_COUNT       NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
   "  USER_COMMENT            VARCHAR2(1000),"
+  "  TAPE_STATE              VARCHAR2(100),"
+  "  STATE_REASON            VARCHAR2(1000),"
+  "  STATE_UPDATE_TIME       NUMERIC(20, 0),"
+  "  STATE_MODIFIED_BY       VARCHAR2(100),"
   "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
@@ -5615,27 +5514,27 @@ namespace catalogue{
   "  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_ARCHVIED_BOOL_CK CHECK(IS_ARCHIVED IN ('0', '1')),"
-  "  CONSTRAINT TAPE_IS_EXPORTED_BOOL_CK CHECK(IS_EXPORTED IN ('0', '1')),"
   "  CONSTRAINT TAPE_DIRTY_BOOL_CK CHECK(DIRTY IN ('0','1')),"
+  "  CONSTRAINT TAPE_STATE_CK CHECK(TAPE_STATE IN ('ACTIVE', 'DISABLED', 'BROKEN')),"
   "  CONSTRAINT TAPE_MEDIA_TYPE_FK FOREIGN KEY(MEDIA_TYPE_ID) REFERENCES MEDIA_TYPE(MEDIA_TYPE_ID)"
   ");"
   "CREATE INDEX TAPE_TAPE_POOL_ID_IDX ON TAPE(TAPE_POOL_ID);"
   "CREATE INDEX TAPE_IS_DISABLED_IDX ON TAPE(IS_DISABLED);"
+  "CREATE INDEX TAPE_STATE_IDX ON TAPE(TAPE_STATE);"
   "CREATE TABLE MOUNT_POLICY("
-  "  MOUNT_POLICY_NAME        VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
-  "  ARCHIVE_PRIORITY         NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
-  "  ARCHIVE_MIN_REQUEST_AGE  NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
-  "  RETRIEVE_PRIORITY        NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
-  "  RETRIEVE_MIN_REQUEST_AGE NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
-  "  MAX_DRIVES_ALLOWED       NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_MDA_NN  NOT NULL,"
-  "  USER_COMMENT             VARCHAR2(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME   VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME   VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME        NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME    VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME    VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME         NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
+  "  MOUNT_POLICY_NAME          VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
+  "  ARCHIVE_PRIORITY           NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
+  "  ARCHIVE_MIN_REQUEST_AGE    NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
+  "  RETRIEVE_PRIORITY          NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
+  "  RETRIEVE_MIN_REQUEST_AGE   NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
+  "  MAX_DRIVES_ALLOWED         NUMERIC(20, 0),"
+  "  USER_COMMENT               VARCHAR2(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME     VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME     VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME          NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME      VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME      VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME           NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
   "  CONSTRAINT MOUNT_POLICY_PK PRIMARY KEY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE REQUESTER_MOUNT_RULE("
@@ -5780,53 +5679,72 @@ namespace catalogue{
   "  CONSTRAINT TAPE_FILE_RB_SS_VID_FSEQ_FK FOREIGN KEY(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ)"
   "    REFERENCES TAPE_FILE_RECYCLE_BIN(VID, FSEQ)"
   ");"
-  "INSERT INTO CTA_CATALOGUE("
-  "  SCHEMA_VERSION_MAJOR,"
-  "  SCHEMA_VERSION_MINOR,"
-  "  STATUS)"
-  "VALUES("
-  "  3,"
-  "  1,"
-  "  '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;"
-      },
-  {"mysql",  "CREATE TABLE ARCHIVE_FILE_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT ARCHIVE_FILE_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO ARCHIVE_FILE_ID(ID) VALUES(1);"
-  "CREATE TABLE LOGICAL_LIBRARY_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT LOGICAL_LIBRARY_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO LOGICAL_LIBRARY_ID(ID) VALUES(1);"
-  "CREATE TABLE MEDIA_TYPE_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT MEDIA_TYPE_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO MEDIA_TYPE_ID(ID) VALUES(1);"
-  "CREATE TABLE STORAGE_CLASS_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT STORAGE_CLASS_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO STORAGE_CLASS_ID(ID) VALUES(1);"
-  "CREATE TABLE TAPE_POOL_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT TAPE_POOL_ID_PK PRIMARY KEY(ID)"
+  "CREATE TABLE FILE_RECYCLE_LOG("
+  "  FILE_RECYCLE_LOG_ID        NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_ID_NN NOT NULL,"
+  "  VID                        VARCHAR2(100)        CONSTRAINT FILE_RECYCLE_LOG_VID_NN NOT NULL,"
+  "  FSEQ                       NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_FSEQ_NN NOT NULL,"
+  "  BLOCK_ID                   NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_BID_NN NOT NULL,"
+  "  COPY_NB                    NUMERIC(3, 0)           CONSTRAINT FILE_RECYCLE_LOG_COPY_NB_NN NOT NULL,"
+  "  TAPE_FILE_CREATION_TIME    NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_TFCT_NN NOT NULL,"
+  "  ARCHIVE_FILE_ID            NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_AFI_NN NOT NULL,"
+  "  DISK_INSTANCE_NAME         VARCHAR2(100)        CONSTRAINT FILE_RECYCLE_LOG_DIN_NN NOT NULL,"
+  "  DISK_FILE_ID               VARCHAR2(100)        CONSTRAINT FILE_RECYCLE_LOG_DFI_NN NOT NULL,"
+  "  DISK_FILE_ID_WHEN_DELETED  VARCHAR2(100)        CONSTRAINT FILE_RECYCLE_LOG_DFIWD_NN NOT NULL,"
+  "  DISK_FILE_UID              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_DFU_NN NOT NULL,"
+  "  DISK_FILE_GID              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_DFG_NN NOT NULL,"
+  "  SIZE_IN_BYTES              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_SIB_NN NOT NULL,"
+  "  CHECKSUM_BLOB              RAW(200),"
+  "  CHECKSUM_ADLER32           NUMERIC(10, 0)          CONSTRAINT FILE_RECYCLE_LOG_CA_NN NOT NULL,"
+  "  STORAGE_CLASS_ID           NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_SCI_NN NOT NULL,"
+  "  ARCHIVE_FILE_CREATION_TIME NUMERIC(20, 0)          CONSTRAINT FILE_RECYLE_LOG_CT_NN NOT NULL,"
+  "  RECONCILIATION_TIME        NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_RT_NN NOT NULL,"
+  "  COLLOCATION_HINT           VARCHAR2(100),"
+  "  DISK_FILE_PATH             VARCHAR2(2000),"
+  "  REASON_LOG                 VARCHAR2(1000)       CONSTRAINT FILE_RECYCLE_LOG_RL_NN NOT NULL,"
+  "  RECYCLE_LOG_TIME           NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_RLT_NN NOT NULL,"
+  "  CONSTRAINT FILE_RECYCLE_LOG_PK PRIMARY KEY(FILE_RECYCLE_LOG_ID),"
+  "  CONSTRAINT FILE_RECYCLE_LOG_VID_FK FOREIGN KEY(VID) REFERENCES TAPE(VID),"
+  "  CONSTRAINT FILE_RECYCLE_LOG_SC_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID)"
+  ");"
+  "CREATE INDEX FILE_RECYCLE_LOG_DFI_IDX ON FILE_RECYCLE_LOG(DISK_FILE_ID);"
+  "INSERT INTO CTA_CATALOGUE("
+  "  SCHEMA_VERSION_MAJOR,"
+  "  SCHEMA_VERSION_MINOR,"
+  "  STATUS)"
+  "VALUES("
+  "  3,"
+  "  2,"
+  "  '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;"
+      },
+  {"sqlite",  "CREATE TABLE ARCHIVE_FILE_ID("
+  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
+  ");"
+  "CREATE TABLE LOGICAL_LIBRARY_ID("
+  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
+  ");"
+  "CREATE TABLE MEDIA_TYPE_ID("
+  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
+  ");"
+  "CREATE TABLE STORAGE_CLASS_ID("
+  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
+  ");"
+  "CREATE TABLE TAPE_POOL_ID("
+  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
   ");"
-  "INSERT INTO TAPE_POOL_ID(ID) VALUES(1);"
   "CREATE TABLE VIRTUAL_ORGANIZATION_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT VIRTUAL_ORGANIZATION_ID_PK PRIMARY KEY(ID)"
+  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
+  ");"
+  "CREATE TABLE FILE_RECYCLE_LOG_ID("
+  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
   ");"
-  "INSERT INTO VIRTUAL_ORGANIZATION_ID(ID) VALUES(1);"
   "CREATE TABLE CTA_CATALOGUE("
-  "  SCHEMA_VERSION_MAJOR    BIGINT UNSIGNED      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
-  "  SCHEMA_VERSION_MINOR    BIGINT UNSIGNED      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
-  "  NEXT_SCHEMA_VERSION_MAJOR BIGINT UNSIGNED,"
-  "  NEXT_SCHEMA_VERSION_MINOR BIGINT UNSIGNED,"
+  "  SCHEMA_VERSION_MAJOR    INTEGER      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
+  "  SCHEMA_VERSION_MINOR    INTEGER      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
+  "  NEXT_SCHEMA_VERSION_MAJOR INTEGER,"
+  "  NEXT_SCHEMA_VERSION_MINOR INTEGER,"
   "  STATUS                  VARCHAR(100),"
   "  IS_PRODUCTION           CHAR(1)         DEFAULT '0' CONSTRAINT CTA_CATALOGUE_IP_NN NOT NULL,"
   "  CONSTRAINT CTA_CATALOGUE_IP_BOOL_CK     CHECK(IS_PRODUCTION IN ('0','1'))"
@@ -5836,87 +5754,89 @@ namespace catalogue{
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
   "  CONSTRAINT ADMIN_USER_PK PRIMARY KEY(ADMIN_USER_NAME)"
   ");"
   "CREATE TABLE DISK_SYSTEM("
   "  DISK_SYSTEM_NAME        VARCHAR(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
   "  FILE_REGEXP             VARCHAR(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
   "  FREE_SPACE_QUERY_URL    VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
-  "  REFRESH_INTERVAL        BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
-  "  TARGETED_FREE_SPACE     BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
-  "  SLEEP_TIME              BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
+  "  REFRESH_INTERVAL        INTEGER      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
+  "  TARGETED_FREE_SPACE     INTEGER      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
+  "  SLEEP_TIME              INTEGER      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
   "  CONSTRAINT NAME_PK PRIMARY KEY(DISK_SYSTEM_NAME)"
   ");"
   "CREATE TABLE VIRTUAL_ORGANIZATION("
-  "  VIRTUAL_ORGANIZATION_ID BIGINT UNSIGNED      CONSTRAINT VIRTUAL_ORGANIZATION_VOI_NN  NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID INTEGER      CONSTRAINT VIRTUAL_ORGANIZATION_VOI_NN  NOT NULL,"
   "  VIRTUAL_ORGANIZATION_NAME VARCHAR(100)  CONSTRAINT VIRTUAL_ORGANIZATION_VON_NN  NOT NULL,"
+  "  READ_MAX_DRIVES INTEGER,"
+  "  WRITE_MAX_DRIVES INTEGER,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT VIRTUAL_ORGANIZATION_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT VIRTUAL_ORGANIZATION_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT VIRTUAL_ORGANIZATION_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT VIRTUAL_ORGANIZATION_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT VIRTUAL_ORGANIZATION_LUT_NN  NOT NULL,"
   "  CONSTRAINT VIRTUAL_ORGANIZATION_PK PRIMARY KEY(VIRTUAL_ORGANIZATION_ID),"
   "  CONSTRAINT VIRTUAL_ORGANIZATION_VON_UN UNIQUE(VIRTUAL_ORGANIZATION_NAME)"
   ");"
   "CREATE TABLE STORAGE_CLASS("
-  "  STORAGE_CLASS_ID        BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
   "  STORAGE_CLASS_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
-  "  NB_COPIES               TINYINT UNSIGNED       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,"
+  "  NB_COPIES               INTEGER       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID INTEGER      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT STORAGE_CLASS_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
   "  CONSTRAINT STORAGE_CLASS_PK PRIMARY KEY(STORAGE_CLASS_ID),"
   "  CONSTRAINT STORAGE_CLASS_SCN_UN UNIQUE(STORAGE_CLASS_NAME),"
   "  CONSTRAINT STORAGE_CLASS_VOI_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
   ");"
   "CREATE TABLE TAPE_POOL("
-  "  TAPE_POOL_ID            BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
+  "  TAPE_POOL_ID            INTEGER      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
   "  TAPE_POOL_NAME          VARCHAR(100)    CONSTRAINT TAPE_POOL_TPN_NN  NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_VOI_NN  NOT NULL,"
-  "  NB_PARTIAL_TAPES        BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID INTEGER      CONSTRAINT TAPE_POOL_VOI_NN  NOT NULL,"
+  "  NB_PARTIAL_TAPES        INTEGER      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
   "  IS_ENCRYPTED            CHAR(1)         CONSTRAINT TAPE_POOL_IE_NN   NOT NULL,"
   "  SUPPLY                  VARCHAR(100),"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT TAPE_POOL_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
   "  CONSTRAINT TAPE_POOL_PK PRIMARY KEY(TAPE_POOL_ID),"
   "  CONSTRAINT TAPE_POOL_TPN_UN UNIQUE(TAPE_POOL_NAME),"
   "  CONSTRAINT TAPE_POOL_IS_ENCRYPTED_BOOL_CK CHECK(IS_ENCRYPTED IN ('0', '1')),"
   "  CONSTRAINT TAPE_POOL_VO_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
   ");"
   "CREATE TABLE ARCHIVE_ROUTE("
-  "  STORAGE_CLASS_ID        BIGINT UNSIGNED      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
-  "  COPY_NB                 TINYINT UNSIGNED       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
-  "  TAPE_POOL_ID            BIGINT UNSIGNED      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
+  "  COPY_NB                 INTEGER       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
+  "  TAPE_POOL_ID            INTEGER      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ARCHIVE_ROUTE_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
   "  CONSTRAINT ARCHIVE_ROUTE_PK PRIMARY KEY(STORAGE_CLASS_ID, COPY_NB),"
   "  CONSTRAINT ARCHIVE_ROUTE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
   "  CONSTRAINT ARCHIVE_ROUTE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
@@ -5924,77 +5844,79 @@ namespace catalogue{
   "  CONSTRAINT ARCHIVE_ROUTE_SCI_TPI_UN UNIQUE(STORAGE_CLASS_ID, TAPE_POOL_ID)"
   ");"
   "CREATE TABLE MEDIA_TYPE("
-  "  MEDIA_TYPE_ID          BIGINT UNSIGNED    CONSTRAINT MEDIA_TYPE_MTI_NN  NOT NULL,"
+  "  MEDIA_TYPE_ID          INTEGER    CONSTRAINT MEDIA_TYPE_MTI_NN  NOT NULL,"
   "  MEDIA_TYPE_NAME        VARCHAR(100)  CONSTRAINT MEDIA_TYPE_MTN_NN  NOT NULL,"
   "  CARTRIDGE              VARCHAR(100)  CONSTRAINT MEDIA_TYPE_C_NN    NOT NULL,"
-  "  CAPACITY_IN_BYTES      BIGINT UNSIGNED    CONSTRAINT MEDIA_TYPE_CIB_NN  NOT NULL,"
-  "  PRIMARY_DENSITY_CODE   TINYINT UNSIGNED,"
-  "  SECONDARY_DENSITY_CODE TINYINT UNSIGNED,"
-  "  NB_WRAPS               INT UNSIGNED,"
-  "  MIN_LPOS               BIGINT UNSIGNED,"
-  "  MAX_LPOS               BIGINT UNSIGNED,"
+  "  CAPACITY_IN_BYTES      INTEGER    CONSTRAINT MEDIA_TYPE_CIB_NN  NOT NULL,"
+  "  PRIMARY_DENSITY_CODE   INTEGER,"
+  "  SECONDARY_DENSITY_CODE INTEGER,"
+  "  NB_WRAPS               INTEGER,"
+  "  MIN_LPOS               INTEGER,"
+  "  MAX_LPOS               INTEGER,"
   "  USER_COMMENT           VARCHAR(1000) CONSTRAINT MEDIA_TYPE_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME VARCHAR(100)  CONSTRAINT MEDIA_TYPE_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME VARCHAR(100)  CONSTRAINT MEDIA_TYPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      BIGINT UNSIGNED    CONSTRAINT MEDIA_TYPE_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME      INTEGER    CONSTRAINT MEDIA_TYPE_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME  VARCHAR(100)  CONSTRAINT MEDIA_TYPE_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME  VARCHAR(100)  CONSTRAINT MEDIA_TYPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       BIGINT UNSIGNED    CONSTRAINT MEDIA_TYPE_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME       INTEGER    CONSTRAINT MEDIA_TYPE_LUT_NN  NOT NULL,"
   "  CONSTRAINT MEDIA_TYPE_PK PRIMARY KEY(MEDIA_TYPE_ID),"
   "  CONSTRAINT MEDIA_TYPE_MTN_UN UNIQUE(MEDIA_TYPE_NAME)"
   ");"
   "CREATE TABLE LOGICAL_LIBRARY("
-  "  LOGICAL_LIBRARY_ID      BIGINT UNSIGNED      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
+  "  LOGICAL_LIBRARY_ID      INTEGER      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
   "  LOGICAL_LIBRARY_NAME    VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LLN_NN  NOT NULL,"
   "  IS_DISABLED             CHAR(1)         DEFAULT '0' CONSTRAINT LOGICAL_LIBRARY_ID_NN NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT LOGICAL_LIBRARY_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
   "  CONSTRAINT LOGICAL_LIBRARY_PK PRIMARY KEY(LOGICAL_LIBRARY_ID),"
   "  CONSTRAINT LOGICAL_LIBRARY_LLN_UN UNIQUE(LOGICAL_LIBRARY_NAME),"
   "  CONSTRAINT LOGICAL_LIBRARY_ID_BOOL_CK CHECK(IS_DISABLED IN ('0', '1'))"
   ");"
   "CREATE TABLE TAPE("
   "  VID                     VARCHAR(100)    CONSTRAINT TAPE_V_NN    NOT NULL,"
-  "  MEDIA_TYPE_ID           BIGINT UNSIGNED      CONSTRAINT TAPE_MTID_NN   NOT NULL,"
+  "  MEDIA_TYPE_ID           INTEGER      CONSTRAINT TAPE_MTID_NN   NOT NULL,"
   "  VENDOR                  VARCHAR(100)    CONSTRAINT TAPE_V2_NN   NOT NULL,"
-  "  LOGICAL_LIBRARY_ID      BIGINT UNSIGNED      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
-  "  TAPE_POOL_ID            BIGINT UNSIGNED      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
+  "  LOGICAL_LIBRARY_ID      INTEGER      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
+  "  TAPE_POOL_ID            INTEGER      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
   "  ENCRYPTION_KEY_NAME     VARCHAR(100),"
-  "  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,"
+  "  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),"
   "  IS_FULL                 CHAR(1)         CONSTRAINT TAPE_IF_NN   NOT NULL,"
-  "  IS_READ_ONLY            CHAR(1)         CONSTRAINT TAPE_IRO_NN  NOT NULL,"
+  "  IS_READ_ONLY            CHAR(1),"
   "  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,"
-  "  NB_COPY_NB_1            BIGINT UNSIGNED     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_1_NN NOT NULL,"
-  "  COPY_NB_1_IN_BYTES      BIGINT UNSIGNED     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_1_IN_BYTES_NN NOT NULL,"
-  "  NB_COPY_NB_GT_1         BIGINT UNSIGNED     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_GT_1_NN NOT NULL,"
-  "  COPY_NB_GT_1_IN_BYTES   BIGINT UNSIGNED     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_GT_1_IN_BYTES_NN NOT NULL,"
+  "  NB_COPY_NB_1            INTEGER     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_1_NN NOT NULL,"
+  "  COPY_NB_1_IN_BYTES      INTEGER     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_1_IN_BYTES_NN NOT NULL,"
+  "  NB_COPY_NB_GT_1         INTEGER     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_GT_1_NN NOT NULL,"
+  "  COPY_NB_GT_1_IN_BYTES   INTEGER     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_GT_1_IN_BYTES_NN NOT NULL,"
   "  LABEL_DRIVE             VARCHAR(100),"
-  "  LABEL_TIME              BIGINT UNSIGNED    ,"
+  "  LABEL_TIME              INTEGER    ,"
   "  LAST_READ_DRIVE         VARCHAR(100),"
-  "  LAST_READ_TIME          BIGINT UNSIGNED    ,"
+  "  LAST_READ_TIME          INTEGER    ,"
   "  LAST_WRITE_DRIVE        VARCHAR(100),"
-  "  LAST_WRITE_TIME         BIGINT UNSIGNED    ,"
-  "  READ_MOUNT_COUNT        BIGINT UNSIGNED      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
-  "  WRITE_MOUNT_COUNT       BIGINT UNSIGNED      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
+  "  LAST_WRITE_TIME         INTEGER    ,"
+  "  READ_MOUNT_COUNT        INTEGER      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
+  "  WRITE_MOUNT_COUNT       INTEGER      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000),"
+  "  TAPE_STATE              VARCHAR(100),"
+  "  STATE_REASON            VARCHAR(1000),"
+  "  STATE_UPDATE_TIME       INTEGER,"
+  "  STATE_MODIFIED_BY       VARCHAR(100),"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
   "  CONSTRAINT TAPE_PK PRIMARY KEY(VID),"
   "  CONSTRAINT TAPE_LOGICAL_LIBRARY_FK FOREIGN KEY(LOGICAL_LIBRARY_ID) REFERENCES LOGICAL_LIBRARY(LOGICAL_LIBRARY_ID),"
   "  CONSTRAINT TAPE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
@@ -6002,27 +5924,27 @@ namespace catalogue{
   "  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_ARCHVIED_BOOL_CK CHECK(IS_ARCHIVED IN ('0', '1')),"
-  "  CONSTRAINT TAPE_IS_EXPORTED_BOOL_CK CHECK(IS_EXPORTED IN ('0', '1')),"
   "  CONSTRAINT TAPE_DIRTY_BOOL_CK CHECK(DIRTY IN ('0','1')),"
+  "  CONSTRAINT TAPE_STATE_CK CHECK(TAPE_STATE IN ('ACTIVE', 'DISABLED', 'BROKEN')),"
   "  CONSTRAINT TAPE_MEDIA_TYPE_FK FOREIGN KEY(MEDIA_TYPE_ID) REFERENCES MEDIA_TYPE(MEDIA_TYPE_ID)"
   ");"
   "CREATE INDEX TAPE_TAPE_POOL_ID_IDX ON TAPE(TAPE_POOL_ID);"
   "CREATE INDEX TAPE_IS_DISABLED_IDX ON TAPE(IS_DISABLED);"
+  "CREATE INDEX TAPE_STATE_IDX ON TAPE(TAPE_STATE);"
   "CREATE TABLE MOUNT_POLICY("
-  "  MOUNT_POLICY_NAME        VARCHAR(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
-  "  ARCHIVE_PRIORITY         BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
-  "  ARCHIVE_MIN_REQUEST_AGE  BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
-  "  RETRIEVE_PRIORITY        BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
-  "  RETRIEVE_MIN_REQUEST_AGE BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
-  "  MAX_DRIVES_ALLOWED       BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_MDA_NN  NOT NULL,"
-  "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME        BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME         BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
+  "  MOUNT_POLICY_NAME          VARCHAR(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
+  "  ARCHIVE_PRIORITY           INTEGER      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
+  "  ARCHIVE_MIN_REQUEST_AGE    INTEGER      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
+  "  RETRIEVE_PRIORITY          INTEGER      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
+  "  RETRIEVE_MIN_REQUEST_AGE   INTEGER      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
+  "  MAX_DRIVES_ALLOWED         INTEGER,"
+  "  USER_COMMENT               VARCHAR(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME     VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME     VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME          INTEGER      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME      VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME      VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME           INTEGER      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
   "  CONSTRAINT MOUNT_POLICY_PK PRIMARY KEY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE REQUESTER_MOUNT_RULE("
@@ -6032,10 +5954,10 @@ namespace catalogue{
   "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_RULE_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      BIGINT UNSIGNED      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME      INTEGER      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       BIGINT UNSIGNED      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME       INTEGER      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
   "  CONSTRAINT RQSTER_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_NAME),"
   "  CONSTRAINT RQSTER_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
   "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
@@ -6047,26 +5969,26 @@ namespace catalogue{
   "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_GRP_RULE_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      BIGINT UNSIGNED      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME      INTEGER      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       BIGINT UNSIGNED      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME       INTEGER      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
   "  CONSTRAINT RQSTER_GRP_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_GROUP_NAME),"
   "  CONSTRAINT RQSTER_GRP_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
   "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE ARCHIVE_FILE("
-  "  ARCHIVE_FILE_ID         BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
+  "  ARCHIVE_FILE_ID         INTEGER      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
   "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DIN_NN  NOT NULL,"
   "  DISK_FILE_ID            VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DFI_NN  NOT NULL,"
-  "  DISK_FILE_UID           INT UNSIGNED      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
-  "  DISK_FILE_GID           INT UNSIGNED      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
-  "  SIZE_IN_BYTES           BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
-  "  CHECKSUM_BLOB           VARBINARY(200),"
-  "  CHECKSUM_ADLER32        INT UNSIGNED      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
-  "  STORAGE_CLASS_ID        BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
-  "  CREATION_TIME           BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
-  "  RECONCILIATION_TIME     BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
+  "  DISK_FILE_UID           INTEGER      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
+  "  DISK_FILE_GID           INTEGER      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
+  "  SIZE_IN_BYTES           INTEGER      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
+  "  CHECKSUM_BLOB           BLOB(200),"
+  "  CHECKSUM_ADLER32        INTEGER      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
+  "  CREATION_TIME           INTEGER      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
+  "  RECONCILIATION_TIME     INTEGER      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
   "  IS_DELETED              CHAR(1)         DEFAULT '0' CONSTRAINT ARCHIVE_FILE_ID_NN NOT NULL,"
   "  COLLOCATION_HINT        VARCHAR(100),"
   "  CONSTRAINT ARCHIVE_FILE_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
@@ -6078,22 +6000,22 @@ namespace catalogue{
   "CREATE INDEX ARCHIVE_FILE_DFI_IDX ON ARCHIVE_FILE(DISK_FILE_ID);"
   "CREATE TABLE TAPE_FILE("
   "  VID                      VARCHAR(100)   CONSTRAINT TAPE_FILE_V_NN    NOT NULL,"
-  "  FSEQ                     BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
-  "  BLOCK_ID                 BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
-  "  LOGICAL_SIZE_IN_BYTES    BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
-  "  COPY_NB                  TINYINT UNSIGNED      CONSTRAINT TAPE_FILE_CN_NN   NOT NULL,"
-  "  CREATION_TIME            BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_CT_NN   NOT NULL,"
-  "  ARCHIVE_FILE_ID          BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_AFI_NN  NOT NULL,"
+  "  FSEQ                     INTEGER     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
+  "  BLOCK_ID                 INTEGER     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
+  "  LOGICAL_SIZE_IN_BYTES    INTEGER     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
+  "  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,"
   "  SUPERSEDED_BY_VID        VARCHAR(100),"
-  "  SUPERSEDED_BY_FSEQ       BIGINT UNSIGNED    ,"
-  "  WRITE_START_WRAP         SMALLINT UNSIGNED,"
-  "  WRITE_START_LPOS         INT UNSIGNED,"
-  "  WRITE_END_WRAP           SMALLINT UNSIGNED,"
-  "  WRITE_END_LPOS           INT UNSIGNED,"
-  "  READ_START_WRAP          SMALLINT UNSIGNED,"
-  "  READ_START_LPOS          INT UNSIGNED,"
-  "  READ_END_WRAP            SMALLINT UNSIGNED,"
-  "  READ_END_LPOS            INT UNSIGNED,"
+  "  SUPERSEDED_BY_FSEQ       INTEGER    ,"
+  "  WRITE_START_WRAP         INTEGER,"
+  "  WRITE_START_LPOS         INTEGER,"
+  "  WRITE_END_WRAP           INTEGER,"
+  "  WRITE_END_LPOS           INTEGER,"
+  "  READ_START_WRAP          INTEGER,"
+  "  READ_START_LPOS          INTEGER,"
+  "  READ_END_WRAP            INTEGER,"
+  "  READ_END_LPOS            INTEGER,"
   "  CONSTRAINT TAPE_FILE_PK PRIMARY KEY(VID, FSEQ),"
   "  CONSTRAINT TAPE_FILE_TAPE_FK FOREIGN KEY(VID)"
   "    REFERENCES TAPE(VID),"
@@ -6114,49 +6036,49 @@ namespace catalogue{
   "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT ACTIV_WEIGHTS_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME        BIGINT UNSIGNED      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME        INTEGER      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME         BIGINT UNSIGNED      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
+  "  LAST_UPDATE_TIME         INTEGER      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
   ");"
   "CREATE TABLE ARCHIVE_FILE_RECYCLE_BIN("
-  "  ARCHIVE_FILE_ID         BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_RB_AFI_NN  NOT NULL,"
+  "  ARCHIVE_FILE_ID         INTEGER      CONSTRAINT ARCHIVE_FILE_RB_AFI_NN  NOT NULL,"
   "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_RB_DIN_NN  NOT NULL,"
   "  DISK_FILE_ID            VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_RB_DFI_NN  NOT NULL,"
   "  DISK_FILE_ID_WHEN_DELETED VARCHAR(100)  CONSTRAINT ARCHIVE_FILE_RB_DFIWD_NN NOT NULL,"
-  "  DISK_FILE_UID           INT UNSIGNED      CONSTRAINT ARCHIVE_FILE_RB_DFUID_NN  NOT NULL,"
-  "  DISK_FILE_GID           INT UNSIGNED      CONSTRAINT ARCHIVE_FILE_RB_DFGID_NN  NOT NULL,"
-  "  SIZE_IN_BYTES           BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_RB_SIB_NN  NOT NULL,"
-  "  CHECKSUM_BLOB           VARBINARY(200),"
-  "  CHECKSUM_ADLER32        INT UNSIGNED      CONSTRAINT ARCHIVE_FILE_RB_CB2_NN  NOT NULL,"
-  "  STORAGE_CLASS_ID        BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_RB_SCI_NN  NOT NULL,"
-  "  CREATION_TIME           BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_RB_CT2_NN  NOT NULL,"
-  "  RECONCILIATION_TIME     BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_RB_RT_NN   NOT NULL,"
+  "  DISK_FILE_UID           INTEGER      CONSTRAINT ARCHIVE_FILE_RB_DFUID_NN  NOT NULL,"
+  "  DISK_FILE_GID           INTEGER      CONSTRAINT ARCHIVE_FILE_RB_DFGID_NN  NOT NULL,"
+  "  SIZE_IN_BYTES           INTEGER      CONSTRAINT ARCHIVE_FILE_RB_SIB_NN  NOT NULL,"
+  "  CHECKSUM_BLOB           BLOB(200),"
+  "  CHECKSUM_ADLER32        INTEGER      CONSTRAINT ARCHIVE_FILE_RB_CB2_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT ARCHIVE_FILE_RB_SCI_NN  NOT NULL,"
+  "  CREATION_TIME           INTEGER      CONSTRAINT ARCHIVE_FILE_RB_CT2_NN  NOT NULL,"
+  "  RECONCILIATION_TIME     INTEGER      CONSTRAINT ARCHIVE_FILE_RB_RT_NN   NOT NULL,"
   "  COLLOCATION_HINT        VARCHAR(100),"
   "  DISK_FILE_PATH          VARCHAR(2000) CONSTRAINT ARCHIVE_FILE_RB_DFP_NN NOT NULL,"
-  "  DELETION_TIME           BIGINT UNSIGNED    CONSTRAINT ARCHIVE_FILE_RB_DT_NN NOT NULL,"
+  "  DELETION_TIME           INTEGER    CONSTRAINT ARCHIVE_FILE_RB_DT_NN NOT NULL,"
   "  CONSTRAINT ARCHIVE_FILE_RB_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
   "  CONSTRAINT ARCHIVE_FILE_RB_SC_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
   "  CONSTRAINT ARCHIVE_FILE_RB_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID)"
   ");"
   "CREATE TABLE TAPE_FILE_RECYCLE_BIN("
   "  VID                      VARCHAR(100)   CONSTRAINT TAPE_FILE_RB_V_NN    NOT NULL,"
-  "  FSEQ                     BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_RB_F_NN    NOT NULL,"
-  "  BLOCK_ID                 BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_RB_BI_NN   NOT NULL,"
-  "  LOGICAL_SIZE_IN_BYTES    BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_RB_CSIB_NN NOT NULL,"
-  "  COPY_NB                  TINYINT UNSIGNED      CONSTRAINT TAPE_FILE_RB_CN_NN   NOT NULL,"
-  "  CREATION_TIME            BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_RB_CT_NN   NOT NULL,"
-  "  ARCHIVE_FILE_ID          BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_RB_AFI_NN  NOT NULL,"
+  "  FSEQ                     INTEGER     CONSTRAINT TAPE_FILE_RB_F_NN    NOT NULL,"
+  "  BLOCK_ID                 INTEGER     CONSTRAINT TAPE_FILE_RB_BI_NN   NOT NULL,"
+  "  LOGICAL_SIZE_IN_BYTES    INTEGER     CONSTRAINT TAPE_FILE_RB_CSIB_NN NOT NULL,"
+  "  COPY_NB                  INTEGER      CONSTRAINT TAPE_FILE_RB_CN_NN   NOT NULL,"
+  "  CREATION_TIME            INTEGER     CONSTRAINT TAPE_FILE_RB_CT_NN   NOT NULL,"
+  "  ARCHIVE_FILE_ID          INTEGER     CONSTRAINT TAPE_FILE_RB_AFI_NN  NOT NULL,"
   "  SUPERSEDED_BY_VID        VARCHAR(100),"
-  "  SUPERSEDED_BY_FSEQ       BIGINT UNSIGNED,"
-  "  WRITE_START_WRAP         SMALLINT UNSIGNED,"
-  "  WRITE_START_LPOS         INT UNSIGNED,"
-  "  WRITE_END_WRAP           SMALLINT UNSIGNED,"
-  "  WRITE_END_LPOS           INT UNSIGNED,"
-  "  READ_START_WRAP          SMALLINT UNSIGNED,"
-  "  READ_START_LPOS          INT UNSIGNED,"
-  "  READ_END_WRAP            SMALLINT UNSIGNED,"
-  "  READ_END_LPOS            INT UNSIGNED,"
+  "  SUPERSEDED_BY_FSEQ       INTEGER,"
+  "  WRITE_START_WRAP         INTEGER,"
+  "  WRITE_START_LPOS         INTEGER,"
+  "  WRITE_END_WRAP           INTEGER,"
+  "  WRITE_END_LPOS           INTEGER,"
+  "  READ_START_WRAP          INTEGER,"
+  "  READ_START_LPOS          INTEGER,"
+  "  READ_END_WRAP            INTEGER,"
+  "  READ_END_LPOS            INTEGER,"
   "  CONSTRAINT TAPE_FILE_RB_PK PRIMARY KEY(VID, FSEQ),"
   "  CONSTRAINT TAPE_FILE_RB_TAPE_FK FOREIGN KEY(VID)"
   "    REFERENCES TAPE(VID),"
@@ -6167,40 +6089,97 @@ namespace catalogue{
   "  CONSTRAINT TAPE_FILE_RB_SS_VID_FSEQ_FK FOREIGN KEY(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ)"
   "    REFERENCES TAPE_FILE_RECYCLE_BIN(VID, FSEQ)"
   ");"
+  "CREATE TABLE FILE_RECYCLE_LOG("
+  "  FILE_RECYCLE_LOG_ID        INTEGER          CONSTRAINT FILE_RECYCLE_LOG_ID_NN NOT NULL,"
+  "  VID                        VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_VID_NN NOT NULL,"
+  "  FSEQ                       INTEGER          CONSTRAINT FILE_RECYCLE_LOG_FSEQ_NN NOT NULL,"
+  "  BLOCK_ID                   INTEGER          CONSTRAINT FILE_RECYCLE_LOG_BID_NN NOT NULL,"
+  "  COPY_NB                    INTEGER           CONSTRAINT FILE_RECYCLE_LOG_COPY_NB_NN NOT NULL,"
+  "  TAPE_FILE_CREATION_TIME    INTEGER          CONSTRAINT FILE_RECYCLE_LOG_TFCT_NN NOT NULL,"
+  "  ARCHIVE_FILE_ID            INTEGER          CONSTRAINT FILE_RECYCLE_LOG_AFI_NN NOT NULL,"
+  "  DISK_INSTANCE_NAME         VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DIN_NN NOT NULL,"
+  "  DISK_FILE_ID               VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DFI_NN NOT NULL,"
+  "  DISK_FILE_ID_WHEN_DELETED  VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DFIWD_NN NOT NULL,"
+  "  DISK_FILE_UID              INTEGER          CONSTRAINT FILE_RECYCLE_LOG_DFU_NN NOT NULL,"
+  "  DISK_FILE_GID              INTEGER          CONSTRAINT FILE_RECYCLE_LOG_DFG_NN NOT NULL,"
+  "  SIZE_IN_BYTES              INTEGER          CONSTRAINT FILE_RECYCLE_LOG_SIB_NN NOT NULL,"
+  "  CHECKSUM_BLOB              BLOB(200),"
+  "  CHECKSUM_ADLER32           INTEGER          CONSTRAINT FILE_RECYCLE_LOG_CA_NN NOT NULL,"
+  "  STORAGE_CLASS_ID           INTEGER          CONSTRAINT FILE_RECYCLE_LOG_SCI_NN NOT NULL,"
+  "  ARCHIVE_FILE_CREATION_TIME INTEGER          CONSTRAINT FILE_RECYLE_LOG_CT_NN NOT NULL,"
+  "  RECONCILIATION_TIME        INTEGER          CONSTRAINT FILE_RECYCLE_LOG_RT_NN NOT NULL,"
+  "  COLLOCATION_HINT           VARCHAR(100),"
+  "  DISK_FILE_PATH             VARCHAR(2000),"
+  "  REASON_LOG                 VARCHAR(1000)       CONSTRAINT FILE_RECYCLE_LOG_RL_NN NOT NULL,"
+  "  RECYCLE_LOG_TIME           INTEGER          CONSTRAINT FILE_RECYCLE_LOG_RLT_NN NOT NULL,"
+  "  CONSTRAINT FILE_RECYCLE_LOG_PK PRIMARY KEY(FILE_RECYCLE_LOG_ID),"
+  "  CONSTRAINT FILE_RECYCLE_LOG_VID_FK FOREIGN KEY(VID) REFERENCES TAPE(VID),"
+  "  CONSTRAINT FILE_RECYCLE_LOG_SC_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID)"
+  ");"
+  "CREATE INDEX FILE_RECYCLE_LOG_DFI_IDX ON FILE_RECYCLE_LOG(DISK_FILE_ID);"
   "INSERT INTO CTA_CATALOGUE("
   "  SCHEMA_VERSION_MAJOR,"
   "  SCHEMA_VERSION_MINOR,"
   "  STATUS)"
   "VALUES("
   "  3,"
-  "  1,"
+  "  2,"
   "  '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 (STATUS='UPGRADING'));"
       },
-  {"sqlite",  "CREATE TABLE ARCHIVE_FILE_ID("
-  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
-  ");"
-  "CREATE TABLE LOGICAL_LIBRARY_ID("
-  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
-  ");"
-  "CREATE TABLE MEDIA_TYPE_ID("
-  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
-  ");"
-  "CREATE TABLE STORAGE_CLASS_ID("
-  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
-  ");"
-  "CREATE TABLE TAPE_POOL_ID("
-  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
-  ");"
-  "CREATE TABLE VIRTUAL_ORGANIZATION_ID("
-  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
-  ");"
+  {"postgres",  "CREATE SEQUENCE ARCHIVE_FILE_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NO MAXVALUE"
+  "  MINVALUE 1"
+  "  NO CYCLE"
+  "  CACHE 20;"
+  "CREATE SEQUENCE LOGICAL_LIBRARY_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NO MAXVALUE"
+  "  MINVALUE 1"
+  "  NO CYCLE"
+  "  CACHE 20;"
+  "CREATE SEQUENCE MEDIA_TYPE_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NO MAXVALUE"
+  "  MINVALUE 1"
+  "  NO CYCLE"
+  "  CACHE 20;"
+  "CREATE SEQUENCE STORAGE_CLASS_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NO MAXVALUE"
+  "  MINVALUE 1"
+  "  NO CYCLE"
+  "  CACHE 20;"
+  "CREATE SEQUENCE TAPE_POOL_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NO MAXVALUE"
+  "  MINVALUE 1"
+  "  NO CYCLE"
+  "  CACHE 20;"
+  "CREATE SEQUENCE VIRTUAL_ORGANIZATION_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NO MAXVALUE"
+  "  MINVALUE 1"
+  "  NO CYCLE"
+  "  CACHE 20;"
+  "CREATE SEQUENCE FILE_RECYCLE_LOG_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NO MAXVALUE"
+  "  MINVALUE 1"
+  "  NO CYCLE"
+  "  CACHE 20;"
   "CREATE TABLE CTA_CATALOGUE("
-  "  SCHEMA_VERSION_MAJOR    INTEGER      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
-  "  SCHEMA_VERSION_MINOR    INTEGER      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
-  "  NEXT_SCHEMA_VERSION_MAJOR INTEGER,"
-  "  NEXT_SCHEMA_VERSION_MINOR INTEGER,"
+  "  SCHEMA_VERSION_MAJOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
+  "  SCHEMA_VERSION_MINOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
+  "  NEXT_SCHEMA_VERSION_MAJOR NUMERIC(20, 0),"
+  "  NEXT_SCHEMA_VERSION_MINOR NUMERIC(20, 0),"
   "  STATUS                  VARCHAR(100),"
   "  IS_PRODUCTION           CHAR(1)         DEFAULT '0' CONSTRAINT CTA_CATALOGUE_IP_NN NOT NULL,"
   "  CONSTRAINT CTA_CATALOGUE_IP_BOOL_CK     CHECK(IS_PRODUCTION IN ('0','1'))"
@@ -6210,87 +6189,89 @@ namespace catalogue{
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
   "  CONSTRAINT ADMIN_USER_PK PRIMARY KEY(ADMIN_USER_NAME)"
   ");"
   "CREATE TABLE DISK_SYSTEM("
   "  DISK_SYSTEM_NAME        VARCHAR(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
   "  FILE_REGEXP             VARCHAR(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
   "  FREE_SPACE_QUERY_URL    VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
-  "  REFRESH_INTERVAL        INTEGER      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
-  "  TARGETED_FREE_SPACE     INTEGER      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
-  "  SLEEP_TIME              INTEGER      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
+  "  REFRESH_INTERVAL        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
+  "  TARGETED_FREE_SPACE     NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
+  "  SLEEP_TIME              NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
   "  CONSTRAINT NAME_PK PRIMARY KEY(DISK_SYSTEM_NAME)"
   ");"
   "CREATE TABLE VIRTUAL_ORGANIZATION("
-  "  VIRTUAL_ORGANIZATION_ID INTEGER      CONSTRAINT VIRTUAL_ORGANIZATION_VOI_NN  NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_VOI_NN  NOT NULL,"
   "  VIRTUAL_ORGANIZATION_NAME VARCHAR(100)  CONSTRAINT VIRTUAL_ORGANIZATION_VON_NN  NOT NULL,"
+  "  READ_MAX_DRIVES NUMERIC(20, 0),"
+  "  WRITE_MAX_DRIVES NUMERIC(20, 0),"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT VIRTUAL_ORGANIZATION_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT VIRTUAL_ORGANIZATION_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT VIRTUAL_ORGANIZATION_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_LUT_NN  NOT NULL,"
   "  CONSTRAINT VIRTUAL_ORGANIZATION_PK PRIMARY KEY(VIRTUAL_ORGANIZATION_ID),"
   "  CONSTRAINT VIRTUAL_ORGANIZATION_VON_UN UNIQUE(VIRTUAL_ORGANIZATION_NAME)"
   ");"
   "CREATE TABLE STORAGE_CLASS("
-  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
   "  STORAGE_CLASS_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
-  "  NB_COPIES               INTEGER       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID INTEGER      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,"
+  "  NB_COPIES               NUMERIC(3, 0)       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT STORAGE_CLASS_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
   "  CONSTRAINT STORAGE_CLASS_PK PRIMARY KEY(STORAGE_CLASS_ID),"
   "  CONSTRAINT STORAGE_CLASS_SCN_UN UNIQUE(STORAGE_CLASS_NAME),"
   "  CONSTRAINT STORAGE_CLASS_VOI_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
   ");"
   "CREATE TABLE TAPE_POOL("
-  "  TAPE_POOL_ID            INTEGER      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
+  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
   "  TAPE_POOL_NAME          VARCHAR(100)    CONSTRAINT TAPE_POOL_TPN_NN  NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID INTEGER      CONSTRAINT TAPE_POOL_VOI_NN  NOT NULL,"
-  "  NB_PARTIAL_TAPES        INTEGER      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_VOI_NN  NOT NULL,"
+  "  NB_PARTIAL_TAPES        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
   "  IS_ENCRYPTED            CHAR(1)         CONSTRAINT TAPE_POOL_IE_NN   NOT NULL,"
   "  SUPPLY                  VARCHAR(100),"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT TAPE_POOL_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
   "  CONSTRAINT TAPE_POOL_PK PRIMARY KEY(TAPE_POOL_ID),"
   "  CONSTRAINT TAPE_POOL_TPN_UN UNIQUE(TAPE_POOL_NAME),"
   "  CONSTRAINT TAPE_POOL_IS_ENCRYPTED_BOOL_CK CHECK(IS_ENCRYPTED IN ('0', '1')),"
   "  CONSTRAINT TAPE_POOL_VO_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
   ");"
   "CREATE TABLE ARCHIVE_ROUTE("
-  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
-  "  COPY_NB                 INTEGER       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
-  "  TAPE_POOL_ID            INTEGER      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
+  "  COPY_NB                 NUMERIC(3, 0)       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
+  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ARCHIVE_ROUTE_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
   "  CONSTRAINT ARCHIVE_ROUTE_PK PRIMARY KEY(STORAGE_CLASS_ID, COPY_NB),"
   "  CONSTRAINT ARCHIVE_ROUTE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
   "  CONSTRAINT ARCHIVE_ROUTE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
@@ -6298,77 +6279,79 @@ namespace catalogue{
   "  CONSTRAINT ARCHIVE_ROUTE_SCI_TPI_UN UNIQUE(STORAGE_CLASS_ID, TAPE_POOL_ID)"
   ");"
   "CREATE TABLE MEDIA_TYPE("
-  "  MEDIA_TYPE_ID          INTEGER    CONSTRAINT MEDIA_TYPE_MTI_NN  NOT NULL,"
+  "  MEDIA_TYPE_ID          NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_MTI_NN  NOT NULL,"
   "  MEDIA_TYPE_NAME        VARCHAR(100)  CONSTRAINT MEDIA_TYPE_MTN_NN  NOT NULL,"
   "  CARTRIDGE              VARCHAR(100)  CONSTRAINT MEDIA_TYPE_C_NN    NOT NULL,"
-  "  CAPACITY_IN_BYTES      INTEGER    CONSTRAINT MEDIA_TYPE_CIB_NN  NOT NULL,"
-  "  PRIMARY_DENSITY_CODE   INTEGER,"
-  "  SECONDARY_DENSITY_CODE INTEGER,"
-  "  NB_WRAPS               INTEGER,"
-  "  MIN_LPOS               INTEGER,"
-  "  MAX_LPOS               INTEGER,"
+  "  CAPACITY_IN_BYTES      NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_CIB_NN  NOT NULL,"
+  "  PRIMARY_DENSITY_CODE   NUMERIC(3, 0),"
+  "  SECONDARY_DENSITY_CODE NUMERIC(3, 0),"
+  "  NB_WRAPS               NUMERIC(10, 0),"
+  "  MIN_LPOS               NUMERIC(20, 0),"
+  "  MAX_LPOS               NUMERIC(20, 0),"
   "  USER_COMMENT           VARCHAR(1000) CONSTRAINT MEDIA_TYPE_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME VARCHAR(100)  CONSTRAINT MEDIA_TYPE_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME VARCHAR(100)  CONSTRAINT MEDIA_TYPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      INTEGER    CONSTRAINT MEDIA_TYPE_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME      NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME  VARCHAR(100)  CONSTRAINT MEDIA_TYPE_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME  VARCHAR(100)  CONSTRAINT MEDIA_TYPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       INTEGER    CONSTRAINT MEDIA_TYPE_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME       NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_LUT_NN  NOT NULL,"
   "  CONSTRAINT MEDIA_TYPE_PK PRIMARY KEY(MEDIA_TYPE_ID),"
   "  CONSTRAINT MEDIA_TYPE_MTN_UN UNIQUE(MEDIA_TYPE_NAME)"
   ");"
   "CREATE TABLE LOGICAL_LIBRARY("
-  "  LOGICAL_LIBRARY_ID      INTEGER      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
+  "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
   "  LOGICAL_LIBRARY_NAME    VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LLN_NN  NOT NULL,"
   "  IS_DISABLED             CHAR(1)         DEFAULT '0' CONSTRAINT LOGICAL_LIBRARY_ID_NN NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT LOGICAL_LIBRARY_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
   "  CONSTRAINT LOGICAL_LIBRARY_PK PRIMARY KEY(LOGICAL_LIBRARY_ID),"
   "  CONSTRAINT LOGICAL_LIBRARY_LLN_UN UNIQUE(LOGICAL_LIBRARY_NAME),"
   "  CONSTRAINT LOGICAL_LIBRARY_ID_BOOL_CK CHECK(IS_DISABLED IN ('0', '1'))"
   ");"
   "CREATE TABLE TAPE("
   "  VID                     VARCHAR(100)    CONSTRAINT TAPE_V_NN    NOT NULL,"
-  "  MEDIA_TYPE_ID           INTEGER      CONSTRAINT TAPE_MTID_NN   NOT NULL,"
+  "  MEDIA_TYPE_ID           NUMERIC(20, 0)      CONSTRAINT TAPE_MTID_NN   NOT NULL,"
   "  VENDOR                  VARCHAR(100)    CONSTRAINT TAPE_V2_NN   NOT NULL,"
-  "  LOGICAL_LIBRARY_ID      INTEGER      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
-  "  TAPE_POOL_ID            INTEGER      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
+  "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
+  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
   "  ENCRYPTION_KEY_NAME     VARCHAR(100),"
-  "  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,"
+  "  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),"
   "  IS_FULL                 CHAR(1)         CONSTRAINT TAPE_IF_NN   NOT NULL,"
-  "  IS_READ_ONLY            CHAR(1)         CONSTRAINT TAPE_IRO_NN  NOT NULL,"
+  "  IS_READ_ONLY            CHAR(1),"
   "  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,"
-  "  NB_COPY_NB_1            INTEGER     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_1_NN NOT NULL,"
-  "  COPY_NB_1_IN_BYTES      INTEGER     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_1_IN_BYTES_NN NOT NULL,"
-  "  NB_COPY_NB_GT_1         INTEGER     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_GT_1_NN NOT NULL,"
-  "  COPY_NB_GT_1_IN_BYTES   INTEGER     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_GT_1_IN_BYTES_NN NOT NULL,"
+  "  NB_COPY_NB_1            NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_1_NN NOT NULL,"
+  "  COPY_NB_1_IN_BYTES      NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_1_IN_BYTES_NN NOT NULL,"
+  "  NB_COPY_NB_GT_1         NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_GT_1_NN NOT NULL,"
+  "  COPY_NB_GT_1_IN_BYTES   NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_GT_1_IN_BYTES_NN NOT NULL,"
   "  LABEL_DRIVE             VARCHAR(100),"
-  "  LABEL_TIME              INTEGER    ,"
+  "  LABEL_TIME              NUMERIC(20, 0)    ,"
   "  LAST_READ_DRIVE         VARCHAR(100),"
-  "  LAST_READ_TIME          INTEGER    ,"
+  "  LAST_READ_TIME          NUMERIC(20, 0)    ,"
   "  LAST_WRITE_DRIVE        VARCHAR(100),"
-  "  LAST_WRITE_TIME         INTEGER    ,"
-  "  READ_MOUNT_COUNT        INTEGER      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
-  "  WRITE_MOUNT_COUNT       INTEGER      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
+  "  LAST_WRITE_TIME         NUMERIC(20, 0)    ,"
+  "  READ_MOUNT_COUNT        NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
+  "  WRITE_MOUNT_COUNT       NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000),"
+  "  TAPE_STATE              VARCHAR(100),"
+  "  STATE_REASON            VARCHAR(1000),"
+  "  STATE_UPDATE_TIME       NUMERIC(20, 0),"
+  "  STATE_MODIFIED_BY       VARCHAR(100),"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
   "  CONSTRAINT TAPE_PK PRIMARY KEY(VID),"
   "  CONSTRAINT TAPE_LOGICAL_LIBRARY_FK FOREIGN KEY(LOGICAL_LIBRARY_ID) REFERENCES LOGICAL_LIBRARY(LOGICAL_LIBRARY_ID),"
   "  CONSTRAINT TAPE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
@@ -6376,27 +6359,27 @@ namespace catalogue{
   "  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_ARCHVIED_BOOL_CK CHECK(IS_ARCHIVED IN ('0', '1')),"
-  "  CONSTRAINT TAPE_IS_EXPORTED_BOOL_CK CHECK(IS_EXPORTED IN ('0', '1')),"
   "  CONSTRAINT TAPE_DIRTY_BOOL_CK CHECK(DIRTY IN ('0','1')),"
+  "  CONSTRAINT TAPE_STATE_CK CHECK(TAPE_STATE IN ('ACTIVE', 'DISABLED', 'BROKEN')),"
   "  CONSTRAINT TAPE_MEDIA_TYPE_FK FOREIGN KEY(MEDIA_TYPE_ID) REFERENCES MEDIA_TYPE(MEDIA_TYPE_ID)"
   ");"
   "CREATE INDEX TAPE_TAPE_POOL_ID_IDX ON TAPE(TAPE_POOL_ID);"
   "CREATE INDEX TAPE_IS_DISABLED_IDX ON TAPE(IS_DISABLED);"
+  "CREATE INDEX TAPE_STATE_IDX ON TAPE(TAPE_STATE);"
   "CREATE TABLE MOUNT_POLICY("
-  "  MOUNT_POLICY_NAME        VARCHAR(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
-  "  ARCHIVE_PRIORITY         INTEGER      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
-  "  ARCHIVE_MIN_REQUEST_AGE  INTEGER      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
-  "  RETRIEVE_PRIORITY        INTEGER      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
-  "  RETRIEVE_MIN_REQUEST_AGE INTEGER      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
-  "  MAX_DRIVES_ALLOWED       INTEGER      CONSTRAINT MOUNT_POLICY_MDA_NN  NOT NULL,"
-  "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME        INTEGER      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME         INTEGER      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
+  "  MOUNT_POLICY_NAME          VARCHAR(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
+  "  ARCHIVE_PRIORITY           NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
+  "  ARCHIVE_MIN_REQUEST_AGE    NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
+  "  RETRIEVE_PRIORITY          NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
+  "  RETRIEVE_MIN_REQUEST_AGE   NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
+  "  MAX_DRIVES_ALLOWED         NUMERIC(20, 0),"
+  "  USER_COMMENT               VARCHAR(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME     VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME     VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME          NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME      VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME      VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME           NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
   "  CONSTRAINT MOUNT_POLICY_PK PRIMARY KEY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE REQUESTER_MOUNT_RULE("
@@ -6406,10 +6389,10 @@ namespace catalogue{
   "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_RULE_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      INTEGER      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       INTEGER      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
   "  CONSTRAINT RQSTER_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_NAME),"
   "  CONSTRAINT RQSTER_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
   "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
@@ -6421,26 +6404,26 @@ namespace catalogue{
   "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_GRP_RULE_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      INTEGER      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       INTEGER      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
   "  CONSTRAINT RQSTER_GRP_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_GROUP_NAME),"
   "  CONSTRAINT RQSTER_GRP_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
   "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE ARCHIVE_FILE("
-  "  ARCHIVE_FILE_ID         INTEGER      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
+  "  ARCHIVE_FILE_ID         NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
   "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DIN_NN  NOT NULL,"
   "  DISK_FILE_ID            VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DFI_NN  NOT NULL,"
-  "  DISK_FILE_UID           INTEGER      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
-  "  DISK_FILE_GID           INTEGER      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
-  "  SIZE_IN_BYTES           INTEGER      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
-  "  CHECKSUM_BLOB           BLOB(200),"
-  "  CHECKSUM_ADLER32        INTEGER      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
-  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
-  "  CREATION_TIME           INTEGER      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
-  "  RECONCILIATION_TIME     INTEGER      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
+  "  DISK_FILE_UID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
+  "  DISK_FILE_GID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
+  "  SIZE_IN_BYTES           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
+  "  CHECKSUM_BLOB           BYTEA,"
+  "  CHECKSUM_ADLER32        NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
+  "  CREATION_TIME           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
+  "  RECONCILIATION_TIME     NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
   "  IS_DELETED              CHAR(1)         DEFAULT '0' CONSTRAINT ARCHIVE_FILE_ID_NN NOT NULL,"
   "  COLLOCATION_HINT        VARCHAR(100),"
   "  CONSTRAINT ARCHIVE_FILE_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
@@ -6452,22 +6435,22 @@ namespace catalogue{
   "CREATE INDEX ARCHIVE_FILE_DFI_IDX ON ARCHIVE_FILE(DISK_FILE_ID);"
   "CREATE TABLE TAPE_FILE("
   "  VID                      VARCHAR(100)   CONSTRAINT TAPE_FILE_V_NN    NOT NULL,"
-  "  FSEQ                     INTEGER     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
-  "  BLOCK_ID                 INTEGER     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
-  "  LOGICAL_SIZE_IN_BYTES    INTEGER     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
-  "  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,"
+  "  FSEQ                     NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
+  "  BLOCK_ID                 NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
+  "  LOGICAL_SIZE_IN_BYTES    NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
+  "  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,"
   "  SUPERSEDED_BY_VID        VARCHAR(100),"
-  "  SUPERSEDED_BY_FSEQ       INTEGER    ,"
-  "  WRITE_START_WRAP         INTEGER,"
-  "  WRITE_START_LPOS         INTEGER,"
-  "  WRITE_END_WRAP           INTEGER,"
-  "  WRITE_END_LPOS           INTEGER,"
-  "  READ_START_WRAP          INTEGER,"
-  "  READ_START_LPOS          INTEGER,"
-  "  READ_END_WRAP            INTEGER,"
-  "  READ_END_LPOS            INTEGER,"
+  "  SUPERSEDED_BY_FSEQ       NUMERIC(20, 0)    ,"
+  "  WRITE_START_WRAP         NUMERIC(5, 0),"
+  "  WRITE_START_LPOS         NUMERIC(10, 0),"
+  "  WRITE_END_WRAP           NUMERIC(5, 0),"
+  "  WRITE_END_LPOS           NUMERIC(10, 0),"
+  "  READ_START_WRAP          NUMERIC(5, 0),"
+  "  READ_START_LPOS          NUMERIC(10, 0),"
+  "  READ_END_WRAP            NUMERIC(5, 0),"
+  "  READ_END_LPOS            NUMERIC(10, 0),"
   "  CONSTRAINT TAPE_FILE_PK PRIMARY KEY(VID, FSEQ),"
   "  CONSTRAINT TAPE_FILE_TAPE_FK FOREIGN KEY(VID)"
   "    REFERENCES TAPE(VID),"
@@ -6488,49 +6471,49 @@ namespace catalogue{
   "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT ACTIV_WEIGHTS_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME        INTEGER      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME        NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME         INTEGER      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
+  "  LAST_UPDATE_TIME         NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
   ");"
   "CREATE TABLE ARCHIVE_FILE_RECYCLE_BIN("
-  "  ARCHIVE_FILE_ID         INTEGER      CONSTRAINT ARCHIVE_FILE_RB_AFI_NN  NOT NULL,"
+  "  ARCHIVE_FILE_ID         NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RB_AFI_NN  NOT NULL,"
   "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_RB_DIN_NN  NOT NULL,"
   "  DISK_FILE_ID            VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_RB_DFI_NN  NOT NULL,"
   "  DISK_FILE_ID_WHEN_DELETED VARCHAR(100)  CONSTRAINT ARCHIVE_FILE_RB_DFIWD_NN NOT NULL,"
-  "  DISK_FILE_UID           INTEGER      CONSTRAINT ARCHIVE_FILE_RB_DFUID_NN  NOT NULL,"
-  "  DISK_FILE_GID           INTEGER      CONSTRAINT ARCHIVE_FILE_RB_DFGID_NN  NOT NULL,"
-  "  SIZE_IN_BYTES           INTEGER      CONSTRAINT ARCHIVE_FILE_RB_SIB_NN  NOT NULL,"
-  "  CHECKSUM_BLOB           BLOB(200),"
-  "  CHECKSUM_ADLER32        INTEGER      CONSTRAINT ARCHIVE_FILE_RB_CB2_NN  NOT NULL,"
-  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT ARCHIVE_FILE_RB_SCI_NN  NOT NULL,"
-  "  CREATION_TIME           INTEGER      CONSTRAINT ARCHIVE_FILE_RB_CT2_NN  NOT NULL,"
-  "  RECONCILIATION_TIME     INTEGER      CONSTRAINT ARCHIVE_FILE_RB_RT_NN   NOT NULL,"
+  "  DISK_FILE_UID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_RB_DFUID_NN  NOT NULL,"
+  "  DISK_FILE_GID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_RB_DFGID_NN  NOT NULL,"
+  "  SIZE_IN_BYTES           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RB_SIB_NN  NOT NULL,"
+  "  CHECKSUM_BLOB           BYTEA,"
+  "  CHECKSUM_ADLER32        NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_RB_CB2_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RB_SCI_NN  NOT NULL,"
+  "  CREATION_TIME           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RB_CT2_NN  NOT NULL,"
+  "  RECONCILIATION_TIME     NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RB_RT_NN   NOT NULL,"
   "  COLLOCATION_HINT        VARCHAR(100),"
   "  DISK_FILE_PATH          VARCHAR(2000) CONSTRAINT ARCHIVE_FILE_RB_DFP_NN NOT NULL,"
-  "  DELETION_TIME           INTEGER    CONSTRAINT ARCHIVE_FILE_RB_DT_NN NOT NULL,"
+  "  DELETION_TIME           NUMERIC(20, 0)    CONSTRAINT ARCHIVE_FILE_RB_DT_NN NOT NULL,"
   "  CONSTRAINT ARCHIVE_FILE_RB_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
   "  CONSTRAINT ARCHIVE_FILE_RB_SC_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
   "  CONSTRAINT ARCHIVE_FILE_RB_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID)"
   ");"
   "CREATE TABLE TAPE_FILE_RECYCLE_BIN("
   "  VID                      VARCHAR(100)   CONSTRAINT TAPE_FILE_RB_V_NN    NOT NULL,"
-  "  FSEQ                     INTEGER     CONSTRAINT TAPE_FILE_RB_F_NN    NOT NULL,"
-  "  BLOCK_ID                 INTEGER     CONSTRAINT TAPE_FILE_RB_BI_NN   NOT NULL,"
-  "  LOGICAL_SIZE_IN_BYTES    INTEGER     CONSTRAINT TAPE_FILE_RB_CSIB_NN NOT NULL,"
-  "  COPY_NB                  INTEGER      CONSTRAINT TAPE_FILE_RB_CN_NN   NOT NULL,"
-  "  CREATION_TIME            INTEGER     CONSTRAINT TAPE_FILE_RB_CT_NN   NOT NULL,"
-  "  ARCHIVE_FILE_ID          INTEGER     CONSTRAINT TAPE_FILE_RB_AFI_NN  NOT NULL,"
+  "  FSEQ                     NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_RB_F_NN    NOT NULL,"
+  "  BLOCK_ID                 NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_RB_BI_NN   NOT NULL,"
+  "  LOGICAL_SIZE_IN_BYTES    NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_RB_CSIB_NN NOT NULL,"
+  "  COPY_NB                  NUMERIC(3, 0)      CONSTRAINT TAPE_FILE_RB_CN_NN   NOT NULL,"
+  "  CREATION_TIME            NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_RB_CT_NN   NOT NULL,"
+  "  ARCHIVE_FILE_ID          NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_RB_AFI_NN  NOT NULL,"
   "  SUPERSEDED_BY_VID        VARCHAR(100),"
-  "  SUPERSEDED_BY_FSEQ       INTEGER,"
-  "  WRITE_START_WRAP         INTEGER,"
-  "  WRITE_START_LPOS         INTEGER,"
-  "  WRITE_END_WRAP           INTEGER,"
-  "  WRITE_END_LPOS           INTEGER,"
-  "  READ_START_WRAP          INTEGER,"
-  "  READ_START_LPOS          INTEGER,"
-  "  READ_END_WRAP            INTEGER,"
-  "  READ_END_LPOS            INTEGER,"
+  "  SUPERSEDED_BY_FSEQ       NUMERIC(20, 0),"
+  "  WRITE_START_WRAP         NUMERIC(5, 0),"
+  "  WRITE_START_LPOS         NUMERIC(10, 0),"
+  "  WRITE_END_WRAP           NUMERIC(5, 0),"
+  "  WRITE_END_LPOS           NUMERIC(10, 0),"
+  "  READ_START_WRAP          NUMERIC(5, 0),"
+  "  READ_START_LPOS          NUMERIC(10, 0),"
+  "  READ_END_WRAP            NUMERIC(5, 0),"
+  "  READ_END_LPOS            NUMERIC(10, 0),"
   "  CONSTRAINT TAPE_FILE_RB_PK PRIMARY KEY(VID, FSEQ),"
   "  CONSTRAINT TAPE_FILE_RB_TAPE_FK FOREIGN KEY(VID)"
   "    REFERENCES TAPE(VID),"
@@ -6541,117 +6524,181 @@ namespace catalogue{
   "  CONSTRAINT TAPE_FILE_RB_SS_VID_FSEQ_FK FOREIGN KEY(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ)"
   "    REFERENCES TAPE_FILE_RECYCLE_BIN(VID, FSEQ)"
   ");"
+  "CREATE TABLE FILE_RECYCLE_LOG("
+  "  FILE_RECYCLE_LOG_ID        NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_ID_NN NOT NULL,"
+  "  VID                        VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_VID_NN NOT NULL,"
+  "  FSEQ                       NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_FSEQ_NN NOT NULL,"
+  "  BLOCK_ID                   NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_BID_NN NOT NULL,"
+  "  COPY_NB                    NUMERIC(3, 0)           CONSTRAINT FILE_RECYCLE_LOG_COPY_NB_NN NOT NULL,"
+  "  TAPE_FILE_CREATION_TIME    NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_TFCT_NN NOT NULL,"
+  "  ARCHIVE_FILE_ID            NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_AFI_NN NOT NULL,"
+  "  DISK_INSTANCE_NAME         VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DIN_NN NOT NULL,"
+  "  DISK_FILE_ID               VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DFI_NN NOT NULL,"
+  "  DISK_FILE_ID_WHEN_DELETED  VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DFIWD_NN NOT NULL,"
+  "  DISK_FILE_UID              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_DFU_NN NOT NULL,"
+  "  DISK_FILE_GID              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_DFG_NN NOT NULL,"
+  "  SIZE_IN_BYTES              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_SIB_NN NOT NULL,"
+  "  CHECKSUM_BLOB              BYTEA,"
+  "  CHECKSUM_ADLER32           NUMERIC(10, 0)          CONSTRAINT FILE_RECYCLE_LOG_CA_NN NOT NULL,"
+  "  STORAGE_CLASS_ID           NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_SCI_NN NOT NULL,"
+  "  ARCHIVE_FILE_CREATION_TIME NUMERIC(20, 0)          CONSTRAINT FILE_RECYLE_LOG_CT_NN NOT NULL,"
+  "  RECONCILIATION_TIME        NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_RT_NN NOT NULL,"
+  "  COLLOCATION_HINT           VARCHAR(100),"
+  "  DISK_FILE_PATH             VARCHAR(2000),"
+  "  REASON_LOG                 VARCHAR(1000)       CONSTRAINT FILE_RECYCLE_LOG_RL_NN NOT NULL,"
+  "  RECYCLE_LOG_TIME           NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_RLT_NN NOT NULL,"
+  "  CONSTRAINT FILE_RECYCLE_LOG_PK PRIMARY KEY(FILE_RECYCLE_LOG_ID),"
+  "  CONSTRAINT FILE_RECYCLE_LOG_VID_FK FOREIGN KEY(VID) REFERENCES TAPE(VID),"
+  "  CONSTRAINT FILE_RECYCLE_LOG_SC_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID)"
+  ");"
+  "CREATE INDEX FILE_RECYCLE_LOG_DFI_IDX ON FILE_RECYCLE_LOG(DISK_FILE_ID);"
   "INSERT INTO CTA_CATALOGUE("
   "  SCHEMA_VERSION_MAJOR,"
   "  SCHEMA_VERSION_MINOR,"
   "  STATUS)"
   "VALUES("
   "  3,"
-  "  1,"
+  "  2,"
   "  '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='PRODUCTION') OR (STATUS='UPGRADING'));"
       },
-  {"postgres",  "CREATE SEQUENCE ARCHIVE_FILE_ID_SEQ"
+    }  },
+  {"4.0",
+    {
+      {"oracle",  "CREATE SEQUENCE ARCHIVE_FILE_ID_SEQ"
   "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NO MAXVALUE"
+  "  START WITH 4294967296"
+  "  NOMAXVALUE"
   "  MINVALUE 1"
-  "  NO CYCLE"
-  "  CACHE 20;"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
   "CREATE SEQUENCE LOGICAL_LIBRARY_ID_SEQ"
   "  INCREMENT BY 1"
   "  START WITH 1"
-  "  NO MAXVALUE"
+  "  NOMAXVALUE"
   "  MINVALUE 1"
-  "  NO CYCLE"
-  "  CACHE 20;"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
   "CREATE SEQUENCE MEDIA_TYPE_ID_SEQ"
   "  INCREMENT BY 1"
   "  START WITH 1"
-  "  NO MAXVALUE"
+  "  NOMAXVALUE"
   "  MINVALUE 1"
-  "  NO CYCLE"
-  "  CACHE 20;"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
   "CREATE SEQUENCE STORAGE_CLASS_ID_SEQ"
   "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NO MAXVALUE"
+  "  START WITH 10000"
+  "  NOMAXVALUE"
   "  MINVALUE 1"
-  "  NO CYCLE"
-  "  CACHE 20;"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
   "CREATE SEQUENCE TAPE_POOL_ID_SEQ"
   "  INCREMENT BY 1"
   "  START WITH 1"
-  "  NO MAXVALUE"
+  "  NOMAXVALUE"
   "  MINVALUE 1"
-  "  NO CYCLE"
-  "  CACHE 20;"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
   "CREATE SEQUENCE VIRTUAL_ORGANIZATION_ID_SEQ"
   "  INCREMENT BY 1"
   "  START WITH 1"
-  "  NO MAXVALUE"
+  "  NOMAXVALUE"
   "  MINVALUE 1"
-  "  NO CYCLE"
-  "  CACHE 20;"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
+  "CREATE SEQUENCE FILE_RECYCLE_LOG_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NOMAXVALUE"
+  "  MINVALUE 1"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
+  "CREATE GLOBAL TEMPORARY TABLE TEMP_TAPE_FILE_INSERTION_BATCH("
+  "  VID                   VARCHAR2(100),"
+  "  FSEQ                  NUMERIC(20, 0)  ,"
+  "  BLOCK_ID              NUMERIC(20, 0)  ,"
+  "  LOGICAL_SIZE_IN_BYTES NUMERIC(20, 0)  ,"
+  "  COPY_NB               NUMERIC(3, 0)   ,"
+  "  CREATION_TIME         NUMERIC(20, 0)  ,"
+  "  ARCHIVE_FILE_ID       NUMERIC(20, 0)"
+  ")"
+  "ON COMMIT DELETE ROWS;"
+  "CREATE INDEX TEMP_T_F_I_B_AFI_IDX ON TEMP_TAPE_FILE_INSERTION_BATCH(ARCHIVE_FILE_ID);"
   "CREATE TABLE CTA_CATALOGUE("
   "  SCHEMA_VERSION_MAJOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
   "  SCHEMA_VERSION_MINOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
   "  NEXT_SCHEMA_VERSION_MAJOR NUMERIC(20, 0),"
   "  NEXT_SCHEMA_VERSION_MINOR NUMERIC(20, 0),"
-  "  STATUS                  VARCHAR(100),"
+  "  STATUS                  VARCHAR2(100),"
   "  IS_PRODUCTION           CHAR(1)         DEFAULT '0' CONSTRAINT CTA_CATALOGUE_IP_NN NOT NULL,"
   "  CONSTRAINT CTA_CATALOGUE_IP_BOOL_CK     CHECK(IS_PRODUCTION IN ('0','1'))"
   ");"
   "CREATE TABLE ADMIN_USER("
-  "  ADMIN_USER_NAME         VARCHAR(100)    CONSTRAINT ADMIN_USER_AUN_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
+  "  ADMIN_USER_NAME         VARCHAR2(100)    CONSTRAINT ADMIN_USER_AUN_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
   "  CONSTRAINT ADMIN_USER_PK PRIMARY KEY(ADMIN_USER_NAME)"
   ");"
   "CREATE TABLE DISK_SYSTEM("
-  "  DISK_SYSTEM_NAME        VARCHAR(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
-  "  FILE_REGEXP             VARCHAR(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
-  "  FREE_SPACE_QUERY_URL    VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
+  "  DISK_SYSTEM_NAME        VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
+  "  FILE_REGEXP             VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
+  "  FREE_SPACE_QUERY_URL    VARCHAR2(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
   "  REFRESH_INTERVAL        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
   "  TARGETED_FREE_SPACE     NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
   "  SLEEP_TIME              NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
   "  CONSTRAINT NAME_PK PRIMARY KEY(DISK_SYSTEM_NAME)"
   ");"
   "CREATE TABLE VIRTUAL_ORGANIZATION("
   "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_VOI_NN  NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_NAME VARCHAR(100)  CONSTRAINT VIRTUAL_ORGANIZATION_VON_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT VIRTUAL_ORGANIZATION_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLHN_NN NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_NAME VARCHAR2(100)  CONSTRAINT VIRTUAL_ORGANIZATION_VON_NN  NOT NULL,"
+  "  READ_MAX_DRIVES NUMERIC(20, 0)              CONSTRAINT VIRTUAL_ORGANIZATION_RMD_NN  NOT NULL,"
+  "  WRITE_MAX_DRIVES NUMERIC(20, 0)             CONSTRAINT VIRTUAL_ORGANIZATION_WMD_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT VIRTUAL_ORGANIZATION_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_LUT_NN  NOT NULL,"
   "  CONSTRAINT VIRTUAL_ORGANIZATION_PK PRIMARY KEY(VIRTUAL_ORGANIZATION_ID),"
   "  CONSTRAINT VIRTUAL_ORGANIZATION_VON_UN UNIQUE(VIRTUAL_ORGANIZATION_NAME)"
   ");"
   "CREATE TABLE STORAGE_CLASS("
   "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
-  "  STORAGE_CLASS_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
+  "  STORAGE_CLASS_NAME      VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
   "  NB_COPIES               NUMERIC(3, 0)       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
   "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT STORAGE_CLASS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT STORAGE_CLASS_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
   "  CONSTRAINT STORAGE_CLASS_PK PRIMARY KEY(STORAGE_CLASS_ID),"
   "  CONSTRAINT STORAGE_CLASS_SCN_UN UNIQUE(STORAGE_CLASS_NAME),"
@@ -6659,17 +6706,17 @@ namespace catalogue{
   ");"
   "CREATE TABLE TAPE_POOL("
   "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
-  "  TAPE_POOL_NAME          VARCHAR(100)    CONSTRAINT TAPE_POOL_TPN_NN  NOT NULL,"
+  "  TAPE_POOL_NAME          VARCHAR2(100)    CONSTRAINT TAPE_POOL_TPN_NN  NOT NULL,"
   "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_VOI_NN  NOT NULL,"
   "  NB_PARTIAL_TAPES        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
   "  IS_ENCRYPTED            CHAR(1)         CONSTRAINT TAPE_POOL_IE_NN   NOT NULL,"
-  "  SUPPLY                  VARCHAR(100),"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT TAPE_POOL_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL,"
+  "  SUPPLY                  VARCHAR2(100),"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT TAPE_POOL_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
   "  CONSTRAINT TAPE_POOL_PK PRIMARY KEY(TAPE_POOL_ID),"
   "  CONSTRAINT TAPE_POOL_TPN_UN UNIQUE(TAPE_POOL_NAME),"
@@ -6680,12 +6727,12 @@ namespace catalogue{
   "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
   "  COPY_NB                 NUMERIC(3, 0)       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
   "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ARCHIVE_ROUTE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT ARCHIVE_ROUTE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
   "  CONSTRAINT ARCHIVE_ROUTE_PK PRIMARY KEY(STORAGE_CLASS_ID, COPY_NB),"
   "  CONSTRAINT ARCHIVE_ROUTE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
@@ -6695,131 +6742,127 @@ namespace catalogue{
   ");"
   "CREATE TABLE MEDIA_TYPE("
   "  MEDIA_TYPE_ID          NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_MTI_NN  NOT NULL,"
-  "  MEDIA_TYPE_NAME        VARCHAR(100)  CONSTRAINT MEDIA_TYPE_MTN_NN  NOT NULL,"
-  "  CARTRIDGE              VARCHAR(100)  CONSTRAINT MEDIA_TYPE_C_NN    NOT NULL,"
+  "  MEDIA_TYPE_NAME        VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_MTN_NN  NOT NULL,"
+  "  CARTRIDGE              VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_C_NN    NOT NULL,"
   "  CAPACITY_IN_BYTES      NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_CIB_NN  NOT NULL,"
   "  PRIMARY_DENSITY_CODE   NUMERIC(3, 0),"
   "  SECONDARY_DENSITY_CODE NUMERIC(3, 0),"
   "  NB_WRAPS               NUMERIC(10, 0),"
   "  MIN_LPOS               NUMERIC(20, 0),"
   "  MAX_LPOS               NUMERIC(20, 0),"
-  "  USER_COMMENT           VARCHAR(1000) CONSTRAINT MEDIA_TYPE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR(100)  CONSTRAINT MEDIA_TYPE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR(100)  CONSTRAINT MEDIA_TYPE_CLHN_NN NOT NULL,"
+  "  USER_COMMENT           VARCHAR2(1000) CONSTRAINT MEDIA_TYPE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME      NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR(100)  CONSTRAINT MEDIA_TYPE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)  CONSTRAINT MEDIA_TYPE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME  VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME  VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME       NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_LUT_NN  NOT NULL,"
   "  CONSTRAINT MEDIA_TYPE_PK PRIMARY KEY(MEDIA_TYPE_ID),"
   "  CONSTRAINT MEDIA_TYPE_MTN_UN UNIQUE(MEDIA_TYPE_NAME)"
   ");"
   "CREATE TABLE LOGICAL_LIBRARY("
   "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
-  "  LOGICAL_LIBRARY_NAME    VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LLN_NN  NOT NULL,"
+  "  LOGICAL_LIBRARY_NAME    VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_LLN_NN  NOT NULL,"
   "  IS_DISABLED             CHAR(1)         DEFAULT '0' CONSTRAINT LOGICAL_LIBRARY_ID_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT LOGICAL_LIBRARY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT LOGICAL_LIBRARY_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
   "  CONSTRAINT LOGICAL_LIBRARY_PK PRIMARY KEY(LOGICAL_LIBRARY_ID),"
   "  CONSTRAINT LOGICAL_LIBRARY_LLN_UN UNIQUE(LOGICAL_LIBRARY_NAME),"
   "  CONSTRAINT LOGICAL_LIBRARY_ID_BOOL_CK CHECK(IS_DISABLED IN ('0', '1'))"
   ");"
   "CREATE TABLE TAPE("
-  "  VID                     VARCHAR(100)    CONSTRAINT TAPE_V_NN    NOT NULL,"
+  "  VID                     VARCHAR2(100)    CONSTRAINT TAPE_V_NN    NOT NULL,"
   "  MEDIA_TYPE_ID           NUMERIC(20, 0)      CONSTRAINT TAPE_MTID_NN   NOT NULL,"
-  "  VENDOR                  VARCHAR(100)    CONSTRAINT TAPE_V2_NN   NOT NULL,"
+  "  VENDOR                  VARCHAR2(100)    CONSTRAINT TAPE_V2_NN   NOT NULL,"
   "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
   "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
-  "  ENCRYPTION_KEY_NAME     VARCHAR(100),"
+  "  ENCRYPTION_KEY_NAME     VARCHAR2(100),"
   "  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,"
   "  NB_COPY_NB_1            NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_1_NN NOT NULL,"
   "  COPY_NB_1_IN_BYTES      NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_1_IN_BYTES_NN NOT NULL,"
   "  NB_COPY_NB_GT_1         NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_GT_1_NN NOT NULL,"
   "  COPY_NB_GT_1_IN_BYTES   NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_GT_1_IN_BYTES_NN NOT NULL,"
-  "  LABEL_DRIVE             VARCHAR(100),"
+  "  LABEL_DRIVE             VARCHAR2(100),"
   "  LABEL_TIME              NUMERIC(20, 0)    ,"
-  "  LAST_READ_DRIVE         VARCHAR(100),"
+  "  LAST_READ_DRIVE         VARCHAR2(100),"
   "  LAST_READ_TIME          NUMERIC(20, 0)    ,"
-  "  LAST_WRITE_DRIVE        VARCHAR(100),"
+  "  LAST_WRITE_DRIVE        VARCHAR2(100),"
   "  LAST_WRITE_TIME         NUMERIC(20, 0)    ,"
   "  READ_MOUNT_COUNT        NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
   "  WRITE_MOUNT_COUNT       NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000),"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000),"
+  "  TAPE_STATE              VARCHAR2(100)    CONSTRAINT TAPE_TS_NN NOT NULL,"
+  "  STATE_REASON            VARCHAR2(1000),"
+  "  STATE_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_SUT_NN NOT NULL,"
+  "  STATE_MODIFIED_BY       VARCHAR2(100)    CONSTRAINT TAPE_SMB_NN NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT TAPE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT TAPE_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
   "  CONSTRAINT TAPE_PK PRIMARY KEY(VID),"
   "  CONSTRAINT TAPE_LOGICAL_LIBRARY_FK FOREIGN KEY(LOGICAL_LIBRARY_ID) REFERENCES LOGICAL_LIBRARY(LOGICAL_LIBRARY_ID),"
   "  CONSTRAINT TAPE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
-  "  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_ARCHVIED_BOOL_CK CHECK(IS_ARCHIVED IN ('0', '1')),"
-  "  CONSTRAINT TAPE_IS_EXPORTED_BOOL_CK CHECK(IS_EXPORTED IN ('0', '1')),"
   "  CONSTRAINT TAPE_DIRTY_BOOL_CK CHECK(DIRTY IN ('0','1')),"
+  "  CONSTRAINT TAPE_STATE_CK CHECK(TAPE_STATE IN ('ACTIVE', 'DISABLED', 'BROKEN')),"
   "  CONSTRAINT TAPE_MEDIA_TYPE_FK FOREIGN KEY(MEDIA_TYPE_ID) REFERENCES MEDIA_TYPE(MEDIA_TYPE_ID)"
   ");"
   "CREATE INDEX TAPE_TAPE_POOL_ID_IDX ON TAPE(TAPE_POOL_ID);"
-  "CREATE INDEX TAPE_IS_DISABLED_IDX ON TAPE(IS_DISABLED);"
+  "CREATE INDEX TAPE_STATE_IDX ON TAPE(TAPE_STATE);"
   "CREATE TABLE MOUNT_POLICY("
-  "  MOUNT_POLICY_NAME        VARCHAR(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
-  "  ARCHIVE_PRIORITY         NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
-  "  ARCHIVE_MIN_REQUEST_AGE  NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
-  "  RETRIEVE_PRIORITY        NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
-  "  RETRIEVE_MIN_REQUEST_AGE NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
-  "  MAX_DRIVES_ALLOWED       NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_MDA_NN  NOT NULL,"
-  "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME        NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME         NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
+  "  MOUNT_POLICY_NAME          VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
+  "  ARCHIVE_PRIORITY           NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
+  "  ARCHIVE_MIN_REQUEST_AGE    NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
+  "  RETRIEVE_PRIORITY          NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
+  "  RETRIEVE_MIN_REQUEST_AGE   NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
+  "  USER_COMMENT               VARCHAR2(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME     VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME     VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME          NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME      VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME      VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME           NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
   "  CONSTRAINT MOUNT_POLICY_PK PRIMARY KEY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE REQUESTER_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR(100)    CONSTRAINT RQSTER_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_NAME         VARCHAR(100)    CONSTRAINT RQSTER_RULE_RN_NN   NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR(100)    CONSTRAINT RQSTER_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL,"
+  "  DISK_INSTANCE_NAME     VARCHAR2(100)    CONSTRAINT RQSTER_RULE_DIN_NN  NOT NULL,"
+  "  REQUESTER_NAME         VARCHAR2(100)    CONSTRAINT RQSTER_RULE_RN_NN   NOT NULL,"
+  "  MOUNT_POLICY_NAME      VARCHAR2(100)    CONSTRAINT RQSTER_RULE_MPN_NN  NOT NULL,"
+  "  USER_COMMENT           VARCHAR2(1000)   CONSTRAINT RQSTER_RULE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME VARCHAR2(100)    CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME VARCHAR2(100)    CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
   "  CONSTRAINT RQSTER_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_NAME),"
   "  CONSTRAINT RQSTER_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
   "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE REQUESTER_GROUP_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_GROUP_NAME   VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_RGN_NN  NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_GRP_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL,"
+  "  DISK_INSTANCE_NAME     VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_DIN_NN  NOT NULL,"
+  "  REQUESTER_GROUP_NAME   VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_RGN_NN  NOT NULL,"
+  "  MOUNT_POLICY_NAME      VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_MPN_NN  NOT NULL,"
+  "  USER_COMMENT           VARCHAR2(1000)   CONSTRAINT RQSTER_GRP_RULE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
   "  CONSTRAINT RQSTER_GRP_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_GROUP_NAME),"
   "  CONSTRAINT RQSTER_GRP_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
@@ -6827,18 +6870,18 @@ namespace catalogue{
   ");"
   "CREATE TABLE ARCHIVE_FILE("
   "  ARCHIVE_FILE_ID         NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
-  "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DIN_NN  NOT NULL,"
-  "  DISK_FILE_ID            VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DFI_NN  NOT NULL,"
+  "  DISK_INSTANCE_NAME      VARCHAR2(100)    CONSTRAINT ARCHIVE_FILE_DIN_NN  NOT NULL,"
+  "  DISK_FILE_ID            VARCHAR2(100)    CONSTRAINT ARCHIVE_FILE_DFI_NN  NOT NULL,"
   "  DISK_FILE_UID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
   "  DISK_FILE_GID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
   "  SIZE_IN_BYTES           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
-  "  CHECKSUM_BLOB           BYTEA,"
+  "  CHECKSUM_BLOB           RAW(200),"
   "  CHECKSUM_ADLER32        NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
   "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
   "  CREATION_TIME           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
   "  RECONCILIATION_TIME     NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
   "  IS_DELETED              CHAR(1)         DEFAULT '0' CONSTRAINT ARCHIVE_FILE_ID_NN NOT NULL,"
-  "  COLLOCATION_HINT        VARCHAR(100),"
+  "  COLLOCATION_HINT        VARCHAR2(100),"
   "  CONSTRAINT ARCHIVE_FILE_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
   "  CONSTRAINT ARCHIVE_FILE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
   "  CONSTRAINT ARCHIVE_FILE_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID),"
@@ -6847,278 +6890,193 @@ namespace catalogue{
   "CREATE INDEX ARCHIVE_FILE_DIN_IDX ON ARCHIVE_FILE(DISK_INSTANCE_NAME);"
   "CREATE INDEX ARCHIVE_FILE_DFI_IDX ON ARCHIVE_FILE(DISK_FILE_ID);"
   "CREATE TABLE TAPE_FILE("
-  "  VID                      VARCHAR(100)   CONSTRAINT TAPE_FILE_V_NN    NOT NULL,"
+  "  VID                      VARCHAR2(100)   CONSTRAINT TAPE_FILE_V_NN    NOT NULL,"
   "  FSEQ                     NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
   "  BLOCK_ID                 NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
   "  LOGICAL_SIZE_IN_BYTES    NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
   "  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,"
-  "  SUPERSEDED_BY_VID        VARCHAR(100),"
-  "  SUPERSEDED_BY_FSEQ       NUMERIC(20, 0)    ,"
-  "  WRITE_START_WRAP         NUMERIC(5, 0),"
-  "  WRITE_START_LPOS         NUMERIC(10, 0),"
-  "  WRITE_END_WRAP           NUMERIC(5, 0),"
-  "  WRITE_END_LPOS           NUMERIC(10, 0),"
-  "  READ_START_WRAP          NUMERIC(5, 0),"
-  "  READ_START_LPOS          NUMERIC(10, 0),"
-  "  READ_END_WRAP            NUMERIC(5, 0),"
-  "  READ_END_LPOS            NUMERIC(10, 0),"
   "  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_SS_VID_FSEQ_FK FOREIGN KEY(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ)"
-  "    REFERENCES TAPE_FILE(VID, FSEQ)"
+  "  CONSTRAINT TAPE_FILE_COPY_NB_GT_0_CK CHECK(COPY_NB > 0)"
   ");"
   "CREATE INDEX TAPE_FILE_VID_IDX ON TAPE_FILE(VID);"
   "CREATE INDEX TAPE_FILE_ARCHIVE_FILE_ID_IDX ON TAPE_FILE(ARCHIVE_FILE_ID);"
-  "CREATE INDEX TAPE_FILE_SBV_SBF_IDX ON TAPE_FILE(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ);"
   "CREATE TABLE ACTIVITIES_WEIGHTS ("
-  "  DISK_INSTANCE_NAME       VARCHAR(100),"
-  "  ACTIVITY                 VARCHAR(100),"
-  "  WEIGHT                   VARCHAR(100),"
-  "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT ACTIV_WEIGHTS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL,"
+  "  DISK_INSTANCE_NAME       VARCHAR2(100),"
+  "  ACTIVITY                 VARCHAR2(100),"
+  "  WEIGHT                   VARCHAR2(100),"
+  "  USER_COMMENT             VARCHAR2(1000)   CONSTRAINT ACTIV_WEIGHTS_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME   VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME   VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME        NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME    VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME    VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME         NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
   ");"
-  "CREATE TABLE ARCHIVE_FILE_RECYCLE_BIN("
-  "  ARCHIVE_FILE_ID         NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RB_AFI_NN  NOT NULL,"
-  "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_RB_DIN_NN  NOT NULL,"
-  "  DISK_FILE_ID            VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_RB_DFI_NN  NOT NULL,"
-  "  DISK_FILE_ID_WHEN_DELETED VARCHAR(100)  CONSTRAINT ARCHIVE_FILE_RB_DFIWD_NN NOT NULL,"
-  "  DISK_FILE_UID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_RB_DFUID_NN  NOT NULL,"
-  "  DISK_FILE_GID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_RB_DFGID_NN  NOT NULL,"
-  "  SIZE_IN_BYTES           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RB_SIB_NN  NOT NULL,"
-  "  CHECKSUM_BLOB           BYTEA,"
-  "  CHECKSUM_ADLER32        NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_RB_CB2_NN  NOT NULL,"
-  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RB_SCI_NN  NOT NULL,"
-  "  CREATION_TIME           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RB_CT2_NN  NOT NULL,"
-  "  RECONCILIATION_TIME     NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RB_RT_NN   NOT NULL,"
-  "  COLLOCATION_HINT        VARCHAR(100),"
-  "  DISK_FILE_PATH          VARCHAR(2000) CONSTRAINT ARCHIVE_FILE_RB_DFP_NN NOT NULL,"
-  "  DELETION_TIME           NUMERIC(20, 0)    CONSTRAINT ARCHIVE_FILE_RB_DT_NN NOT NULL,"
-  "  CONSTRAINT ARCHIVE_FILE_RB_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
-  "  CONSTRAINT ARCHIVE_FILE_RB_SC_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
-  "  CONSTRAINT ARCHIVE_FILE_RB_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID)"
-  ");"
-  "CREATE TABLE TAPE_FILE_RECYCLE_BIN("
-  "  VID                      VARCHAR(100)   CONSTRAINT TAPE_FILE_RB_V_NN    NOT NULL,"
-  "  FSEQ                     NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_RB_F_NN    NOT NULL,"
-  "  BLOCK_ID                 NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_RB_BI_NN   NOT NULL,"
-  "  LOGICAL_SIZE_IN_BYTES    NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_RB_CSIB_NN NOT NULL,"
-  "  COPY_NB                  NUMERIC(3, 0)      CONSTRAINT TAPE_FILE_RB_CN_NN   NOT NULL,"
-  "  CREATION_TIME            NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_RB_CT_NN   NOT NULL,"
-  "  ARCHIVE_FILE_ID          NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_RB_AFI_NN  NOT NULL,"
-  "  SUPERSEDED_BY_VID        VARCHAR(100),"
-  "  SUPERSEDED_BY_FSEQ       NUMERIC(20, 0),"
-  "  WRITE_START_WRAP         NUMERIC(5, 0),"
-  "  WRITE_START_LPOS         NUMERIC(10, 0),"
-  "  WRITE_END_WRAP           NUMERIC(5, 0),"
-  "  WRITE_END_LPOS           NUMERIC(10, 0),"
-  "  READ_START_WRAP          NUMERIC(5, 0),"
-  "  READ_START_LPOS          NUMERIC(10, 0),"
-  "  READ_END_WRAP            NUMERIC(5, 0),"
-  "  READ_END_LPOS            NUMERIC(10, 0),"
-  "  CONSTRAINT TAPE_FILE_RB_PK PRIMARY KEY(VID, FSEQ),"
-  "  CONSTRAINT TAPE_FILE_RB_TAPE_FK FOREIGN KEY(VID)"
-  "    REFERENCES TAPE(VID),"
-  "  CONSTRAINT TAPE_FILE_RB_ARCHIVE_FILE_FK FOREIGN KEY(ARCHIVE_FILE_ID)"
-  "    REFERENCES ARCHIVE_FILE_RECYCLE_BIN(ARCHIVE_FILE_ID),"
-  "  CONSTRAINT TAPE_FILE_RB_VID_BLOCK_ID_UN UNIQUE(VID, BLOCK_ID),"
-  "  CONSTRAINT TAPE_FILE_RB_COPY_NB_GT_0_CK CHECK(COPY_NB > 0),"
-  "  CONSTRAINT TAPE_FILE_RB_SS_VID_FSEQ_FK FOREIGN KEY(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ)"
-  "    REFERENCES TAPE_FILE_RECYCLE_BIN(VID, FSEQ)"
+  "CREATE TABLE FILE_RECYCLE_LOG("
+  "  FILE_RECYCLE_LOG_ID        NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_ID_NN NOT NULL,"
+  "  VID                        VARCHAR2(100)        CONSTRAINT FILE_RECYCLE_LOG_VID_NN NOT NULL,"
+  "  FSEQ                       NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_FSEQ_NN NOT NULL,"
+  "  BLOCK_ID                   NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_BID_NN NOT NULL,"
+  "  COPY_NB                    NUMERIC(3, 0)           CONSTRAINT FILE_RECYCLE_LOG_COPY_NB_NN NOT NULL,"
+  "  TAPE_FILE_CREATION_TIME    NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_TFCT_NN NOT NULL,"
+  "  ARCHIVE_FILE_ID            NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_AFI_NN NOT NULL,"
+  "  DISK_INSTANCE_NAME         VARCHAR2(100)        CONSTRAINT FILE_RECYCLE_LOG_DIN_NN NOT NULL,"
+  "  DISK_FILE_ID               VARCHAR2(100)        CONSTRAINT FILE_RECYCLE_LOG_DFI_NN NOT NULL,"
+  "  DISK_FILE_ID_WHEN_DELETED  VARCHAR2(100)        CONSTRAINT FILE_RECYCLE_LOG_DFIWD_NN NOT NULL,"
+  "  DISK_FILE_UID              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_DFU_NN NOT NULL,"
+  "  DISK_FILE_GID              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_DFG_NN NOT NULL,"
+  "  SIZE_IN_BYTES              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_SIB_NN NOT NULL,"
+  "  CHECKSUM_BLOB              RAW(200),"
+  "  CHECKSUM_ADLER32           NUMERIC(10, 0)          CONSTRAINT FILE_RECYCLE_LOG_CA_NN NOT NULL,"
+  "  STORAGE_CLASS_ID           NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_SCI_NN NOT NULL,"
+  "  ARCHIVE_FILE_CREATION_TIME NUMERIC(20, 0)          CONSTRAINT FILE_RECYLE_LOG_CT_NN NOT NULL,"
+  "  RECONCILIATION_TIME        NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_RT_NN NOT NULL,"
+  "  COLLOCATION_HINT           VARCHAR2(100),"
+  "  DISK_FILE_PATH             VARCHAR2(2000),"
+  "  REASON_LOG                 VARCHAR2(1000)       CONSTRAINT FILE_RECYCLE_LOG_RL_NN NOT NULL,"
+  "  RECYCLE_LOG_TIME           NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_RLT_NN NOT NULL,"
+  "  CONSTRAINT FILE_RECYCLE_LOG_PK PRIMARY KEY(FILE_RECYCLE_LOG_ID),"
+  "  CONSTRAINT FILE_RECYCLE_LOG_VID_FK FOREIGN KEY(VID) REFERENCES TAPE(VID),"
+  "  CONSTRAINT FILE_RECYCLE_LOG_SC_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID)"
   ");"
+  "CREATE INDEX FILE_RECYCLE_LOG_DFI_IDX ON FILE_RECYCLE_LOG(DISK_FILE_ID);"
   "INSERT INTO CTA_CATALOGUE("
   "  SCHEMA_VERSION_MAJOR,"
   "  SCHEMA_VERSION_MINOR,"
   "  STATUS)"
   "VALUES("
-  "  3,"
-  "  1,"
+  "  4,"
+  "  0,"
   "  '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='PRODUCTION') OR (STATUS='UPGRADING'));"
+  "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;"
       },
-    }  },
-  {"3.2",
-    {
-      {"oracle",  "CREATE SEQUENCE ARCHIVE_FILE_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 4294967296"
-  "  NOMAXVALUE"
-  "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
-  "CREATE SEQUENCE LOGICAL_LIBRARY_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NOMAXVALUE"
-  "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
-  "CREATE SEQUENCE MEDIA_TYPE_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NOMAXVALUE"
-  "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
-  "CREATE SEQUENCE STORAGE_CLASS_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 10000"
-  "  NOMAXVALUE"
-  "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
-  "CREATE SEQUENCE TAPE_POOL_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NOMAXVALUE"
-  "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
-  "CREATE SEQUENCE VIRTUAL_ORGANIZATION_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NOMAXVALUE"
-  "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
-  "CREATE SEQUENCE FILE_RECYCLE_LOG_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NOMAXVALUE"
-  "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
-  "CREATE GLOBAL TEMPORARY TABLE TEMP_TAPE_FILE_INSERTION_BATCH("
-  "  VID                   VARCHAR2(100),"
-  "  FSEQ                  NUMERIC(20, 0)  ,"
-  "  BLOCK_ID              NUMERIC(20, 0)  ,"
-  "  LOGICAL_SIZE_IN_BYTES NUMERIC(20, 0)  ,"
-  "  COPY_NB               NUMERIC(3, 0)   ,"
-  "  CREATION_TIME         NUMERIC(20, 0)  ,"
-  "  ARCHIVE_FILE_ID       NUMERIC(20, 0)"
-  ")"
-  "ON COMMIT DELETE ROWS;"
-  "CREATE INDEX TEMP_T_F_I_B_AFI_IDX ON TEMP_TAPE_FILE_INSERTION_BATCH(ARCHIVE_FILE_ID);"
+  {"sqlite",  "CREATE TABLE ARCHIVE_FILE_ID("
+  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
+  ");"
+  "CREATE TABLE LOGICAL_LIBRARY_ID("
+  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
+  ");"
+  "CREATE TABLE MEDIA_TYPE_ID("
+  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
+  ");"
+  "CREATE TABLE STORAGE_CLASS_ID("
+  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
+  ");"
+  "CREATE TABLE TAPE_POOL_ID("
+  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
+  ");"
+  "CREATE TABLE VIRTUAL_ORGANIZATION_ID("
+  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
+  ");"
+  "CREATE TABLE FILE_RECYCLE_LOG_ID("
+  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
+  ");"
   "CREATE TABLE CTA_CATALOGUE("
-  "  SCHEMA_VERSION_MAJOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
-  "  SCHEMA_VERSION_MINOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
-  "  NEXT_SCHEMA_VERSION_MAJOR NUMERIC(20, 0),"
-  "  NEXT_SCHEMA_VERSION_MINOR NUMERIC(20, 0),"
-  "  STATUS                  VARCHAR2(100),"
+  "  SCHEMA_VERSION_MAJOR    INTEGER      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
+  "  SCHEMA_VERSION_MINOR    INTEGER      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
+  "  NEXT_SCHEMA_VERSION_MAJOR INTEGER,"
+  "  NEXT_SCHEMA_VERSION_MINOR INTEGER,"
+  "  STATUS                  VARCHAR(100),"
   "  IS_PRODUCTION           CHAR(1)         DEFAULT '0' CONSTRAINT CTA_CATALOGUE_IP_NN NOT NULL,"
   "  CONSTRAINT CTA_CATALOGUE_IP_BOOL_CK     CHECK(IS_PRODUCTION IN ('0','1'))"
   ");"
   "CREATE TABLE ADMIN_USER("
-  "  ADMIN_USER_NAME         VARCHAR2(100)    CONSTRAINT ADMIN_USER_AUN_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
+  "  ADMIN_USER_NAME         VARCHAR(100)    CONSTRAINT ADMIN_USER_AUN_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
   "  CONSTRAINT ADMIN_USER_PK PRIMARY KEY(ADMIN_USER_NAME)"
   ");"
   "CREATE TABLE DISK_SYSTEM("
-  "  DISK_SYSTEM_NAME        VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
-  "  FILE_REGEXP             VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
-  "  FREE_SPACE_QUERY_URL    VARCHAR2(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
-  "  REFRESH_INTERVAL        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
-  "  TARGETED_FREE_SPACE     NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
-  "  SLEEP_TIME              NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
+  "  DISK_SYSTEM_NAME        VARCHAR(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
+  "  FILE_REGEXP             VARCHAR(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
+  "  FREE_SPACE_QUERY_URL    VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
+  "  REFRESH_INTERVAL        INTEGER      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
+  "  TARGETED_FREE_SPACE     INTEGER      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
+  "  SLEEP_TIME              INTEGER      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
+  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
   "  CONSTRAINT NAME_PK PRIMARY KEY(DISK_SYSTEM_NAME)"
   ");"
   "CREATE TABLE VIRTUAL_ORGANIZATION("
-  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_VOI_NN  NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_NAME VARCHAR2(100)  CONSTRAINT VIRTUAL_ORGANIZATION_VON_NN  NOT NULL,"
-  "  READ_MAX_DRIVES NUMERIC(20, 0),"
-  "  WRITE_MAX_DRIVES NUMERIC(20, 0),"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT VIRTUAL_ORGANIZATION_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_LUT_NN  NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID INTEGER      CONSTRAINT VIRTUAL_ORGANIZATION_VOI_NN  NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_NAME VARCHAR(100)  CONSTRAINT VIRTUAL_ORGANIZATION_VON_NN  NOT NULL,"
+  "  READ_MAX_DRIVES INTEGER              CONSTRAINT VIRTUAL_ORGANIZATION_RMD_NN  NOT NULL,"
+  "  WRITE_MAX_DRIVES INTEGER             CONSTRAINT VIRTUAL_ORGANIZATION_WMD_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT VIRTUAL_ORGANIZATION_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT VIRTUAL_ORGANIZATION_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT VIRTUAL_ORGANIZATION_LUT_NN  NOT NULL,"
   "  CONSTRAINT VIRTUAL_ORGANIZATION_PK PRIMARY KEY(VIRTUAL_ORGANIZATION_ID),"
   "  CONSTRAINT VIRTUAL_ORGANIZATION_VON_UN UNIQUE(VIRTUAL_ORGANIZATION_NAME)"
   ");"
   "CREATE TABLE STORAGE_CLASS("
-  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
-  "  STORAGE_CLASS_NAME      VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
-  "  NB_COPIES               NUMERIC(3, 0)       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT STORAGE_CLASS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
+  "  STORAGE_CLASS_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
+  "  NB_COPIES               INTEGER       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID INTEGER      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT STORAGE_CLASS_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
   "  CONSTRAINT STORAGE_CLASS_PK PRIMARY KEY(STORAGE_CLASS_ID),"
   "  CONSTRAINT STORAGE_CLASS_SCN_UN UNIQUE(STORAGE_CLASS_NAME),"
   "  CONSTRAINT STORAGE_CLASS_VOI_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
   ");"
   "CREATE TABLE TAPE_POOL("
-  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
-  "  TAPE_POOL_NAME          VARCHAR2(100)    CONSTRAINT TAPE_POOL_TPN_NN  NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_VOI_NN  NOT NULL,"
-  "  NB_PARTIAL_TAPES        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
+  "  TAPE_POOL_ID            INTEGER      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
+  "  TAPE_POOL_NAME          VARCHAR(100)    CONSTRAINT TAPE_POOL_TPN_NN  NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID INTEGER      CONSTRAINT TAPE_POOL_VOI_NN  NOT NULL,"
+  "  NB_PARTIAL_TAPES        INTEGER      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
   "  IS_ENCRYPTED            CHAR(1)         CONSTRAINT TAPE_POOL_IE_NN   NOT NULL,"
-  "  SUPPLY                  VARCHAR2(100),"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT TAPE_POOL_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
+  "  SUPPLY                  VARCHAR(100),"
+  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT TAPE_POOL_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
   "  CONSTRAINT TAPE_POOL_PK PRIMARY KEY(TAPE_POOL_ID),"
   "  CONSTRAINT TAPE_POOL_TPN_UN UNIQUE(TAPE_POOL_NAME),"
   "  CONSTRAINT TAPE_POOL_IS_ENCRYPTED_BOOL_CK CHECK(IS_ENCRYPTED IN ('0', '1')),"
   "  CONSTRAINT TAPE_POOL_VO_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
   ");"
   "CREATE TABLE ARCHIVE_ROUTE("
-  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
-  "  COPY_NB                 NUMERIC(3, 0)       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
-  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT ARCHIVE_ROUTE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
+  "  COPY_NB                 INTEGER       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
+  "  TAPE_POOL_ID            INTEGER      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ARCHIVE_ROUTE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
   "  CONSTRAINT ARCHIVE_ROUTE_PK PRIMARY KEY(STORAGE_CLASS_ID, COPY_NB),"
   "  CONSTRAINT ARCHIVE_ROUTE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
   "  CONSTRAINT ARCHIVE_ROUTE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
@@ -7126,153 +7084,147 @@ namespace catalogue{
   "  CONSTRAINT ARCHIVE_ROUTE_SCI_TPI_UN UNIQUE(STORAGE_CLASS_ID, TAPE_POOL_ID)"
   ");"
   "CREATE TABLE MEDIA_TYPE("
-  "  MEDIA_TYPE_ID          NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_MTI_NN  NOT NULL,"
-  "  MEDIA_TYPE_NAME        VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_MTN_NN  NOT NULL,"
-  "  CARTRIDGE              VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_C_NN    NOT NULL,"
-  "  CAPACITY_IN_BYTES      NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_CIB_NN  NOT NULL,"
-  "  PRIMARY_DENSITY_CODE   NUMERIC(3, 0),"
-  "  SECONDARY_DENSITY_CODE NUMERIC(3, 0),"
-  "  NB_WRAPS               NUMERIC(10, 0),"
-  "  MIN_LPOS               NUMERIC(20, 0),"
-  "  MAX_LPOS               NUMERIC(20, 0),"
-  "  USER_COMMENT           VARCHAR2(1000) CONSTRAINT MEDIA_TYPE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_LUT_NN  NOT NULL,"
+  "  MEDIA_TYPE_ID          INTEGER    CONSTRAINT MEDIA_TYPE_MTI_NN  NOT NULL,"
+  "  MEDIA_TYPE_NAME        VARCHAR(100)  CONSTRAINT MEDIA_TYPE_MTN_NN  NOT NULL,"
+  "  CARTRIDGE              VARCHAR(100)  CONSTRAINT MEDIA_TYPE_C_NN    NOT NULL,"
+  "  CAPACITY_IN_BYTES      INTEGER    CONSTRAINT MEDIA_TYPE_CIB_NN  NOT NULL,"
+  "  PRIMARY_DENSITY_CODE   INTEGER,"
+  "  SECONDARY_DENSITY_CODE INTEGER,"
+  "  NB_WRAPS               INTEGER,"
+  "  MIN_LPOS               INTEGER,"
+  "  MAX_LPOS               INTEGER,"
+  "  USER_COMMENT           VARCHAR(1000) CONSTRAINT MEDIA_TYPE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME VARCHAR(100)  CONSTRAINT MEDIA_TYPE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME VARCHAR(100)  CONSTRAINT MEDIA_TYPE_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME      INTEGER    CONSTRAINT MEDIA_TYPE_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME  VARCHAR(100)  CONSTRAINT MEDIA_TYPE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)  CONSTRAINT MEDIA_TYPE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME       INTEGER    CONSTRAINT MEDIA_TYPE_LUT_NN  NOT NULL,"
   "  CONSTRAINT MEDIA_TYPE_PK PRIMARY KEY(MEDIA_TYPE_ID),"
   "  CONSTRAINT MEDIA_TYPE_MTN_UN UNIQUE(MEDIA_TYPE_NAME)"
   ");"
   "CREATE TABLE LOGICAL_LIBRARY("
-  "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
-  "  LOGICAL_LIBRARY_NAME    VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_LLN_NN  NOT NULL,"
+  "  LOGICAL_LIBRARY_ID      INTEGER      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
+  "  LOGICAL_LIBRARY_NAME    VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LLN_NN  NOT NULL,"
   "  IS_DISABLED             CHAR(1)         DEFAULT '0' CONSTRAINT LOGICAL_LIBRARY_ID_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT LOGICAL_LIBRARY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT LOGICAL_LIBRARY_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
   "  CONSTRAINT LOGICAL_LIBRARY_PK PRIMARY KEY(LOGICAL_LIBRARY_ID),"
   "  CONSTRAINT LOGICAL_LIBRARY_LLN_UN UNIQUE(LOGICAL_LIBRARY_NAME),"
   "  CONSTRAINT LOGICAL_LIBRARY_ID_BOOL_CK CHECK(IS_DISABLED IN ('0', '1'))"
   ");"
   "CREATE TABLE TAPE("
-  "  VID                     VARCHAR2(100)    CONSTRAINT TAPE_V_NN    NOT NULL,"
-  "  MEDIA_TYPE_ID           NUMERIC(20, 0)      CONSTRAINT TAPE_MTID_NN   NOT NULL,"
-  "  VENDOR                  VARCHAR2(100)    CONSTRAINT TAPE_V2_NN   NOT NULL,"
-  "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
-  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
-  "  ENCRYPTION_KEY_NAME     VARCHAR2(100),"
-  "  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),"
+  "  VID                     VARCHAR(100)    CONSTRAINT TAPE_V_NN    NOT NULL,"
+  "  MEDIA_TYPE_ID           INTEGER      CONSTRAINT TAPE_MTID_NN   NOT NULL,"
+  "  VENDOR                  VARCHAR(100)    CONSTRAINT TAPE_V2_NN   NOT NULL,"
+  "  LOGICAL_LIBRARY_ID      INTEGER      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
+  "  TAPE_POOL_ID            INTEGER      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
+  "  ENCRYPTION_KEY_NAME     VARCHAR(100),"
+  "  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_FULL                 CHAR(1)         CONSTRAINT TAPE_IF_NN   NOT NULL,"
-  "  IS_READ_ONLY            CHAR(1),"
   "  IS_FROM_CASTOR          CHAR(1)         CONSTRAINT TAPE_IFC_NN  NOT NULL,"
   "  DIRTY                   CHAR(1)         DEFAULT '1' CONSTRAINT TAPE_DIRTY_NN NOT NULL,"
-  "  NB_COPY_NB_1            NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_1_NN NOT NULL,"
-  "  COPY_NB_1_IN_BYTES      NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_1_IN_BYTES_NN NOT NULL,"
-  "  NB_COPY_NB_GT_1         NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_GT_1_NN NOT NULL,"
-  "  COPY_NB_GT_1_IN_BYTES   NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_GT_1_IN_BYTES_NN NOT NULL,"
-  "  LABEL_DRIVE             VARCHAR2(100),"
-  "  LABEL_TIME              NUMERIC(20, 0)    ,"
-  "  LAST_READ_DRIVE         VARCHAR2(100),"
-  "  LAST_READ_TIME          NUMERIC(20, 0)    ,"
-  "  LAST_WRITE_DRIVE        VARCHAR2(100),"
-  "  LAST_WRITE_TIME         NUMERIC(20, 0)    ,"
-  "  READ_MOUNT_COUNT        NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
-  "  WRITE_MOUNT_COUNT       NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000),"
-  "  TAPE_STATE              VARCHAR2(100),"
-  "  STATE_REASON            VARCHAR2(1000),"
-  "  STATE_UPDATE_TIME       NUMERIC(20, 0),"
-  "  STATE_MODIFIED_BY       VARCHAR2(100),"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT TAPE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT TAPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
+  "  NB_COPY_NB_1            INTEGER     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_1_NN NOT NULL,"
+  "  COPY_NB_1_IN_BYTES      INTEGER     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_1_IN_BYTES_NN NOT NULL,"
+  "  NB_COPY_NB_GT_1         INTEGER     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_GT_1_NN NOT NULL,"
+  "  COPY_NB_GT_1_IN_BYTES   INTEGER     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_GT_1_IN_BYTES_NN NOT NULL,"
+  "  LABEL_DRIVE             VARCHAR(100),"
+  "  LABEL_TIME              INTEGER    ,"
+  "  LAST_READ_DRIVE         VARCHAR(100),"
+  "  LAST_READ_TIME          INTEGER    ,"
+  "  LAST_WRITE_DRIVE        VARCHAR(100),"
+  "  LAST_WRITE_TIME         INTEGER    ,"
+  "  READ_MOUNT_COUNT        INTEGER      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
+  "  WRITE_MOUNT_COUNT       INTEGER      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
+  "  USER_COMMENT            VARCHAR(1000),"
+  "  TAPE_STATE              VARCHAR(100)    CONSTRAINT TAPE_TS_NN NOT NULL,"
+  "  STATE_REASON            VARCHAR(1000),"
+  "  STATE_UPDATE_TIME       INTEGER      CONSTRAINT TAPE_SUT_NN NOT NULL,"
+  "  STATE_MODIFIED_BY       VARCHAR(100)    CONSTRAINT TAPE_SMB_NN NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
   "  CONSTRAINT TAPE_PK PRIMARY KEY(VID),"
   "  CONSTRAINT TAPE_LOGICAL_LIBRARY_FK FOREIGN KEY(LOGICAL_LIBRARY_ID) REFERENCES LOGICAL_LIBRARY(LOGICAL_LIBRARY_ID),"
   "  CONSTRAINT TAPE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
-  "  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_DIRTY_BOOL_CK CHECK(DIRTY IN ('0','1')),"
   "  CONSTRAINT TAPE_STATE_CK CHECK(TAPE_STATE IN ('ACTIVE', 'DISABLED', 'BROKEN')),"
   "  CONSTRAINT TAPE_MEDIA_TYPE_FK FOREIGN KEY(MEDIA_TYPE_ID) REFERENCES MEDIA_TYPE(MEDIA_TYPE_ID)"
   ");"
   "CREATE INDEX TAPE_TAPE_POOL_ID_IDX ON TAPE(TAPE_POOL_ID);"
-  "CREATE INDEX TAPE_IS_DISABLED_IDX ON TAPE(IS_DISABLED);"
   "CREATE INDEX TAPE_STATE_IDX ON TAPE(TAPE_STATE);"
   "CREATE TABLE MOUNT_POLICY("
-  "  MOUNT_POLICY_NAME          VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
-  "  ARCHIVE_PRIORITY           NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
-  "  ARCHIVE_MIN_REQUEST_AGE    NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
-  "  RETRIEVE_PRIORITY          NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
-  "  RETRIEVE_MIN_REQUEST_AGE   NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
-  "  MAX_DRIVES_ALLOWED         NUMERIC(20, 0),"
-  "  USER_COMMENT               VARCHAR2(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME     VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME     VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME          NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME      VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME      VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME           NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
+  "  MOUNT_POLICY_NAME          VARCHAR(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
+  "  ARCHIVE_PRIORITY           INTEGER      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
+  "  ARCHIVE_MIN_REQUEST_AGE    INTEGER      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
+  "  RETRIEVE_PRIORITY          INTEGER      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
+  "  RETRIEVE_MIN_REQUEST_AGE   INTEGER      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
+  "  USER_COMMENT               VARCHAR(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME     VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME     VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME          INTEGER      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME      VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME      VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME           INTEGER      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
   "  CONSTRAINT MOUNT_POLICY_PK PRIMARY KEY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE REQUESTER_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR2(100)    CONSTRAINT RQSTER_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_NAME         VARCHAR2(100)    CONSTRAINT RQSTER_RULE_RN_NN   NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR2(100)    CONSTRAINT RQSTER_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR2(1000)   CONSTRAINT RQSTER_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR2(100)    CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR2(100)    CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
+  "  DISK_INSTANCE_NAME     VARCHAR(100)    CONSTRAINT RQSTER_RULE_DIN_NN  NOT NULL,"
+  "  REQUESTER_NAME         VARCHAR(100)    CONSTRAINT RQSTER_RULE_RN_NN   NOT NULL,"
+  "  MOUNT_POLICY_NAME      VARCHAR(100)    CONSTRAINT RQSTER_RULE_MPN_NN  NOT NULL,"
+  "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_RULE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME      INTEGER      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME       INTEGER      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
   "  CONSTRAINT RQSTER_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_NAME),"
   "  CONSTRAINT RQSTER_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
   "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE REQUESTER_GROUP_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_GROUP_NAME   VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_RGN_NN  NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR2(1000)   CONSTRAINT RQSTER_GRP_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
+  "  DISK_INSTANCE_NAME     VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_DIN_NN  NOT NULL,"
+  "  REQUESTER_GROUP_NAME   VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_RGN_NN  NOT NULL,"
+  "  MOUNT_POLICY_NAME      VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_MPN_NN  NOT NULL,"
+  "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_GRP_RULE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME      INTEGER      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME       INTEGER      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
   "  CONSTRAINT RQSTER_GRP_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_GROUP_NAME),"
   "  CONSTRAINT RQSTER_GRP_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
   "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE ARCHIVE_FILE("
-  "  ARCHIVE_FILE_ID         NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
-  "  DISK_INSTANCE_NAME      VARCHAR2(100)    CONSTRAINT ARCHIVE_FILE_DIN_NN  NOT NULL,"
-  "  DISK_FILE_ID            VARCHAR2(100)    CONSTRAINT ARCHIVE_FILE_DFI_NN  NOT NULL,"
-  "  DISK_FILE_UID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
-  "  DISK_FILE_GID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
-  "  SIZE_IN_BYTES           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
-  "  CHECKSUM_BLOB           RAW(200),"
-  "  CHECKSUM_ADLER32        NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
-  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
-  "  CREATION_TIME           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
-  "  RECONCILIATION_TIME     NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
+  "  ARCHIVE_FILE_ID         INTEGER      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
+  "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DIN_NN  NOT NULL,"
+  "  DISK_FILE_ID            VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DFI_NN  NOT NULL,"
+  "  DISK_FILE_UID           INTEGER      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
+  "  DISK_FILE_GID           INTEGER      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
+  "  SIZE_IN_BYTES           INTEGER      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
+  "  CHECKSUM_BLOB           BLOB(200),"
+  "  CHECKSUM_ADLER32        INTEGER      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
+  "  CREATION_TIME           INTEGER      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
+  "  RECONCILIATION_TIME     INTEGER      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
   "  IS_DELETED              CHAR(1)         DEFAULT '0' CONSTRAINT ARCHIVE_FILE_ID_NN NOT NULL,"
-  "  COLLOCATION_HINT        VARCHAR2(100),"
+  "  COLLOCATION_HINT        VARCHAR(100),"
   "  CONSTRAINT ARCHIVE_FILE_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
   "  CONSTRAINT ARCHIVE_FILE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
   "  CONSTRAINT ARCHIVE_FILE_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID),"
@@ -7281,119 +7233,58 @@ namespace catalogue{
   "CREATE INDEX ARCHIVE_FILE_DIN_IDX ON ARCHIVE_FILE(DISK_INSTANCE_NAME);"
   "CREATE INDEX ARCHIVE_FILE_DFI_IDX ON ARCHIVE_FILE(DISK_FILE_ID);"
   "CREATE TABLE TAPE_FILE("
-  "  VID                      VARCHAR2(100)   CONSTRAINT TAPE_FILE_V_NN    NOT NULL,"
-  "  FSEQ                     NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
-  "  BLOCK_ID                 NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
-  "  LOGICAL_SIZE_IN_BYTES    NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
-  "  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,"
-  "  SUPERSEDED_BY_VID        VARCHAR2(100),"
-  "  SUPERSEDED_BY_FSEQ       NUMERIC(20, 0)    ,"
-  "  WRITE_START_WRAP         NUMERIC(5, 0),"
-  "  WRITE_START_LPOS         NUMERIC(10, 0),"
-  "  WRITE_END_WRAP           NUMERIC(5, 0),"
-  "  WRITE_END_LPOS           NUMERIC(10, 0),"
-  "  READ_START_WRAP          NUMERIC(5, 0),"
-  "  READ_START_LPOS          NUMERIC(10, 0),"
-  "  READ_END_WRAP            NUMERIC(5, 0),"
-  "  READ_END_LPOS            NUMERIC(10, 0),"
+  "  VID                      VARCHAR(100)   CONSTRAINT TAPE_FILE_V_NN    NOT NULL,"
+  "  FSEQ                     INTEGER     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
+  "  BLOCK_ID                 INTEGER     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
+  "  LOGICAL_SIZE_IN_BYTES    INTEGER     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
+  "  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,"
   "  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_SS_VID_FSEQ_FK FOREIGN KEY(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ)"
-  "    REFERENCES TAPE_FILE(VID, FSEQ)"
+  "  CONSTRAINT TAPE_FILE_COPY_NB_GT_0_CK CHECK(COPY_NB > 0)"
   ");"
   "CREATE INDEX TAPE_FILE_VID_IDX ON TAPE_FILE(VID);"
   "CREATE INDEX TAPE_FILE_ARCHIVE_FILE_ID_IDX ON TAPE_FILE(ARCHIVE_FILE_ID);"
-  "CREATE INDEX TAPE_FILE_SBV_SBF_IDX ON TAPE_FILE(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ);"
   "CREATE TABLE ACTIVITIES_WEIGHTS ("
-  "  DISK_INSTANCE_NAME       VARCHAR2(100),"
-  "  ACTIVITY                 VARCHAR2(100),"
-  "  WEIGHT                   VARCHAR2(100),"
-  "  USER_COMMENT             VARCHAR2(1000)   CONSTRAINT ACTIV_WEIGHTS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME   VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME   VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME        NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME    VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME    VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME         NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
-  ");"
-  "CREATE TABLE ARCHIVE_FILE_RECYCLE_BIN("
-  "  ARCHIVE_FILE_ID         NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RB_AFI_NN  NOT NULL,"
-  "  DISK_INSTANCE_NAME      VARCHAR2(100)    CONSTRAINT ARCHIVE_FILE_RB_DIN_NN  NOT NULL,"
-  "  DISK_FILE_ID            VARCHAR2(100)    CONSTRAINT ARCHIVE_FILE_RB_DFI_NN  NOT NULL,"
-  "  DISK_FILE_ID_WHEN_DELETED VARCHAR2(100)  CONSTRAINT ARCHIVE_FILE_RB_DFIWD_NN NOT NULL,"
-  "  DISK_FILE_UID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_RB_DFUID_NN  NOT NULL,"
-  "  DISK_FILE_GID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_RB_DFGID_NN  NOT NULL,"
-  "  SIZE_IN_BYTES           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RB_SIB_NN  NOT NULL,"
-  "  CHECKSUM_BLOB           RAW(200),"
-  "  CHECKSUM_ADLER32        NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_RB_CB2_NN  NOT NULL,"
-  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RB_SCI_NN  NOT NULL,"
-  "  CREATION_TIME           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RB_CT2_NN  NOT NULL,"
-  "  RECONCILIATION_TIME     NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RB_RT_NN   NOT NULL,"
-  "  COLLOCATION_HINT        VARCHAR2(100),"
-  "  DISK_FILE_PATH          VARCHAR2(2000) CONSTRAINT ARCHIVE_FILE_RB_DFP_NN NOT NULL,"
-  "  DELETION_TIME           NUMERIC(20, 0)    CONSTRAINT ARCHIVE_FILE_RB_DT_NN NOT NULL,"
-  "  CONSTRAINT ARCHIVE_FILE_RB_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
-  "  CONSTRAINT ARCHIVE_FILE_RB_SC_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
-  "  CONSTRAINT ARCHIVE_FILE_RB_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID)"
-  ");"
-  "CREATE TABLE TAPE_FILE_RECYCLE_BIN("
-  "  VID                      VARCHAR2(100)   CONSTRAINT TAPE_FILE_RB_V_NN    NOT NULL,"
-  "  FSEQ                     NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_RB_F_NN    NOT NULL,"
-  "  BLOCK_ID                 NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_RB_BI_NN   NOT NULL,"
-  "  LOGICAL_SIZE_IN_BYTES    NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_RB_CSIB_NN NOT NULL,"
-  "  COPY_NB                  NUMERIC(3, 0)      CONSTRAINT TAPE_FILE_RB_CN_NN   NOT NULL,"
-  "  CREATION_TIME            NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_RB_CT_NN   NOT NULL,"
-  "  ARCHIVE_FILE_ID          NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_RB_AFI_NN  NOT NULL,"
-  "  SUPERSEDED_BY_VID        VARCHAR2(100),"
-  "  SUPERSEDED_BY_FSEQ       NUMERIC(20, 0),"
-  "  WRITE_START_WRAP         NUMERIC(5, 0),"
-  "  WRITE_START_LPOS         NUMERIC(10, 0),"
-  "  WRITE_END_WRAP           NUMERIC(5, 0),"
-  "  WRITE_END_LPOS           NUMERIC(10, 0),"
-  "  READ_START_WRAP          NUMERIC(5, 0),"
-  "  READ_START_LPOS          NUMERIC(10, 0),"
-  "  READ_END_WRAP            NUMERIC(5, 0),"
-  "  READ_END_LPOS            NUMERIC(10, 0),"
-  "  CONSTRAINT TAPE_FILE_RB_PK PRIMARY KEY(VID, FSEQ),"
-  "  CONSTRAINT TAPE_FILE_RB_TAPE_FK FOREIGN KEY(VID)"
-  "    REFERENCES TAPE(VID),"
-  "  CONSTRAINT TAPE_FILE_RB_ARCHIVE_FILE_FK FOREIGN KEY(ARCHIVE_FILE_ID)"
-  "    REFERENCES ARCHIVE_FILE_RECYCLE_BIN(ARCHIVE_FILE_ID),"
-  "  CONSTRAINT TAPE_FILE_RB_VID_BLOCK_ID_UN UNIQUE(VID, BLOCK_ID),"
-  "  CONSTRAINT TAPE_FILE_RB_COPY_NB_GT_0_CK CHECK(COPY_NB > 0),"
-  "  CONSTRAINT TAPE_FILE_RB_SS_VID_FSEQ_FK FOREIGN KEY(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ)"
-  "    REFERENCES TAPE_FILE_RECYCLE_BIN(VID, FSEQ)"
+  "  DISK_INSTANCE_NAME       VARCHAR(100),"
+  "  ACTIVITY                 VARCHAR(100),"
+  "  WEIGHT                   VARCHAR(100),"
+  "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT ACTIV_WEIGHTS_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME        INTEGER      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME         INTEGER      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
   ");"
   "CREATE TABLE FILE_RECYCLE_LOG("
-  "  FILE_RECYCLE_LOG_ID        NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_ID_NN NOT NULL,"
-  "  VID                        VARCHAR2(100)        CONSTRAINT FILE_RECYCLE_LOG_VID_NN NOT NULL,"
-  "  FSEQ                       NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_FSEQ_NN NOT NULL,"
-  "  BLOCK_ID                   NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_BID_NN NOT NULL,"
-  "  COPY_NB                    NUMERIC(3, 0)           CONSTRAINT FILE_RECYCLE_LOG_COPY_NB_NN NOT NULL,"
-  "  TAPE_FILE_CREATION_TIME    NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_TFCT_NN NOT NULL,"
-  "  ARCHIVE_FILE_ID            NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_AFI_NN NOT NULL,"
-  "  DISK_INSTANCE_NAME         VARCHAR2(100)        CONSTRAINT FILE_RECYCLE_LOG_DIN_NN NOT NULL,"
-  "  DISK_FILE_ID               VARCHAR2(100)        CONSTRAINT FILE_RECYCLE_LOG_DFI_NN NOT NULL,"
-  "  DISK_FILE_ID_WHEN_DELETED  VARCHAR2(100)        CONSTRAINT FILE_RECYCLE_LOG_DFIWD_NN NOT NULL,"
-  "  DISK_FILE_UID              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_DFU_NN NOT NULL,"
-  "  DISK_FILE_GID              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_DFG_NN NOT NULL,"
-  "  SIZE_IN_BYTES              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_SIB_NN NOT NULL,"
-  "  CHECKSUM_BLOB              RAW(200),"
-  "  CHECKSUM_ADLER32           NUMERIC(10, 0)          CONSTRAINT FILE_RECYCLE_LOG_CA_NN NOT NULL,"
-  "  STORAGE_CLASS_ID           NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_SCI_NN NOT NULL,"
-  "  ARCHIVE_FILE_CREATION_TIME NUMERIC(20, 0)          CONSTRAINT FILE_RECYLE_LOG_CT_NN NOT NULL,"
-  "  RECONCILIATION_TIME        NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_RT_NN NOT NULL,"
-  "  COLLOCATION_HINT           VARCHAR2(100),"
-  "  DISK_FILE_PATH             VARCHAR2(2000),"
-  "  REASON_LOG                 VARCHAR2(1000)       CONSTRAINT FILE_RECYCLE_LOG_RL_NN NOT NULL,"
-  "  RECYCLE_LOG_TIME           NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_RLT_NN NOT NULL,"
+  "  FILE_RECYCLE_LOG_ID        INTEGER          CONSTRAINT FILE_RECYCLE_LOG_ID_NN NOT NULL,"
+  "  VID                        VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_VID_NN NOT NULL,"
+  "  FSEQ                       INTEGER          CONSTRAINT FILE_RECYCLE_LOG_FSEQ_NN NOT NULL,"
+  "  BLOCK_ID                   INTEGER          CONSTRAINT FILE_RECYCLE_LOG_BID_NN NOT NULL,"
+  "  COPY_NB                    INTEGER           CONSTRAINT FILE_RECYCLE_LOG_COPY_NB_NN NOT NULL,"
+  "  TAPE_FILE_CREATION_TIME    INTEGER          CONSTRAINT FILE_RECYCLE_LOG_TFCT_NN NOT NULL,"
+  "  ARCHIVE_FILE_ID            INTEGER          CONSTRAINT FILE_RECYCLE_LOG_AFI_NN NOT NULL,"
+  "  DISK_INSTANCE_NAME         VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DIN_NN NOT NULL,"
+  "  DISK_FILE_ID               VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DFI_NN NOT NULL,"
+  "  DISK_FILE_ID_WHEN_DELETED  VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DFIWD_NN NOT NULL,"
+  "  DISK_FILE_UID              INTEGER          CONSTRAINT FILE_RECYCLE_LOG_DFU_NN NOT NULL,"
+  "  DISK_FILE_GID              INTEGER          CONSTRAINT FILE_RECYCLE_LOG_DFG_NN NOT NULL,"
+  "  SIZE_IN_BYTES              INTEGER          CONSTRAINT FILE_RECYCLE_LOG_SIB_NN NOT NULL,"
+  "  CHECKSUM_BLOB              BLOB(200),"
+  "  CHECKSUM_ADLER32           INTEGER          CONSTRAINT FILE_RECYCLE_LOG_CA_NN NOT NULL,"
+  "  STORAGE_CLASS_ID           INTEGER          CONSTRAINT FILE_RECYCLE_LOG_SCI_NN NOT NULL,"
+  "  ARCHIVE_FILE_CREATION_TIME INTEGER          CONSTRAINT FILE_RECYLE_LOG_CT_NN NOT NULL,"
+  "  RECONCILIATION_TIME        INTEGER          CONSTRAINT FILE_RECYCLE_LOG_RT_NN NOT NULL,"
+  "  COLLOCATION_HINT           VARCHAR(100),"
+  "  DISK_FILE_PATH             VARCHAR(2000),"
+  "  REASON_LOG                 VARCHAR(1000)       CONSTRAINT FILE_RECYCLE_LOG_RL_NN NOT NULL,"
+  "  RECYCLE_LOG_TIME           INTEGER          CONSTRAINT FILE_RECYCLE_LOG_RLT_NN NOT NULL,"
   "  CONSTRAINT FILE_RECYCLE_LOG_PK PRIMARY KEY(FILE_RECYCLE_LOG_ID),"
   "  CONSTRAINT FILE_RECYCLE_LOG_VID_FK FOREIGN KEY(VID) REFERENCES TAPE(VID),"
   "  CONSTRAINT FILE_RECYCLE_LOG_SC_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID)"
@@ -7404,53 +7295,64 @@ namespace catalogue{
   "  SCHEMA_VERSION_MINOR,"
   "  STATUS)"
   "VALUES("
-  "  3,"
-  "  2,"
+  "  4,"
+  "  0,"
   "  '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;"
       },
-  {"mysql",  "CREATE TABLE ARCHIVE_FILE_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT ARCHIVE_FILE_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO ARCHIVE_FILE_ID(ID) VALUES(1);"
-  "CREATE TABLE LOGICAL_LIBRARY_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT LOGICAL_LIBRARY_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO LOGICAL_LIBRARY_ID(ID) VALUES(1);"
-  "CREATE TABLE MEDIA_TYPE_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT MEDIA_TYPE_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO MEDIA_TYPE_ID(ID) VALUES(1);"
-  "CREATE TABLE STORAGE_CLASS_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT STORAGE_CLASS_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO STORAGE_CLASS_ID(ID) VALUES(1);"
-  "CREATE TABLE TAPE_POOL_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT TAPE_POOL_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO TAPE_POOL_ID(ID) VALUES(1);"
-  "CREATE TABLE VIRTUAL_ORGANIZATION_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT VIRTUAL_ORGANIZATION_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO VIRTUAL_ORGANIZATION_ID(ID) VALUES(1);"
-  "CREATE TABLE FILE_RECYCLE_LOG_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT FILE_RECYCLE_LOG_ID PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO FILE_RECYCLE_LOG_ID(ID) VALUES (1);"
+  {"postgres",  "CREATE SEQUENCE ARCHIVE_FILE_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NO MAXVALUE"
+  "  MINVALUE 1"
+  "  NO CYCLE"
+  "  CACHE 20;"
+  "CREATE SEQUENCE LOGICAL_LIBRARY_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NO MAXVALUE"
+  "  MINVALUE 1"
+  "  NO CYCLE"
+  "  CACHE 20;"
+  "CREATE SEQUENCE MEDIA_TYPE_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NO MAXVALUE"
+  "  MINVALUE 1"
+  "  NO CYCLE"
+  "  CACHE 20;"
+  "CREATE SEQUENCE STORAGE_CLASS_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NO MAXVALUE"
+  "  MINVALUE 1"
+  "  NO CYCLE"
+  "  CACHE 20;"
+  "CREATE SEQUENCE TAPE_POOL_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NO MAXVALUE"
+  "  MINVALUE 1"
+  "  NO CYCLE"
+  "  CACHE 20;"
+  "CREATE SEQUENCE VIRTUAL_ORGANIZATION_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NO MAXVALUE"
+  "  MINVALUE 1"
+  "  NO CYCLE"
+  "  CACHE 20;"
+  "CREATE SEQUENCE FILE_RECYCLE_LOG_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NO MAXVALUE"
+  "  MINVALUE 1"
+  "  NO CYCLE"
+  "  CACHE 20;"
   "CREATE TABLE CTA_CATALOGUE("
-  "  SCHEMA_VERSION_MAJOR    BIGINT UNSIGNED      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
-  "  SCHEMA_VERSION_MINOR    BIGINT UNSIGNED      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
-  "  NEXT_SCHEMA_VERSION_MAJOR BIGINT UNSIGNED,"
-  "  NEXT_SCHEMA_VERSION_MINOR BIGINT UNSIGNED,"
+  "  SCHEMA_VERSION_MAJOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
+  "  SCHEMA_VERSION_MINOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
+  "  NEXT_SCHEMA_VERSION_MAJOR NUMERIC(20, 0),"
+  "  NEXT_SCHEMA_VERSION_MINOR NUMERIC(20, 0),"
   "  STATUS                  VARCHAR(100),"
   "  IS_PRODUCTION           CHAR(1)         DEFAULT '0' CONSTRAINT CTA_CATALOGUE_IP_NN NOT NULL,"
   "  CONSTRAINT CTA_CATALOGUE_IP_BOOL_CK     CHECK(IS_PRODUCTION IN ('0','1'))"
@@ -7460,89 +7362,89 @@ namespace catalogue{
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
   "  CONSTRAINT ADMIN_USER_PK PRIMARY KEY(ADMIN_USER_NAME)"
   ");"
   "CREATE TABLE DISK_SYSTEM("
   "  DISK_SYSTEM_NAME        VARCHAR(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
   "  FILE_REGEXP             VARCHAR(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
   "  FREE_SPACE_QUERY_URL    VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
-  "  REFRESH_INTERVAL        BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
-  "  TARGETED_FREE_SPACE     BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
-  "  SLEEP_TIME              BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
+  "  REFRESH_INTERVAL        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
+  "  TARGETED_FREE_SPACE     NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
+  "  SLEEP_TIME              NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
   "  CONSTRAINT NAME_PK PRIMARY KEY(DISK_SYSTEM_NAME)"
   ");"
   "CREATE TABLE VIRTUAL_ORGANIZATION("
-  "  VIRTUAL_ORGANIZATION_ID BIGINT UNSIGNED      CONSTRAINT VIRTUAL_ORGANIZATION_VOI_NN  NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_VOI_NN  NOT NULL,"
   "  VIRTUAL_ORGANIZATION_NAME VARCHAR(100)  CONSTRAINT VIRTUAL_ORGANIZATION_VON_NN  NOT NULL,"
-  "  READ_MAX_DRIVES BIGINT UNSIGNED,"
-  "  WRITE_MAX_DRIVES BIGINT UNSIGNED,"
+  "  READ_MAX_DRIVES NUMERIC(20, 0)              CONSTRAINT VIRTUAL_ORGANIZATION_RMD_NN  NOT NULL,"
+  "  WRITE_MAX_DRIVES NUMERIC(20, 0)             CONSTRAINT VIRTUAL_ORGANIZATION_WMD_NN  NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT VIRTUAL_ORGANIZATION_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT VIRTUAL_ORGANIZATION_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT VIRTUAL_ORGANIZATION_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_LUT_NN  NOT NULL,"
   "  CONSTRAINT VIRTUAL_ORGANIZATION_PK PRIMARY KEY(VIRTUAL_ORGANIZATION_ID),"
   "  CONSTRAINT VIRTUAL_ORGANIZATION_VON_UN UNIQUE(VIRTUAL_ORGANIZATION_NAME)"
   ");"
   "CREATE TABLE STORAGE_CLASS("
-  "  STORAGE_CLASS_ID        BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
   "  STORAGE_CLASS_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
-  "  NB_COPIES               TINYINT UNSIGNED       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,"
+  "  NB_COPIES               NUMERIC(3, 0)       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT STORAGE_CLASS_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
   "  CONSTRAINT STORAGE_CLASS_PK PRIMARY KEY(STORAGE_CLASS_ID),"
   "  CONSTRAINT STORAGE_CLASS_SCN_UN UNIQUE(STORAGE_CLASS_NAME),"
   "  CONSTRAINT STORAGE_CLASS_VOI_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
   ");"
   "CREATE TABLE TAPE_POOL("
-  "  TAPE_POOL_ID            BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
+  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
   "  TAPE_POOL_NAME          VARCHAR(100)    CONSTRAINT TAPE_POOL_TPN_NN  NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_VOI_NN  NOT NULL,"
-  "  NB_PARTIAL_TAPES        BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_VOI_NN  NOT NULL,"
+  "  NB_PARTIAL_TAPES        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
   "  IS_ENCRYPTED            CHAR(1)         CONSTRAINT TAPE_POOL_IE_NN   NOT NULL,"
   "  SUPPLY                  VARCHAR(100),"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT TAPE_POOL_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
   "  CONSTRAINT TAPE_POOL_PK PRIMARY KEY(TAPE_POOL_ID),"
   "  CONSTRAINT TAPE_POOL_TPN_UN UNIQUE(TAPE_POOL_NAME),"
   "  CONSTRAINT TAPE_POOL_IS_ENCRYPTED_BOOL_CK CHECK(IS_ENCRYPTED IN ('0', '1')),"
   "  CONSTRAINT TAPE_POOL_VO_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
   ");"
   "CREATE TABLE ARCHIVE_ROUTE("
-  "  STORAGE_CLASS_ID        BIGINT UNSIGNED      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
-  "  COPY_NB                 TINYINT UNSIGNED       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
-  "  TAPE_POOL_ID            BIGINT UNSIGNED      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
+  "  COPY_NB                 NUMERIC(3, 0)       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
+  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ARCHIVE_ROUTE_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
   "  CONSTRAINT ARCHIVE_ROUTE_PK PRIMARY KEY(STORAGE_CLASS_ID, COPY_NB),"
   "  CONSTRAINT ARCHIVE_ROUTE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
   "  CONSTRAINT ARCHIVE_ROUTE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
@@ -7550,107 +7452,101 @@ namespace catalogue{
   "  CONSTRAINT ARCHIVE_ROUTE_SCI_TPI_UN UNIQUE(STORAGE_CLASS_ID, TAPE_POOL_ID)"
   ");"
   "CREATE TABLE MEDIA_TYPE("
-  "  MEDIA_TYPE_ID          BIGINT UNSIGNED    CONSTRAINT MEDIA_TYPE_MTI_NN  NOT NULL,"
+  "  MEDIA_TYPE_ID          NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_MTI_NN  NOT NULL,"
   "  MEDIA_TYPE_NAME        VARCHAR(100)  CONSTRAINT MEDIA_TYPE_MTN_NN  NOT NULL,"
   "  CARTRIDGE              VARCHAR(100)  CONSTRAINT MEDIA_TYPE_C_NN    NOT NULL,"
-  "  CAPACITY_IN_BYTES      BIGINT UNSIGNED    CONSTRAINT MEDIA_TYPE_CIB_NN  NOT NULL,"
-  "  PRIMARY_DENSITY_CODE   TINYINT UNSIGNED,"
-  "  SECONDARY_DENSITY_CODE TINYINT UNSIGNED,"
-  "  NB_WRAPS               INT UNSIGNED,"
-  "  MIN_LPOS               BIGINT UNSIGNED,"
-  "  MAX_LPOS               BIGINT UNSIGNED,"
+  "  CAPACITY_IN_BYTES      NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_CIB_NN  NOT NULL,"
+  "  PRIMARY_DENSITY_CODE   NUMERIC(3, 0),"
+  "  SECONDARY_DENSITY_CODE NUMERIC(3, 0),"
+  "  NB_WRAPS               NUMERIC(10, 0),"
+  "  MIN_LPOS               NUMERIC(20, 0),"
+  "  MAX_LPOS               NUMERIC(20, 0),"
   "  USER_COMMENT           VARCHAR(1000) CONSTRAINT MEDIA_TYPE_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME VARCHAR(100)  CONSTRAINT MEDIA_TYPE_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME VARCHAR(100)  CONSTRAINT MEDIA_TYPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      BIGINT UNSIGNED    CONSTRAINT MEDIA_TYPE_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME      NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME  VARCHAR(100)  CONSTRAINT MEDIA_TYPE_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME  VARCHAR(100)  CONSTRAINT MEDIA_TYPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       BIGINT UNSIGNED    CONSTRAINT MEDIA_TYPE_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME       NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_LUT_NN  NOT NULL,"
   "  CONSTRAINT MEDIA_TYPE_PK PRIMARY KEY(MEDIA_TYPE_ID),"
   "  CONSTRAINT MEDIA_TYPE_MTN_UN UNIQUE(MEDIA_TYPE_NAME)"
   ");"
   "CREATE TABLE LOGICAL_LIBRARY("
-  "  LOGICAL_LIBRARY_ID      BIGINT UNSIGNED      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
+  "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
   "  LOGICAL_LIBRARY_NAME    VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LLN_NN  NOT NULL,"
   "  IS_DISABLED             CHAR(1)         DEFAULT '0' CONSTRAINT LOGICAL_LIBRARY_ID_NN NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT LOGICAL_LIBRARY_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
   "  CONSTRAINT LOGICAL_LIBRARY_PK PRIMARY KEY(LOGICAL_LIBRARY_ID),"
   "  CONSTRAINT LOGICAL_LIBRARY_LLN_UN UNIQUE(LOGICAL_LIBRARY_NAME),"
   "  CONSTRAINT LOGICAL_LIBRARY_ID_BOOL_CK CHECK(IS_DISABLED IN ('0', '1'))"
   ");"
   "CREATE TABLE TAPE("
   "  VID                     VARCHAR(100)    CONSTRAINT TAPE_V_NN    NOT NULL,"
-  "  MEDIA_TYPE_ID           BIGINT UNSIGNED      CONSTRAINT TAPE_MTID_NN   NOT NULL,"
+  "  MEDIA_TYPE_ID           NUMERIC(20, 0)      CONSTRAINT TAPE_MTID_NN   NOT NULL,"
   "  VENDOR                  VARCHAR(100)    CONSTRAINT TAPE_V2_NN   NOT NULL,"
-  "  LOGICAL_LIBRARY_ID      BIGINT UNSIGNED      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
-  "  TAPE_POOL_ID            BIGINT UNSIGNED      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
+  "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
+  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
   "  ENCRYPTION_KEY_NAME     VARCHAR(100),"
-  "  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),"
+  "  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_FULL                 CHAR(1)         CONSTRAINT TAPE_IF_NN   NOT NULL,"
-  "  IS_READ_ONLY            CHAR(1),"
   "  IS_FROM_CASTOR          CHAR(1)         CONSTRAINT TAPE_IFC_NN  NOT NULL,"
   "  DIRTY                   CHAR(1)         DEFAULT '1' CONSTRAINT TAPE_DIRTY_NN NOT NULL,"
-  "  NB_COPY_NB_1            BIGINT UNSIGNED     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_1_NN NOT NULL,"
-  "  COPY_NB_1_IN_BYTES      BIGINT UNSIGNED     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_1_IN_BYTES_NN NOT NULL,"
-  "  NB_COPY_NB_GT_1         BIGINT UNSIGNED     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_GT_1_NN NOT NULL,"
-  "  COPY_NB_GT_1_IN_BYTES   BIGINT UNSIGNED     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_GT_1_IN_BYTES_NN NOT NULL,"
+  "  NB_COPY_NB_1            NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_1_NN NOT NULL,"
+  "  COPY_NB_1_IN_BYTES      NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_1_IN_BYTES_NN NOT NULL,"
+  "  NB_COPY_NB_GT_1         NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_GT_1_NN NOT NULL,"
+  "  COPY_NB_GT_1_IN_BYTES   NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_GT_1_IN_BYTES_NN NOT NULL,"
   "  LABEL_DRIVE             VARCHAR(100),"
-  "  LABEL_TIME              BIGINT UNSIGNED    ,"
+  "  LABEL_TIME              NUMERIC(20, 0)    ,"
   "  LAST_READ_DRIVE         VARCHAR(100),"
-  "  LAST_READ_TIME          BIGINT UNSIGNED    ,"
+  "  LAST_READ_TIME          NUMERIC(20, 0)    ,"
   "  LAST_WRITE_DRIVE        VARCHAR(100),"
-  "  LAST_WRITE_TIME         BIGINT UNSIGNED    ,"
-  "  READ_MOUNT_COUNT        BIGINT UNSIGNED      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
-  "  WRITE_MOUNT_COUNT       BIGINT UNSIGNED      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
+  "  LAST_WRITE_TIME         NUMERIC(20, 0)    ,"
+  "  READ_MOUNT_COUNT        NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
+  "  WRITE_MOUNT_COUNT       NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000),"
-  "  TAPE_STATE              VARCHAR(100),"
+  "  TAPE_STATE              VARCHAR(100)    CONSTRAINT TAPE_TS_NN NOT NULL,"
   "  STATE_REASON            VARCHAR(1000),"
-  "  STATE_UPDATE_TIME       BIGINT UNSIGNED,"
-  "  STATE_MODIFIED_BY       VARCHAR(100),"
+  "  STATE_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_SUT_NN NOT NULL,"
+  "  STATE_MODIFIED_BY       VARCHAR(100)    CONSTRAINT TAPE_SMB_NN NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
   "  CONSTRAINT TAPE_PK PRIMARY KEY(VID),"
   "  CONSTRAINT TAPE_LOGICAL_LIBRARY_FK FOREIGN KEY(LOGICAL_LIBRARY_ID) REFERENCES LOGICAL_LIBRARY(LOGICAL_LIBRARY_ID),"
   "  CONSTRAINT TAPE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
-  "  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_DIRTY_BOOL_CK CHECK(DIRTY IN ('0','1')),"
   "  CONSTRAINT TAPE_STATE_CK CHECK(TAPE_STATE IN ('ACTIVE', 'DISABLED', 'BROKEN')),"
   "  CONSTRAINT TAPE_MEDIA_TYPE_FK FOREIGN KEY(MEDIA_TYPE_ID) REFERENCES MEDIA_TYPE(MEDIA_TYPE_ID)"
   ");"
   "CREATE INDEX TAPE_TAPE_POOL_ID_IDX ON TAPE(TAPE_POOL_ID);"
-  "CREATE INDEX TAPE_IS_DISABLED_IDX ON TAPE(IS_DISABLED);"
   "CREATE INDEX TAPE_STATE_IDX ON TAPE(TAPE_STATE);"
   "CREATE TABLE MOUNT_POLICY("
   "  MOUNT_POLICY_NAME          VARCHAR(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
-  "  ARCHIVE_PRIORITY           BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
-  "  ARCHIVE_MIN_REQUEST_AGE    BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
-  "  RETRIEVE_PRIORITY          BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
-  "  RETRIEVE_MIN_REQUEST_AGE   BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
-  "  MAX_DRIVES_ALLOWED         BIGINT UNSIGNED,"
+  "  ARCHIVE_PRIORITY           NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
+  "  ARCHIVE_MIN_REQUEST_AGE    NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
+  "  RETRIEVE_PRIORITY          NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
+  "  RETRIEVE_MIN_REQUEST_AGE   NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
   "  USER_COMMENT               VARCHAR(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME     VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME     VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME          BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME          NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME      VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME      VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME           BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME           NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
   "  CONSTRAINT MOUNT_POLICY_PK PRIMARY KEY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE REQUESTER_MOUNT_RULE("
@@ -7660,10 +7556,10 @@ namespace catalogue{
   "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_RULE_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      BIGINT UNSIGNED      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       BIGINT UNSIGNED      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
   "  CONSTRAINT RQSTER_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_NAME),"
   "  CONSTRAINT RQSTER_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
   "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
@@ -7675,26 +7571,26 @@ namespace catalogue{
   "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_GRP_RULE_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      BIGINT UNSIGNED      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       BIGINT UNSIGNED      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
   "  CONSTRAINT RQSTER_GRP_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_GROUP_NAME),"
   "  CONSTRAINT RQSTER_GRP_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
   "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE ARCHIVE_FILE("
-  "  ARCHIVE_FILE_ID         BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
+  "  ARCHIVE_FILE_ID         NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
   "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DIN_NN  NOT NULL,"
   "  DISK_FILE_ID            VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DFI_NN  NOT NULL,"
-  "  DISK_FILE_UID           INT UNSIGNED      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
-  "  DISK_FILE_GID           INT UNSIGNED      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
-  "  SIZE_IN_BYTES           BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
-  "  CHECKSUM_BLOB           VARBINARY(200),"
-  "  CHECKSUM_ADLER32        INT UNSIGNED      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
-  "  STORAGE_CLASS_ID        BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
-  "  CREATION_TIME           BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
-  "  RECONCILIATION_TIME     BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
+  "  DISK_FILE_UID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
+  "  DISK_FILE_GID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
+  "  SIZE_IN_BYTES           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
+  "  CHECKSUM_BLOB           BYTEA,"
+  "  CHECKSUM_ADLER32        NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
+  "  CREATION_TIME           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
+  "  RECONCILIATION_TIME     NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
   "  IS_DELETED              CHAR(1)         DEFAULT '0' CONSTRAINT ARCHIVE_FILE_ID_NN NOT NULL,"
   "  COLLOCATION_HINT        VARCHAR(100),"
   "  CONSTRAINT ARCHIVE_FILE_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
@@ -7706,35 +7602,22 @@ namespace catalogue{
   "CREATE INDEX ARCHIVE_FILE_DFI_IDX ON ARCHIVE_FILE(DISK_FILE_ID);"
   "CREATE TABLE TAPE_FILE("
   "  VID                      VARCHAR(100)   CONSTRAINT TAPE_FILE_V_NN    NOT NULL,"
-  "  FSEQ                     BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
-  "  BLOCK_ID                 BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
-  "  LOGICAL_SIZE_IN_BYTES    BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
-  "  COPY_NB                  TINYINT UNSIGNED      CONSTRAINT TAPE_FILE_CN_NN   NOT NULL,"
-  "  CREATION_TIME            BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_CT_NN   NOT NULL,"
-  "  ARCHIVE_FILE_ID          BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_AFI_NN  NOT NULL,"
-  "  SUPERSEDED_BY_VID        VARCHAR(100),"
-  "  SUPERSEDED_BY_FSEQ       BIGINT UNSIGNED    ,"
-  "  WRITE_START_WRAP         SMALLINT UNSIGNED,"
-  "  WRITE_START_LPOS         INT UNSIGNED,"
-  "  WRITE_END_WRAP           SMALLINT UNSIGNED,"
-  "  WRITE_END_LPOS           INT UNSIGNED,"
-  "  READ_START_WRAP          SMALLINT UNSIGNED,"
-  "  READ_START_LPOS          INT UNSIGNED,"
-  "  READ_END_WRAP            SMALLINT UNSIGNED,"
-  "  READ_END_LPOS            INT UNSIGNED,"
+  "  FSEQ                     NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
+  "  BLOCK_ID                 NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
+  "  LOGICAL_SIZE_IN_BYTES    NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
+  "  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,"
   "  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_SS_VID_FSEQ_FK FOREIGN KEY(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ)"
-  "    REFERENCES TAPE_FILE(VID, FSEQ)"
+  "  CONSTRAINT TAPE_FILE_COPY_NB_GT_0_CK CHECK(COPY_NB > 0)"
   ");"
   "CREATE INDEX TAPE_FILE_VID_IDX ON TAPE_FILE(VID);"
   "CREATE INDEX TAPE_FILE_ARCHIVE_FILE_ID_IDX ON TAPE_FILE(ARCHIVE_FILE_ID);"
-  "CREATE INDEX TAPE_FILE_SBV_SBF_IDX ON TAPE_FILE(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ);"
   "CREATE TABLE ACTIVITIES_WEIGHTS ("
   "  DISK_INSTANCE_NAME       VARCHAR(100),"
   "  ACTIVITY                 VARCHAR(100),"
@@ -7742,82 +7625,34 @@ namespace catalogue{
   "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT ACTIV_WEIGHTS_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME        BIGINT UNSIGNED      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME        NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME         BIGINT UNSIGNED      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
-  ");"
-  "CREATE TABLE ARCHIVE_FILE_RECYCLE_BIN("
-  "  ARCHIVE_FILE_ID         BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_RB_AFI_NN  NOT NULL,"
-  "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_RB_DIN_NN  NOT NULL,"
-  "  DISK_FILE_ID            VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_RB_DFI_NN  NOT NULL,"
-  "  DISK_FILE_ID_WHEN_DELETED VARCHAR(100)  CONSTRAINT ARCHIVE_FILE_RB_DFIWD_NN NOT NULL,"
-  "  DISK_FILE_UID           INT UNSIGNED      CONSTRAINT ARCHIVE_FILE_RB_DFUID_NN  NOT NULL,"
-  "  DISK_FILE_GID           INT UNSIGNED      CONSTRAINT ARCHIVE_FILE_RB_DFGID_NN  NOT NULL,"
-  "  SIZE_IN_BYTES           BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_RB_SIB_NN  NOT NULL,"
-  "  CHECKSUM_BLOB           VARBINARY(200),"
-  "  CHECKSUM_ADLER32        INT UNSIGNED      CONSTRAINT ARCHIVE_FILE_RB_CB2_NN  NOT NULL,"
-  "  STORAGE_CLASS_ID        BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_RB_SCI_NN  NOT NULL,"
-  "  CREATION_TIME           BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_RB_CT2_NN  NOT NULL,"
-  "  RECONCILIATION_TIME     BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_RB_RT_NN   NOT NULL,"
-  "  COLLOCATION_HINT        VARCHAR(100),"
-  "  DISK_FILE_PATH          VARCHAR(2000) CONSTRAINT ARCHIVE_FILE_RB_DFP_NN NOT NULL,"
-  "  DELETION_TIME           BIGINT UNSIGNED    CONSTRAINT ARCHIVE_FILE_RB_DT_NN NOT NULL,"
-  "  CONSTRAINT ARCHIVE_FILE_RB_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
-  "  CONSTRAINT ARCHIVE_FILE_RB_SC_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
-  "  CONSTRAINT ARCHIVE_FILE_RB_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID)"
-  ");"
-  "CREATE TABLE TAPE_FILE_RECYCLE_BIN("
-  "  VID                      VARCHAR(100)   CONSTRAINT TAPE_FILE_RB_V_NN    NOT NULL,"
-  "  FSEQ                     BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_RB_F_NN    NOT NULL,"
-  "  BLOCK_ID                 BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_RB_BI_NN   NOT NULL,"
-  "  LOGICAL_SIZE_IN_BYTES    BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_RB_CSIB_NN NOT NULL,"
-  "  COPY_NB                  TINYINT UNSIGNED      CONSTRAINT TAPE_FILE_RB_CN_NN   NOT NULL,"
-  "  CREATION_TIME            BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_RB_CT_NN   NOT NULL,"
-  "  ARCHIVE_FILE_ID          BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_RB_AFI_NN  NOT NULL,"
-  "  SUPERSEDED_BY_VID        VARCHAR(100),"
-  "  SUPERSEDED_BY_FSEQ       BIGINT UNSIGNED,"
-  "  WRITE_START_WRAP         SMALLINT UNSIGNED,"
-  "  WRITE_START_LPOS         INT UNSIGNED,"
-  "  WRITE_END_WRAP           SMALLINT UNSIGNED,"
-  "  WRITE_END_LPOS           INT UNSIGNED,"
-  "  READ_START_WRAP          SMALLINT UNSIGNED,"
-  "  READ_START_LPOS          INT UNSIGNED,"
-  "  READ_END_WRAP            SMALLINT UNSIGNED,"
-  "  READ_END_LPOS            INT UNSIGNED,"
-  "  CONSTRAINT TAPE_FILE_RB_PK PRIMARY KEY(VID, FSEQ),"
-  "  CONSTRAINT TAPE_FILE_RB_TAPE_FK FOREIGN KEY(VID)"
-  "    REFERENCES TAPE(VID),"
-  "  CONSTRAINT TAPE_FILE_RB_ARCHIVE_FILE_FK FOREIGN KEY(ARCHIVE_FILE_ID)"
-  "    REFERENCES ARCHIVE_FILE_RECYCLE_BIN(ARCHIVE_FILE_ID),"
-  "  CONSTRAINT TAPE_FILE_RB_VID_BLOCK_ID_UN UNIQUE(VID, BLOCK_ID),"
-  "  CONSTRAINT TAPE_FILE_RB_COPY_NB_GT_0_CK CHECK(COPY_NB > 0),"
-  "  CONSTRAINT TAPE_FILE_RB_SS_VID_FSEQ_FK FOREIGN KEY(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ)"
-  "    REFERENCES TAPE_FILE_RECYCLE_BIN(VID, FSEQ)"
+  "  LAST_UPDATE_TIME         NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
   ");"
   "CREATE TABLE FILE_RECYCLE_LOG("
-  "  FILE_RECYCLE_LOG_ID        BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_ID_NN NOT NULL,"
+  "  FILE_RECYCLE_LOG_ID        NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_ID_NN NOT NULL,"
   "  VID                        VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_VID_NN NOT NULL,"
-  "  FSEQ                       BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_FSEQ_NN NOT NULL,"
-  "  BLOCK_ID                   BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_BID_NN NOT NULL,"
-  "  COPY_NB                    TINYINT UNSIGNED           CONSTRAINT FILE_RECYCLE_LOG_COPY_NB_NN NOT NULL,"
-  "  TAPE_FILE_CREATION_TIME    BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_TFCT_NN NOT NULL,"
-  "  ARCHIVE_FILE_ID            BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_AFI_NN NOT NULL,"
-  "  DISK_INSTANCE_NAME         VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DIN_NN NOT NULL,"
-  "  DISK_FILE_ID               VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DFI_NN NOT NULL,"
-  "  DISK_FILE_ID_WHEN_DELETED  VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DFIWD_NN NOT NULL,"
-  "  DISK_FILE_UID              BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_DFU_NN NOT NULL,"
-  "  DISK_FILE_GID              BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_DFG_NN NOT NULL,"
-  "  SIZE_IN_BYTES              BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_SIB_NN NOT NULL,"
-  "  CHECKSUM_BLOB              VARBINARY(200),"
-  "  CHECKSUM_ADLER32           INT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_CA_NN NOT NULL,"
-  "  STORAGE_CLASS_ID           BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_SCI_NN NOT NULL,"
-  "  ARCHIVE_FILE_CREATION_TIME BIGINT UNSIGNED          CONSTRAINT FILE_RECYLE_LOG_CT_NN NOT NULL,"
-  "  RECONCILIATION_TIME        BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_RT_NN NOT NULL,"
+  "  FSEQ                       NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_FSEQ_NN NOT NULL,"
+  "  BLOCK_ID                   NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_BID_NN NOT NULL,"
+  "  COPY_NB                    NUMERIC(3, 0)           CONSTRAINT FILE_RECYCLE_LOG_COPY_NB_NN NOT NULL,"
+  "  TAPE_FILE_CREATION_TIME    NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_TFCT_NN NOT NULL,"
+  "  ARCHIVE_FILE_ID            NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_AFI_NN NOT NULL,"
+  "  DISK_INSTANCE_NAME         VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DIN_NN NOT NULL,"
+  "  DISK_FILE_ID               VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DFI_NN NOT NULL,"
+  "  DISK_FILE_ID_WHEN_DELETED  VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DFIWD_NN NOT NULL,"
+  "  DISK_FILE_UID              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_DFU_NN NOT NULL,"
+  "  DISK_FILE_GID              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_DFG_NN NOT NULL,"
+  "  SIZE_IN_BYTES              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_SIB_NN NOT NULL,"
+  "  CHECKSUM_BLOB              BYTEA,"
+  "  CHECKSUM_ADLER32           NUMERIC(10, 0)          CONSTRAINT FILE_RECYCLE_LOG_CA_NN NOT NULL,"
+  "  STORAGE_CLASS_ID           NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_SCI_NN NOT NULL,"
+  "  ARCHIVE_FILE_CREATION_TIME NUMERIC(20, 0)          CONSTRAINT FILE_RECYLE_LOG_CT_NN NOT NULL,"
+  "  RECONCILIATION_TIME        NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_RT_NN NOT NULL,"
   "  COLLOCATION_HINT           VARCHAR(100),"
   "  DISK_FILE_PATH             VARCHAR(2000),"
   "  REASON_LOG                 VARCHAR(1000)       CONSTRAINT FILE_RECYCLE_LOG_RL_NN NOT NULL,"
-  "  RECYCLE_LOG_TIME           BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_RLT_NN NOT NULL,"
+  "  RECYCLE_LOG_TIME           NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_RLT_NN NOT NULL,"
   "  CONSTRAINT FILE_RECYCLE_LOG_PK PRIMARY KEY(FILE_RECYCLE_LOG_ID),"
   "  CONSTRAINT FILE_RECYCLE_LOG_VID_FK FOREIGN KEY(VID) REFERENCES TAPE(VID),"
   "  CONSTRAINT FILE_RECYCLE_LOG_SC_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID)"
@@ -7828,130 +7663,183 @@ namespace catalogue{
   "  SCHEMA_VERSION_MINOR,"
   "  STATUS)"
   "VALUES("
-  "  3,"
-  "  2,"
+  "  4,"
+  "  0,"
   "  '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='PRODUCTION') OR (STATUS='UPGRADING'));"
       },
-  {"sqlite",  "CREATE TABLE ARCHIVE_FILE_ID("
-  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
-  ");"
-  "CREATE TABLE LOGICAL_LIBRARY_ID("
-  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
-  ");"
-  "CREATE TABLE MEDIA_TYPE_ID("
-  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
-  ");"
-  "CREATE TABLE STORAGE_CLASS_ID("
-  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
-  ");"
-  "CREATE TABLE TAPE_POOL_ID("
-  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
-  ");"
-  "CREATE TABLE VIRTUAL_ORGANIZATION_ID("
-  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
-  ");"
-  "CREATE TABLE FILE_RECYCLE_LOG_ID("
-  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
-  ");"
+    }  },
+  {"4.1",
+    {
+      {"oracle",  "CREATE SEQUENCE ARCHIVE_FILE_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 4294967296"
+  "  NOMAXVALUE"
+  "  MINVALUE 1"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
+  "CREATE SEQUENCE LOGICAL_LIBRARY_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NOMAXVALUE"
+  "  MINVALUE 1"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
+  "CREATE SEQUENCE MEDIA_TYPE_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NOMAXVALUE"
+  "  MINVALUE 1"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
+  "CREATE SEQUENCE STORAGE_CLASS_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 10000"
+  "  NOMAXVALUE"
+  "  MINVALUE 1"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
+  "CREATE SEQUENCE TAPE_POOL_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NOMAXVALUE"
+  "  MINVALUE 1"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
+  "CREATE SEQUENCE VIRTUAL_ORGANIZATION_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NOMAXVALUE"
+  "  MINVALUE 1"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
+  "CREATE SEQUENCE FILE_RECYCLE_LOG_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NOMAXVALUE"
+  "  MINVALUE 1"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
+  "CREATE GLOBAL TEMPORARY TABLE TEMP_TAPE_FILE_INSERTION_BATCH("
+  "  VID                   VARCHAR2(100),"
+  "  FSEQ                  NUMERIC(20, 0)  ,"
+  "  BLOCK_ID              NUMERIC(20, 0)  ,"
+  "  LOGICAL_SIZE_IN_BYTES NUMERIC(20, 0)  ,"
+  "  COPY_NB               NUMERIC(3, 0)   ,"
+  "  CREATION_TIME         NUMERIC(20, 0)  ,"
+  "  ARCHIVE_FILE_ID       NUMERIC(20, 0)"
+  ")"
+  "ON COMMIT DELETE ROWS;"
+  "CREATE INDEX TEMP_T_F_I_B_AFI_IDX ON TEMP_TAPE_FILE_INSERTION_BATCH(ARCHIVE_FILE_ID);"
   "CREATE TABLE CTA_CATALOGUE("
-  "  SCHEMA_VERSION_MAJOR    INTEGER      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
-  "  SCHEMA_VERSION_MINOR    INTEGER      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
-  "  NEXT_SCHEMA_VERSION_MAJOR INTEGER,"
-  "  NEXT_SCHEMA_VERSION_MINOR INTEGER,"
-  "  STATUS                  VARCHAR(100),"
+  "  SCHEMA_VERSION_MAJOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
+  "  SCHEMA_VERSION_MINOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
+  "  NEXT_SCHEMA_VERSION_MAJOR NUMERIC(20, 0),"
+  "  NEXT_SCHEMA_VERSION_MINOR NUMERIC(20, 0),"
+  "  STATUS                  VARCHAR2(100),"
   "  IS_PRODUCTION           CHAR(1)         DEFAULT '0' CONSTRAINT CTA_CATALOGUE_IP_NN NOT NULL,"
   "  CONSTRAINT CTA_CATALOGUE_IP_BOOL_CK     CHECK(IS_PRODUCTION IN ('0','1'))"
   ");"
   "CREATE TABLE ADMIN_USER("
-  "  ADMIN_USER_NAME         VARCHAR(100)    CONSTRAINT ADMIN_USER_AUN_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
+  "  ADMIN_USER_NAME         VARCHAR2(100)    CONSTRAINT ADMIN_USER_AUN_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
   "  CONSTRAINT ADMIN_USER_PK PRIMARY KEY(ADMIN_USER_NAME)"
   ");"
   "CREATE TABLE DISK_SYSTEM("
-  "  DISK_SYSTEM_NAME        VARCHAR(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
-  "  FILE_REGEXP             VARCHAR(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
-  "  FREE_SPACE_QUERY_URL    VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
-  "  REFRESH_INTERVAL        INTEGER      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
-  "  TARGETED_FREE_SPACE     INTEGER      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
-  "  SLEEP_TIME              INTEGER      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
+  "  DISK_SYSTEM_NAME        VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
+  "  FILE_REGEXP             VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
+  "  FREE_SPACE_QUERY_URL    VARCHAR2(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
+  "  REFRESH_INTERVAL        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
+  "  TARGETED_FREE_SPACE     NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
+  "  SLEEP_TIME              NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
   "  CONSTRAINT NAME_PK PRIMARY KEY(DISK_SYSTEM_NAME)"
   ");"
   "CREATE TABLE VIRTUAL_ORGANIZATION("
-  "  VIRTUAL_ORGANIZATION_ID INTEGER      CONSTRAINT VIRTUAL_ORGANIZATION_VOI_NN  NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_NAME VARCHAR(100)  CONSTRAINT VIRTUAL_ORGANIZATION_VON_NN  NOT NULL,"
-  "  READ_MAX_DRIVES INTEGER,"
-  "  WRITE_MAX_DRIVES INTEGER,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT VIRTUAL_ORGANIZATION_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT VIRTUAL_ORGANIZATION_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT VIRTUAL_ORGANIZATION_LUT_NN  NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_VOI_NN  NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_NAME VARCHAR2(100)  CONSTRAINT VIRTUAL_ORGANIZATION_VON_NN  NOT NULL,"
+  "  READ_MAX_DRIVES NUMERIC(20, 0)              CONSTRAINT VIRTUAL_ORGANIZATION_RMD_NN  NOT NULL,"
+  "  WRITE_MAX_DRIVES NUMERIC(20, 0)             CONSTRAINT VIRTUAL_ORGANIZATION_WMD_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT VIRTUAL_ORGANIZATION_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_LUT_NN  NOT NULL,"
   "  CONSTRAINT VIRTUAL_ORGANIZATION_PK PRIMARY KEY(VIRTUAL_ORGANIZATION_ID),"
   "  CONSTRAINT VIRTUAL_ORGANIZATION_VON_UN UNIQUE(VIRTUAL_ORGANIZATION_NAME)"
   ");"
   "CREATE TABLE STORAGE_CLASS("
-  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
-  "  STORAGE_CLASS_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
-  "  NB_COPIES               INTEGER       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID INTEGER      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT STORAGE_CLASS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
+  "  STORAGE_CLASS_NAME      VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
+  "  NB_COPIES               NUMERIC(3, 0)       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT STORAGE_CLASS_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
   "  CONSTRAINT STORAGE_CLASS_PK PRIMARY KEY(STORAGE_CLASS_ID),"
   "  CONSTRAINT STORAGE_CLASS_SCN_UN UNIQUE(STORAGE_CLASS_NAME),"
   "  CONSTRAINT STORAGE_CLASS_VOI_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
   ");"
   "CREATE TABLE TAPE_POOL("
-  "  TAPE_POOL_ID            INTEGER      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
-  "  TAPE_POOL_NAME          VARCHAR(100)    CONSTRAINT TAPE_POOL_TPN_NN  NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID INTEGER      CONSTRAINT TAPE_POOL_VOI_NN  NOT NULL,"
-  "  NB_PARTIAL_TAPES        INTEGER      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
+  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
+  "  TAPE_POOL_NAME          VARCHAR2(100)    CONSTRAINT TAPE_POOL_TPN_NN  NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_VOI_NN  NOT NULL,"
+  "  NB_PARTIAL_TAPES        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
   "  IS_ENCRYPTED            CHAR(1)         CONSTRAINT TAPE_POOL_IE_NN   NOT NULL,"
-  "  SUPPLY                  VARCHAR(100),"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT TAPE_POOL_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
+  "  SUPPLY                  VARCHAR2(100),"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT TAPE_POOL_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
   "  CONSTRAINT TAPE_POOL_PK PRIMARY KEY(TAPE_POOL_ID),"
   "  CONSTRAINT TAPE_POOL_TPN_UN UNIQUE(TAPE_POOL_NAME),"
   "  CONSTRAINT TAPE_POOL_IS_ENCRYPTED_BOOL_CK CHECK(IS_ENCRYPTED IN ('0', '1')),"
   "  CONSTRAINT TAPE_POOL_VO_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
   ");"
   "CREATE TABLE ARCHIVE_ROUTE("
-  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
-  "  COPY_NB                 INTEGER       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
-  "  TAPE_POOL_ID            INTEGER      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ARCHIVE_ROUTE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
+  "  COPY_NB                 NUMERIC(3, 0)       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
+  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT ARCHIVE_ROUTE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
   "  CONSTRAINT ARCHIVE_ROUTE_PK PRIMARY KEY(STORAGE_CLASS_ID, COPY_NB),"
   "  CONSTRAINT ARCHIVE_ROUTE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
   "  CONSTRAINT ARCHIVE_ROUTE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
@@ -7959,3267 +7847,77 @@ namespace catalogue{
   "  CONSTRAINT ARCHIVE_ROUTE_SCI_TPI_UN UNIQUE(STORAGE_CLASS_ID, TAPE_POOL_ID)"
   ");"
   "CREATE TABLE MEDIA_TYPE("
-  "  MEDIA_TYPE_ID          INTEGER    CONSTRAINT MEDIA_TYPE_MTI_NN  NOT NULL,"
-  "  MEDIA_TYPE_NAME        VARCHAR(100)  CONSTRAINT MEDIA_TYPE_MTN_NN  NOT NULL,"
-  "  CARTRIDGE              VARCHAR(100)  CONSTRAINT MEDIA_TYPE_C_NN    NOT NULL,"
-  "  CAPACITY_IN_BYTES      INTEGER    CONSTRAINT MEDIA_TYPE_CIB_NN  NOT NULL,"
-  "  PRIMARY_DENSITY_CODE   INTEGER,"
-  "  SECONDARY_DENSITY_CODE INTEGER,"
-  "  NB_WRAPS               INTEGER,"
-  "  MIN_LPOS               INTEGER,"
-  "  MAX_LPOS               INTEGER,"
-  "  USER_COMMENT           VARCHAR(1000) CONSTRAINT MEDIA_TYPE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR(100)  CONSTRAINT MEDIA_TYPE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR(100)  CONSTRAINT MEDIA_TYPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      INTEGER    CONSTRAINT MEDIA_TYPE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR(100)  CONSTRAINT MEDIA_TYPE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)  CONSTRAINT MEDIA_TYPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       INTEGER    CONSTRAINT MEDIA_TYPE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT MEDIA_TYPE_PK PRIMARY KEY(MEDIA_TYPE_ID),"
-  "  CONSTRAINT MEDIA_TYPE_MTN_UN UNIQUE(MEDIA_TYPE_NAME)"
-  ");"
-  "CREATE TABLE LOGICAL_LIBRARY("
-  "  LOGICAL_LIBRARY_ID      INTEGER      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
-  "  LOGICAL_LIBRARY_NAME    VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LLN_NN  NOT NULL,"
-  "  IS_DISABLED             CHAR(1)         DEFAULT '0' CONSTRAINT LOGICAL_LIBRARY_ID_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT LOGICAL_LIBRARY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
-  "  CONSTRAINT LOGICAL_LIBRARY_PK PRIMARY KEY(LOGICAL_LIBRARY_ID),"
-  "  CONSTRAINT LOGICAL_LIBRARY_LLN_UN UNIQUE(LOGICAL_LIBRARY_NAME),"
-  "  CONSTRAINT LOGICAL_LIBRARY_ID_BOOL_CK CHECK(IS_DISABLED IN ('0', '1'))"
-  ");"
-  "CREATE TABLE TAPE("
-  "  VID                     VARCHAR(100)    CONSTRAINT TAPE_V_NN    NOT NULL,"
-  "  MEDIA_TYPE_ID           INTEGER      CONSTRAINT TAPE_MTID_NN   NOT NULL,"
-  "  VENDOR                  VARCHAR(100)    CONSTRAINT TAPE_V2_NN   NOT NULL,"
-  "  LOGICAL_LIBRARY_ID      INTEGER      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
-  "  TAPE_POOL_ID            INTEGER      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
-  "  ENCRYPTION_KEY_NAME     VARCHAR(100),"
-  "  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),"
-  "  IS_FULL                 CHAR(1)         CONSTRAINT TAPE_IF_NN   NOT NULL,"
-  "  IS_READ_ONLY            CHAR(1),"
-  "  IS_FROM_CASTOR          CHAR(1)         CONSTRAINT TAPE_IFC_NN  NOT NULL,"
-  "  DIRTY                   CHAR(1)         DEFAULT '1' CONSTRAINT TAPE_DIRTY_NN NOT NULL,"
-  "  NB_COPY_NB_1            INTEGER     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_1_NN NOT NULL,"
-  "  COPY_NB_1_IN_BYTES      INTEGER     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_1_IN_BYTES_NN NOT NULL,"
-  "  NB_COPY_NB_GT_1         INTEGER     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_GT_1_NN NOT NULL,"
-  "  COPY_NB_GT_1_IN_BYTES   INTEGER     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_GT_1_IN_BYTES_NN NOT NULL,"
-  "  LABEL_DRIVE             VARCHAR(100),"
-  "  LABEL_TIME              INTEGER    ,"
-  "  LAST_READ_DRIVE         VARCHAR(100),"
-  "  LAST_READ_TIME          INTEGER    ,"
-  "  LAST_WRITE_DRIVE        VARCHAR(100),"
-  "  LAST_WRITE_TIME         INTEGER    ,"
-  "  READ_MOUNT_COUNT        INTEGER      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
-  "  WRITE_MOUNT_COUNT       INTEGER      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000),"
-  "  TAPE_STATE              VARCHAR(100),"
-  "  STATE_REASON            VARCHAR(1000),"
-  "  STATE_UPDATE_TIME       INTEGER,"
-  "  STATE_MODIFIED_BY       VARCHAR(100),"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT TAPE_PK PRIMARY KEY(VID),"
-  "  CONSTRAINT TAPE_LOGICAL_LIBRARY_FK FOREIGN KEY(LOGICAL_LIBRARY_ID) REFERENCES LOGICAL_LIBRARY(LOGICAL_LIBRARY_ID),"
-  "  CONSTRAINT TAPE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
-  "  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_DIRTY_BOOL_CK CHECK(DIRTY IN ('0','1')),"
-  "  CONSTRAINT TAPE_STATE_CK CHECK(TAPE_STATE IN ('ACTIVE', 'DISABLED', 'BROKEN')),"
-  "  CONSTRAINT TAPE_MEDIA_TYPE_FK FOREIGN KEY(MEDIA_TYPE_ID) REFERENCES MEDIA_TYPE(MEDIA_TYPE_ID)"
-  ");"
-  "CREATE INDEX TAPE_TAPE_POOL_ID_IDX ON TAPE(TAPE_POOL_ID);"
-  "CREATE INDEX TAPE_IS_DISABLED_IDX ON TAPE(IS_DISABLED);"
-  "CREATE INDEX TAPE_STATE_IDX ON TAPE(TAPE_STATE);"
-  "CREATE TABLE MOUNT_POLICY("
-  "  MOUNT_POLICY_NAME          VARCHAR(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
-  "  ARCHIVE_PRIORITY           INTEGER      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
-  "  ARCHIVE_MIN_REQUEST_AGE    INTEGER      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
-  "  RETRIEVE_PRIORITY          INTEGER      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
-  "  RETRIEVE_MIN_REQUEST_AGE   INTEGER      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
-  "  MAX_DRIVES_ALLOWED         INTEGER,"
-  "  USER_COMMENT               VARCHAR(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME     VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME     VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME          INTEGER      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME      VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME      VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME           INTEGER      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
-  "  CONSTRAINT MOUNT_POLICY_PK PRIMARY KEY(MOUNT_POLICY_NAME)"
-  ");"
-  "CREATE TABLE REQUESTER_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR(100)    CONSTRAINT RQSTER_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_NAME         VARCHAR(100)    CONSTRAINT RQSTER_RULE_RN_NN   NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR(100)    CONSTRAINT RQSTER_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      INTEGER      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       INTEGER      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT RQSTER_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_NAME),"
-  "  CONSTRAINT RQSTER_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
-  "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
-  ");"
-  "CREATE TABLE REQUESTER_GROUP_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_GROUP_NAME   VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_RGN_NN  NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_GRP_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      INTEGER      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       INTEGER      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT RQSTER_GRP_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_GROUP_NAME),"
-  "  CONSTRAINT RQSTER_GRP_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
-  "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
-  ");"
-  "CREATE TABLE ARCHIVE_FILE("
-  "  ARCHIVE_FILE_ID         INTEGER      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
-  "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DIN_NN  NOT NULL,"
-  "  DISK_FILE_ID            VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DFI_NN  NOT NULL,"
-  "  DISK_FILE_UID           INTEGER      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
-  "  DISK_FILE_GID           INTEGER      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
-  "  SIZE_IN_BYTES           INTEGER      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
-  "  CHECKSUM_BLOB           BLOB(200),"
-  "  CHECKSUM_ADLER32        INTEGER      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
-  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
-  "  CREATION_TIME           INTEGER      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
-  "  RECONCILIATION_TIME     INTEGER      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
-  "  IS_DELETED              CHAR(1)         DEFAULT '0' CONSTRAINT ARCHIVE_FILE_ID_NN NOT NULL,"
-  "  COLLOCATION_HINT        VARCHAR(100),"
-  "  CONSTRAINT ARCHIVE_FILE_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
-  "  CONSTRAINT ARCHIVE_FILE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
-  "  CONSTRAINT ARCHIVE_FILE_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID),"
-  "  CONSTRAINT ARCHIVE_FILE_ID_BOOL_CK CHECK(IS_DELETED IN ('0', '1'))"
-  ");"
-  "CREATE INDEX ARCHIVE_FILE_DIN_IDX ON ARCHIVE_FILE(DISK_INSTANCE_NAME);"
-  "CREATE INDEX ARCHIVE_FILE_DFI_IDX ON ARCHIVE_FILE(DISK_FILE_ID);"
-  "CREATE TABLE TAPE_FILE("
-  "  VID                      VARCHAR(100)   CONSTRAINT TAPE_FILE_V_NN    NOT NULL,"
-  "  FSEQ                     INTEGER     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
-  "  BLOCK_ID                 INTEGER     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
-  "  LOGICAL_SIZE_IN_BYTES    INTEGER     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
-  "  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,"
-  "  SUPERSEDED_BY_VID        VARCHAR(100),"
-  "  SUPERSEDED_BY_FSEQ       INTEGER    ,"
-  "  WRITE_START_WRAP         INTEGER,"
-  "  WRITE_START_LPOS         INTEGER,"
-  "  WRITE_END_WRAP           INTEGER,"
-  "  WRITE_END_LPOS           INTEGER,"
-  "  READ_START_WRAP          INTEGER,"
-  "  READ_START_LPOS          INTEGER,"
-  "  READ_END_WRAP            INTEGER,"
-  "  READ_END_LPOS            INTEGER,"
-  "  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_SS_VID_FSEQ_FK FOREIGN KEY(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ)"
-  "    REFERENCES TAPE_FILE(VID, FSEQ)"
-  ");"
-  "CREATE INDEX TAPE_FILE_VID_IDX ON TAPE_FILE(VID);"
-  "CREATE INDEX TAPE_FILE_ARCHIVE_FILE_ID_IDX ON TAPE_FILE(ARCHIVE_FILE_ID);"
-  "CREATE INDEX TAPE_FILE_SBV_SBF_IDX ON TAPE_FILE(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ);"
-  "CREATE TABLE ACTIVITIES_WEIGHTS ("
-  "  DISK_INSTANCE_NAME       VARCHAR(100),"
-  "  ACTIVITY                 VARCHAR(100),"
-  "  WEIGHT                   VARCHAR(100),"
-  "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT ACTIV_WEIGHTS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME        INTEGER      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME         INTEGER      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
-  ");"
-  "CREATE TABLE ARCHIVE_FILE_RECYCLE_BIN("
-  "  ARCHIVE_FILE_ID         INTEGER      CONSTRAINT ARCHIVE_FILE_RB_AFI_NN  NOT NULL,"
-  "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_RB_DIN_NN  NOT NULL,"
-  "  DISK_FILE_ID            VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_RB_DFI_NN  NOT NULL,"
-  "  DISK_FILE_ID_WHEN_DELETED VARCHAR(100)  CONSTRAINT ARCHIVE_FILE_RB_DFIWD_NN NOT NULL,"
-  "  DISK_FILE_UID           INTEGER      CONSTRAINT ARCHIVE_FILE_RB_DFUID_NN  NOT NULL,"
-  "  DISK_FILE_GID           INTEGER      CONSTRAINT ARCHIVE_FILE_RB_DFGID_NN  NOT NULL,"
-  "  SIZE_IN_BYTES           INTEGER      CONSTRAINT ARCHIVE_FILE_RB_SIB_NN  NOT NULL,"
-  "  CHECKSUM_BLOB           BLOB(200),"
-  "  CHECKSUM_ADLER32        INTEGER      CONSTRAINT ARCHIVE_FILE_RB_CB2_NN  NOT NULL,"
-  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT ARCHIVE_FILE_RB_SCI_NN  NOT NULL,"
-  "  CREATION_TIME           INTEGER      CONSTRAINT ARCHIVE_FILE_RB_CT2_NN  NOT NULL,"
-  "  RECONCILIATION_TIME     INTEGER      CONSTRAINT ARCHIVE_FILE_RB_RT_NN   NOT NULL,"
-  "  COLLOCATION_HINT        VARCHAR(100),"
-  "  DISK_FILE_PATH          VARCHAR(2000) CONSTRAINT ARCHIVE_FILE_RB_DFP_NN NOT NULL,"
-  "  DELETION_TIME           INTEGER    CONSTRAINT ARCHIVE_FILE_RB_DT_NN NOT NULL,"
-  "  CONSTRAINT ARCHIVE_FILE_RB_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
-  "  CONSTRAINT ARCHIVE_FILE_RB_SC_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
-  "  CONSTRAINT ARCHIVE_FILE_RB_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID)"
-  ");"
-  "CREATE TABLE TAPE_FILE_RECYCLE_BIN("
-  "  VID                      VARCHAR(100)   CONSTRAINT TAPE_FILE_RB_V_NN    NOT NULL,"
-  "  FSEQ                     INTEGER     CONSTRAINT TAPE_FILE_RB_F_NN    NOT NULL,"
-  "  BLOCK_ID                 INTEGER     CONSTRAINT TAPE_FILE_RB_BI_NN   NOT NULL,"
-  "  LOGICAL_SIZE_IN_BYTES    INTEGER     CONSTRAINT TAPE_FILE_RB_CSIB_NN NOT NULL,"
-  "  COPY_NB                  INTEGER      CONSTRAINT TAPE_FILE_RB_CN_NN   NOT NULL,"
-  "  CREATION_TIME            INTEGER     CONSTRAINT TAPE_FILE_RB_CT_NN   NOT NULL,"
-  "  ARCHIVE_FILE_ID          INTEGER     CONSTRAINT TAPE_FILE_RB_AFI_NN  NOT NULL,"
-  "  SUPERSEDED_BY_VID        VARCHAR(100),"
-  "  SUPERSEDED_BY_FSEQ       INTEGER,"
-  "  WRITE_START_WRAP         INTEGER,"
-  "  WRITE_START_LPOS         INTEGER,"
-  "  WRITE_END_WRAP           INTEGER,"
-  "  WRITE_END_LPOS           INTEGER,"
-  "  READ_START_WRAP          INTEGER,"
-  "  READ_START_LPOS          INTEGER,"
-  "  READ_END_WRAP            INTEGER,"
-  "  READ_END_LPOS            INTEGER,"
-  "  CONSTRAINT TAPE_FILE_RB_PK PRIMARY KEY(VID, FSEQ),"
-  "  CONSTRAINT TAPE_FILE_RB_TAPE_FK FOREIGN KEY(VID)"
-  "    REFERENCES TAPE(VID),"
-  "  CONSTRAINT TAPE_FILE_RB_ARCHIVE_FILE_FK FOREIGN KEY(ARCHIVE_FILE_ID)"
-  "    REFERENCES ARCHIVE_FILE_RECYCLE_BIN(ARCHIVE_FILE_ID),"
-  "  CONSTRAINT TAPE_FILE_RB_VID_BLOCK_ID_UN UNIQUE(VID, BLOCK_ID),"
-  "  CONSTRAINT TAPE_FILE_RB_COPY_NB_GT_0_CK CHECK(COPY_NB > 0),"
-  "  CONSTRAINT TAPE_FILE_RB_SS_VID_FSEQ_FK FOREIGN KEY(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ)"
-  "    REFERENCES TAPE_FILE_RECYCLE_BIN(VID, FSEQ)"
-  ");"
-  "CREATE TABLE FILE_RECYCLE_LOG("
-  "  FILE_RECYCLE_LOG_ID        INTEGER          CONSTRAINT FILE_RECYCLE_LOG_ID_NN NOT NULL,"
-  "  VID                        VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_VID_NN NOT NULL,"
-  "  FSEQ                       INTEGER          CONSTRAINT FILE_RECYCLE_LOG_FSEQ_NN NOT NULL,"
-  "  BLOCK_ID                   INTEGER          CONSTRAINT FILE_RECYCLE_LOG_BID_NN NOT NULL,"
-  "  COPY_NB                    INTEGER           CONSTRAINT FILE_RECYCLE_LOG_COPY_NB_NN NOT NULL,"
-  "  TAPE_FILE_CREATION_TIME    INTEGER          CONSTRAINT FILE_RECYCLE_LOG_TFCT_NN NOT NULL,"
-  "  ARCHIVE_FILE_ID            INTEGER          CONSTRAINT FILE_RECYCLE_LOG_AFI_NN NOT NULL,"
-  "  DISK_INSTANCE_NAME         VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DIN_NN NOT NULL,"
-  "  DISK_FILE_ID               VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DFI_NN NOT NULL,"
-  "  DISK_FILE_ID_WHEN_DELETED  VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DFIWD_NN NOT NULL,"
-  "  DISK_FILE_UID              INTEGER          CONSTRAINT FILE_RECYCLE_LOG_DFU_NN NOT NULL,"
-  "  DISK_FILE_GID              INTEGER          CONSTRAINT FILE_RECYCLE_LOG_DFG_NN NOT NULL,"
-  "  SIZE_IN_BYTES              INTEGER          CONSTRAINT FILE_RECYCLE_LOG_SIB_NN NOT NULL,"
-  "  CHECKSUM_BLOB              BLOB(200),"
-  "  CHECKSUM_ADLER32           INTEGER          CONSTRAINT FILE_RECYCLE_LOG_CA_NN NOT NULL,"
-  "  STORAGE_CLASS_ID           INTEGER          CONSTRAINT FILE_RECYCLE_LOG_SCI_NN NOT NULL,"
-  "  ARCHIVE_FILE_CREATION_TIME INTEGER          CONSTRAINT FILE_RECYLE_LOG_CT_NN NOT NULL,"
-  "  RECONCILIATION_TIME        INTEGER          CONSTRAINT FILE_RECYCLE_LOG_RT_NN NOT NULL,"
-  "  COLLOCATION_HINT           VARCHAR(100),"
-  "  DISK_FILE_PATH             VARCHAR(2000),"
-  "  REASON_LOG                 VARCHAR(1000)       CONSTRAINT FILE_RECYCLE_LOG_RL_NN NOT NULL,"
-  "  RECYCLE_LOG_TIME           INTEGER          CONSTRAINT FILE_RECYCLE_LOG_RLT_NN NOT NULL,"
-  "  CONSTRAINT FILE_RECYCLE_LOG_PK PRIMARY KEY(FILE_RECYCLE_LOG_ID),"
-  "  CONSTRAINT FILE_RECYCLE_LOG_VID_FK FOREIGN KEY(VID) REFERENCES TAPE(VID),"
-  "  CONSTRAINT FILE_RECYCLE_LOG_SC_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID)"
-  ");"
-  "CREATE INDEX FILE_RECYCLE_LOG_DFI_IDX ON FILE_RECYCLE_LOG(DISK_FILE_ID);"
-  "INSERT INTO CTA_CATALOGUE("
-  "  SCHEMA_VERSION_MAJOR,"
-  "  SCHEMA_VERSION_MINOR,"
-  "  STATUS)"
-  "VALUES("
-  "  3,"
-  "  2,"
-  "  'PRODUCTION');"
-      },
-  {"postgres",  "CREATE SEQUENCE ARCHIVE_FILE_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NO MAXVALUE"
-  "  MINVALUE 1"
-  "  NO CYCLE"
-  "  CACHE 20;"
-  "CREATE SEQUENCE LOGICAL_LIBRARY_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NO MAXVALUE"
-  "  MINVALUE 1"
-  "  NO CYCLE"
-  "  CACHE 20;"
-  "CREATE SEQUENCE MEDIA_TYPE_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NO MAXVALUE"
-  "  MINVALUE 1"
-  "  NO CYCLE"
-  "  CACHE 20;"
-  "CREATE SEQUENCE STORAGE_CLASS_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NO MAXVALUE"
-  "  MINVALUE 1"
-  "  NO CYCLE"
-  "  CACHE 20;"
-  "CREATE SEQUENCE TAPE_POOL_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NO MAXVALUE"
-  "  MINVALUE 1"
-  "  NO CYCLE"
-  "  CACHE 20;"
-  "CREATE SEQUENCE VIRTUAL_ORGANIZATION_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NO MAXVALUE"
-  "  MINVALUE 1"
-  "  NO CYCLE"
-  "  CACHE 20;"
-  "CREATE SEQUENCE FILE_RECYCLE_LOG_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NO MAXVALUE"
-  "  MINVALUE 1"
-  "  NO CYCLE"
-  "  CACHE 20;"
-  "CREATE TABLE CTA_CATALOGUE("
-  "  SCHEMA_VERSION_MAJOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
-  "  SCHEMA_VERSION_MINOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
-  "  NEXT_SCHEMA_VERSION_MAJOR NUMERIC(20, 0),"
-  "  NEXT_SCHEMA_VERSION_MINOR NUMERIC(20, 0),"
-  "  STATUS                  VARCHAR(100),"
-  "  IS_PRODUCTION           CHAR(1)         DEFAULT '0' CONSTRAINT CTA_CATALOGUE_IP_NN NOT NULL,"
-  "  CONSTRAINT CTA_CATALOGUE_IP_BOOL_CK     CHECK(IS_PRODUCTION IN ('0','1'))"
-  ");"
-  "CREATE TABLE ADMIN_USER("
-  "  ADMIN_USER_NAME         VARCHAR(100)    CONSTRAINT ADMIN_USER_AUN_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
-  "  CONSTRAINT ADMIN_USER_PK PRIMARY KEY(ADMIN_USER_NAME)"
-  ");"
-  "CREATE TABLE DISK_SYSTEM("
-  "  DISK_SYSTEM_NAME        VARCHAR(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
-  "  FILE_REGEXP             VARCHAR(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
-  "  FREE_SPACE_QUERY_URL    VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
-  "  REFRESH_INTERVAL        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
-  "  TARGETED_FREE_SPACE     NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
-  "  SLEEP_TIME              NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
-  "  CONSTRAINT NAME_PK PRIMARY KEY(DISK_SYSTEM_NAME)"
-  ");"
-  "CREATE TABLE VIRTUAL_ORGANIZATION("
-  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_VOI_NN  NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_NAME VARCHAR(100)  CONSTRAINT VIRTUAL_ORGANIZATION_VON_NN  NOT NULL,"
-  "  READ_MAX_DRIVES NUMERIC(20, 0),"
-  "  WRITE_MAX_DRIVES NUMERIC(20, 0),"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT VIRTUAL_ORGANIZATION_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_LUT_NN  NOT NULL,"
-  "  CONSTRAINT VIRTUAL_ORGANIZATION_PK PRIMARY KEY(VIRTUAL_ORGANIZATION_ID),"
-  "  CONSTRAINT VIRTUAL_ORGANIZATION_VON_UN UNIQUE(VIRTUAL_ORGANIZATION_NAME)"
-  ");"
-  "CREATE TABLE STORAGE_CLASS("
-  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
-  "  STORAGE_CLASS_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
-  "  NB_COPIES               NUMERIC(3, 0)       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT STORAGE_CLASS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
-  "  CONSTRAINT STORAGE_CLASS_PK PRIMARY KEY(STORAGE_CLASS_ID),"
-  "  CONSTRAINT STORAGE_CLASS_SCN_UN UNIQUE(STORAGE_CLASS_NAME),"
-  "  CONSTRAINT STORAGE_CLASS_VOI_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
-  ");"
-  "CREATE TABLE TAPE_POOL("
-  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
-  "  TAPE_POOL_NAME          VARCHAR(100)    CONSTRAINT TAPE_POOL_TPN_NN  NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_VOI_NN  NOT NULL,"
-  "  NB_PARTIAL_TAPES        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
-  "  IS_ENCRYPTED            CHAR(1)         CONSTRAINT TAPE_POOL_IE_NN   NOT NULL,"
-  "  SUPPLY                  VARCHAR(100),"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT TAPE_POOL_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
-  "  CONSTRAINT TAPE_POOL_PK PRIMARY KEY(TAPE_POOL_ID),"
-  "  CONSTRAINT TAPE_POOL_TPN_UN UNIQUE(TAPE_POOL_NAME),"
-  "  CONSTRAINT TAPE_POOL_IS_ENCRYPTED_BOOL_CK CHECK(IS_ENCRYPTED IN ('0', '1')),"
-  "  CONSTRAINT TAPE_POOL_VO_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
-  ");"
-  "CREATE TABLE ARCHIVE_ROUTE("
-  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
-  "  COPY_NB                 NUMERIC(3, 0)       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
-  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ARCHIVE_ROUTE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT ARCHIVE_ROUTE_PK PRIMARY KEY(STORAGE_CLASS_ID, COPY_NB),"
-  "  CONSTRAINT ARCHIVE_ROUTE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
-  "  CONSTRAINT ARCHIVE_ROUTE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
-  "  CONSTRAINT ARCHIVE_ROUTE_COPY_NB_GT_0_CK CHECK(COPY_NB > 0),"
-  "  CONSTRAINT ARCHIVE_ROUTE_SCI_TPI_UN UNIQUE(STORAGE_CLASS_ID, TAPE_POOL_ID)"
-  ");"
-  "CREATE TABLE MEDIA_TYPE("
-  "  MEDIA_TYPE_ID          NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_MTI_NN  NOT NULL,"
-  "  MEDIA_TYPE_NAME        VARCHAR(100)  CONSTRAINT MEDIA_TYPE_MTN_NN  NOT NULL,"
-  "  CARTRIDGE              VARCHAR(100)  CONSTRAINT MEDIA_TYPE_C_NN    NOT NULL,"
-  "  CAPACITY_IN_BYTES      NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_CIB_NN  NOT NULL,"
-  "  PRIMARY_DENSITY_CODE   NUMERIC(3, 0),"
-  "  SECONDARY_DENSITY_CODE NUMERIC(3, 0),"
-  "  NB_WRAPS               NUMERIC(10, 0),"
-  "  MIN_LPOS               NUMERIC(20, 0),"
-  "  MAX_LPOS               NUMERIC(20, 0),"
-  "  USER_COMMENT           VARCHAR(1000) CONSTRAINT MEDIA_TYPE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR(100)  CONSTRAINT MEDIA_TYPE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR(100)  CONSTRAINT MEDIA_TYPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR(100)  CONSTRAINT MEDIA_TYPE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)  CONSTRAINT MEDIA_TYPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT MEDIA_TYPE_PK PRIMARY KEY(MEDIA_TYPE_ID),"
-  "  CONSTRAINT MEDIA_TYPE_MTN_UN UNIQUE(MEDIA_TYPE_NAME)"
-  ");"
-  "CREATE TABLE LOGICAL_LIBRARY("
-  "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
-  "  LOGICAL_LIBRARY_NAME    VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LLN_NN  NOT NULL,"
-  "  IS_DISABLED             CHAR(1)         DEFAULT '0' CONSTRAINT LOGICAL_LIBRARY_ID_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT LOGICAL_LIBRARY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
-  "  CONSTRAINT LOGICAL_LIBRARY_PK PRIMARY KEY(LOGICAL_LIBRARY_ID),"
-  "  CONSTRAINT LOGICAL_LIBRARY_LLN_UN UNIQUE(LOGICAL_LIBRARY_NAME),"
-  "  CONSTRAINT LOGICAL_LIBRARY_ID_BOOL_CK CHECK(IS_DISABLED IN ('0', '1'))"
-  ");"
-  "CREATE TABLE TAPE("
-  "  VID                     VARCHAR(100)    CONSTRAINT TAPE_V_NN    NOT NULL,"
-  "  MEDIA_TYPE_ID           NUMERIC(20, 0)      CONSTRAINT TAPE_MTID_NN   NOT NULL,"
-  "  VENDOR                  VARCHAR(100)    CONSTRAINT TAPE_V2_NN   NOT NULL,"
-  "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
-  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
-  "  ENCRYPTION_KEY_NAME     VARCHAR(100),"
-  "  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),"
-  "  IS_FULL                 CHAR(1)         CONSTRAINT TAPE_IF_NN   NOT NULL,"
-  "  IS_READ_ONLY            CHAR(1),"
-  "  IS_FROM_CASTOR          CHAR(1)         CONSTRAINT TAPE_IFC_NN  NOT NULL,"
-  "  DIRTY                   CHAR(1)         DEFAULT '1' CONSTRAINT TAPE_DIRTY_NN NOT NULL,"
-  "  NB_COPY_NB_1            NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_1_NN NOT NULL,"
-  "  COPY_NB_1_IN_BYTES      NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_1_IN_BYTES_NN NOT NULL,"
-  "  NB_COPY_NB_GT_1         NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_GT_1_NN NOT NULL,"
-  "  COPY_NB_GT_1_IN_BYTES   NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_GT_1_IN_BYTES_NN NOT NULL,"
-  "  LABEL_DRIVE             VARCHAR(100),"
-  "  LABEL_TIME              NUMERIC(20, 0)    ,"
-  "  LAST_READ_DRIVE         VARCHAR(100),"
-  "  LAST_READ_TIME          NUMERIC(20, 0)    ,"
-  "  LAST_WRITE_DRIVE        VARCHAR(100),"
-  "  LAST_WRITE_TIME         NUMERIC(20, 0)    ,"
-  "  READ_MOUNT_COUNT        NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
-  "  WRITE_MOUNT_COUNT       NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000),"
-  "  TAPE_STATE              VARCHAR(100),"
-  "  STATE_REASON            VARCHAR(1000),"
-  "  STATE_UPDATE_TIME       NUMERIC(20, 0),"
-  "  STATE_MODIFIED_BY       VARCHAR(100),"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT TAPE_PK PRIMARY KEY(VID),"
-  "  CONSTRAINT TAPE_LOGICAL_LIBRARY_FK FOREIGN KEY(LOGICAL_LIBRARY_ID) REFERENCES LOGICAL_LIBRARY(LOGICAL_LIBRARY_ID),"
-  "  CONSTRAINT TAPE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
-  "  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_DIRTY_BOOL_CK CHECK(DIRTY IN ('0','1')),"
-  "  CONSTRAINT TAPE_STATE_CK CHECK(TAPE_STATE IN ('ACTIVE', 'DISABLED', 'BROKEN')),"
-  "  CONSTRAINT TAPE_MEDIA_TYPE_FK FOREIGN KEY(MEDIA_TYPE_ID) REFERENCES MEDIA_TYPE(MEDIA_TYPE_ID)"
-  ");"
-  "CREATE INDEX TAPE_TAPE_POOL_ID_IDX ON TAPE(TAPE_POOL_ID);"
-  "CREATE INDEX TAPE_IS_DISABLED_IDX ON TAPE(IS_DISABLED);"
-  "CREATE INDEX TAPE_STATE_IDX ON TAPE(TAPE_STATE);"
-  "CREATE TABLE MOUNT_POLICY("
-  "  MOUNT_POLICY_NAME          VARCHAR(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
-  "  ARCHIVE_PRIORITY           NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
-  "  ARCHIVE_MIN_REQUEST_AGE    NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
-  "  RETRIEVE_PRIORITY          NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
-  "  RETRIEVE_MIN_REQUEST_AGE   NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
-  "  MAX_DRIVES_ALLOWED         NUMERIC(20, 0),"
-  "  USER_COMMENT               VARCHAR(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME     VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME     VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME          NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME      VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME      VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME           NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
-  "  CONSTRAINT MOUNT_POLICY_PK PRIMARY KEY(MOUNT_POLICY_NAME)"
-  ");"
-  "CREATE TABLE REQUESTER_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR(100)    CONSTRAINT RQSTER_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_NAME         VARCHAR(100)    CONSTRAINT RQSTER_RULE_RN_NN   NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR(100)    CONSTRAINT RQSTER_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT RQSTER_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_NAME),"
-  "  CONSTRAINT RQSTER_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
-  "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
-  ");"
-  "CREATE TABLE REQUESTER_GROUP_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_GROUP_NAME   VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_RGN_NN  NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_GRP_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT RQSTER_GRP_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_GROUP_NAME),"
-  "  CONSTRAINT RQSTER_GRP_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
-  "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
-  ");"
-  "CREATE TABLE ARCHIVE_FILE("
-  "  ARCHIVE_FILE_ID         NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
-  "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DIN_NN  NOT NULL,"
-  "  DISK_FILE_ID            VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DFI_NN  NOT NULL,"
-  "  DISK_FILE_UID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
-  "  DISK_FILE_GID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
-  "  SIZE_IN_BYTES           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
-  "  CHECKSUM_BLOB           BYTEA,"
-  "  CHECKSUM_ADLER32        NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
-  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
-  "  CREATION_TIME           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
-  "  RECONCILIATION_TIME     NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
-  "  IS_DELETED              CHAR(1)         DEFAULT '0' CONSTRAINT ARCHIVE_FILE_ID_NN NOT NULL,"
-  "  COLLOCATION_HINT        VARCHAR(100),"
-  "  CONSTRAINT ARCHIVE_FILE_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
-  "  CONSTRAINT ARCHIVE_FILE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
-  "  CONSTRAINT ARCHIVE_FILE_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID),"
-  "  CONSTRAINT ARCHIVE_FILE_ID_BOOL_CK CHECK(IS_DELETED IN ('0', '1'))"
-  ");"
-  "CREATE INDEX ARCHIVE_FILE_DIN_IDX ON ARCHIVE_FILE(DISK_INSTANCE_NAME);"
-  "CREATE INDEX ARCHIVE_FILE_DFI_IDX ON ARCHIVE_FILE(DISK_FILE_ID);"
-  "CREATE TABLE TAPE_FILE("
-  "  VID                      VARCHAR(100)   CONSTRAINT TAPE_FILE_V_NN    NOT NULL,"
-  "  FSEQ                     NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
-  "  BLOCK_ID                 NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
-  "  LOGICAL_SIZE_IN_BYTES    NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
-  "  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,"
-  "  SUPERSEDED_BY_VID        VARCHAR(100),"
-  "  SUPERSEDED_BY_FSEQ       NUMERIC(20, 0)    ,"
-  "  WRITE_START_WRAP         NUMERIC(5, 0),"
-  "  WRITE_START_LPOS         NUMERIC(10, 0),"
-  "  WRITE_END_WRAP           NUMERIC(5, 0),"
-  "  WRITE_END_LPOS           NUMERIC(10, 0),"
-  "  READ_START_WRAP          NUMERIC(5, 0),"
-  "  READ_START_LPOS          NUMERIC(10, 0),"
-  "  READ_END_WRAP            NUMERIC(5, 0),"
-  "  READ_END_LPOS            NUMERIC(10, 0),"
-  "  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_SS_VID_FSEQ_FK FOREIGN KEY(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ)"
-  "    REFERENCES TAPE_FILE(VID, FSEQ)"
-  ");"
-  "CREATE INDEX TAPE_FILE_VID_IDX ON TAPE_FILE(VID);"
-  "CREATE INDEX TAPE_FILE_ARCHIVE_FILE_ID_IDX ON TAPE_FILE(ARCHIVE_FILE_ID);"
-  "CREATE INDEX TAPE_FILE_SBV_SBF_IDX ON TAPE_FILE(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ);"
-  "CREATE TABLE ACTIVITIES_WEIGHTS ("
-  "  DISK_INSTANCE_NAME       VARCHAR(100),"
-  "  ACTIVITY                 VARCHAR(100),"
-  "  WEIGHT                   VARCHAR(100),"
-  "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT ACTIV_WEIGHTS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME        NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME         NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
-  ");"
-  "CREATE TABLE ARCHIVE_FILE_RECYCLE_BIN("
-  "  ARCHIVE_FILE_ID         NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RB_AFI_NN  NOT NULL,"
-  "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_RB_DIN_NN  NOT NULL,"
-  "  DISK_FILE_ID            VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_RB_DFI_NN  NOT NULL,"
-  "  DISK_FILE_ID_WHEN_DELETED VARCHAR(100)  CONSTRAINT ARCHIVE_FILE_RB_DFIWD_NN NOT NULL,"
-  "  DISK_FILE_UID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_RB_DFUID_NN  NOT NULL,"
-  "  DISK_FILE_GID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_RB_DFGID_NN  NOT NULL,"
-  "  SIZE_IN_BYTES           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RB_SIB_NN  NOT NULL,"
-  "  CHECKSUM_BLOB           BYTEA,"
-  "  CHECKSUM_ADLER32        NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_RB_CB2_NN  NOT NULL,"
-  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RB_SCI_NN  NOT NULL,"
-  "  CREATION_TIME           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RB_CT2_NN  NOT NULL,"
-  "  RECONCILIATION_TIME     NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RB_RT_NN   NOT NULL,"
-  "  COLLOCATION_HINT        VARCHAR(100),"
-  "  DISK_FILE_PATH          VARCHAR(2000) CONSTRAINT ARCHIVE_FILE_RB_DFP_NN NOT NULL,"
-  "  DELETION_TIME           NUMERIC(20, 0)    CONSTRAINT ARCHIVE_FILE_RB_DT_NN NOT NULL,"
-  "  CONSTRAINT ARCHIVE_FILE_RB_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
-  "  CONSTRAINT ARCHIVE_FILE_RB_SC_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
-  "  CONSTRAINT ARCHIVE_FILE_RB_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID)"
-  ");"
-  "CREATE TABLE TAPE_FILE_RECYCLE_BIN("
-  "  VID                      VARCHAR(100)   CONSTRAINT TAPE_FILE_RB_V_NN    NOT NULL,"
-  "  FSEQ                     NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_RB_F_NN    NOT NULL,"
-  "  BLOCK_ID                 NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_RB_BI_NN   NOT NULL,"
-  "  LOGICAL_SIZE_IN_BYTES    NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_RB_CSIB_NN NOT NULL,"
-  "  COPY_NB                  NUMERIC(3, 0)      CONSTRAINT TAPE_FILE_RB_CN_NN   NOT NULL,"
-  "  CREATION_TIME            NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_RB_CT_NN   NOT NULL,"
-  "  ARCHIVE_FILE_ID          NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_RB_AFI_NN  NOT NULL,"
-  "  SUPERSEDED_BY_VID        VARCHAR(100),"
-  "  SUPERSEDED_BY_FSEQ       NUMERIC(20, 0),"
-  "  WRITE_START_WRAP         NUMERIC(5, 0),"
-  "  WRITE_START_LPOS         NUMERIC(10, 0),"
-  "  WRITE_END_WRAP           NUMERIC(5, 0),"
-  "  WRITE_END_LPOS           NUMERIC(10, 0),"
-  "  READ_START_WRAP          NUMERIC(5, 0),"
-  "  READ_START_LPOS          NUMERIC(10, 0),"
-  "  READ_END_WRAP            NUMERIC(5, 0),"
-  "  READ_END_LPOS            NUMERIC(10, 0),"
-  "  CONSTRAINT TAPE_FILE_RB_PK PRIMARY KEY(VID, FSEQ),"
-  "  CONSTRAINT TAPE_FILE_RB_TAPE_FK FOREIGN KEY(VID)"
-  "    REFERENCES TAPE(VID),"
-  "  CONSTRAINT TAPE_FILE_RB_ARCHIVE_FILE_FK FOREIGN KEY(ARCHIVE_FILE_ID)"
-  "    REFERENCES ARCHIVE_FILE_RECYCLE_BIN(ARCHIVE_FILE_ID),"
-  "  CONSTRAINT TAPE_FILE_RB_VID_BLOCK_ID_UN UNIQUE(VID, BLOCK_ID),"
-  "  CONSTRAINT TAPE_FILE_RB_COPY_NB_GT_0_CK CHECK(COPY_NB > 0),"
-  "  CONSTRAINT TAPE_FILE_RB_SS_VID_FSEQ_FK FOREIGN KEY(SUPERSEDED_BY_VID, SUPERSEDED_BY_FSEQ)"
-  "    REFERENCES TAPE_FILE_RECYCLE_BIN(VID, FSEQ)"
-  ");"
-  "CREATE TABLE FILE_RECYCLE_LOG("
-  "  FILE_RECYCLE_LOG_ID        NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_ID_NN NOT NULL,"
-  "  VID                        VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_VID_NN NOT NULL,"
-  "  FSEQ                       NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_FSEQ_NN NOT NULL,"
-  "  BLOCK_ID                   NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_BID_NN NOT NULL,"
-  "  COPY_NB                    NUMERIC(3, 0)           CONSTRAINT FILE_RECYCLE_LOG_COPY_NB_NN NOT NULL,"
-  "  TAPE_FILE_CREATION_TIME    NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_TFCT_NN NOT NULL,"
-  "  ARCHIVE_FILE_ID            NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_AFI_NN NOT NULL,"
-  "  DISK_INSTANCE_NAME         VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DIN_NN NOT NULL,"
-  "  DISK_FILE_ID               VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DFI_NN NOT NULL,"
-  "  DISK_FILE_ID_WHEN_DELETED  VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DFIWD_NN NOT NULL,"
-  "  DISK_FILE_UID              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_DFU_NN NOT NULL,"
-  "  DISK_FILE_GID              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_DFG_NN NOT NULL,"
-  "  SIZE_IN_BYTES              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_SIB_NN NOT NULL,"
-  "  CHECKSUM_BLOB              BYTEA,"
-  "  CHECKSUM_ADLER32           NUMERIC(10, 0)          CONSTRAINT FILE_RECYCLE_LOG_CA_NN NOT NULL,"
-  "  STORAGE_CLASS_ID           NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_SCI_NN NOT NULL,"
-  "  ARCHIVE_FILE_CREATION_TIME NUMERIC(20, 0)          CONSTRAINT FILE_RECYLE_LOG_CT_NN NOT NULL,"
-  "  RECONCILIATION_TIME        NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_RT_NN NOT NULL,"
-  "  COLLOCATION_HINT           VARCHAR(100),"
-  "  DISK_FILE_PATH             VARCHAR(2000),"
-  "  REASON_LOG                 VARCHAR(1000)       CONSTRAINT FILE_RECYCLE_LOG_RL_NN NOT NULL,"
-  "  RECYCLE_LOG_TIME           NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_RLT_NN NOT NULL,"
-  "  CONSTRAINT FILE_RECYCLE_LOG_PK PRIMARY KEY(FILE_RECYCLE_LOG_ID),"
-  "  CONSTRAINT FILE_RECYCLE_LOG_VID_FK FOREIGN KEY(VID) REFERENCES TAPE(VID),"
-  "  CONSTRAINT FILE_RECYCLE_LOG_SC_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID)"
-  ");"
-  "CREATE INDEX FILE_RECYCLE_LOG_DFI_IDX ON FILE_RECYCLE_LOG(DISK_FILE_ID);"
-  "INSERT INTO CTA_CATALOGUE("
-  "  SCHEMA_VERSION_MAJOR,"
-  "  SCHEMA_VERSION_MINOR,"
-  "  STATUS)"
-  "VALUES("
-  "  3,"
-  "  2,"
-  "  '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='PRODUCTION') OR (STATUS='UPGRADING'));"
-      },
-    }  },
-  {"4.0",
-    {
-      {"oracle",  "CREATE SEQUENCE ARCHIVE_FILE_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 4294967296"
-  "  NOMAXVALUE"
-  "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
-  "CREATE SEQUENCE LOGICAL_LIBRARY_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NOMAXVALUE"
-  "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
-  "CREATE SEQUENCE MEDIA_TYPE_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NOMAXVALUE"
-  "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
-  "CREATE SEQUENCE STORAGE_CLASS_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 10000"
-  "  NOMAXVALUE"
-  "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
-  "CREATE SEQUENCE TAPE_POOL_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NOMAXVALUE"
-  "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
-  "CREATE SEQUENCE VIRTUAL_ORGANIZATION_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NOMAXVALUE"
-  "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
-  "CREATE SEQUENCE FILE_RECYCLE_LOG_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NOMAXVALUE"
-  "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
-  "CREATE GLOBAL TEMPORARY TABLE TEMP_TAPE_FILE_INSERTION_BATCH("
-  "  VID                   VARCHAR2(100),"
-  "  FSEQ                  NUMERIC(20, 0)  ,"
-  "  BLOCK_ID              NUMERIC(20, 0)  ,"
-  "  LOGICAL_SIZE_IN_BYTES NUMERIC(20, 0)  ,"
-  "  COPY_NB               NUMERIC(3, 0)   ,"
-  "  CREATION_TIME         NUMERIC(20, 0)  ,"
-  "  ARCHIVE_FILE_ID       NUMERIC(20, 0)"
-  ")"
-  "ON COMMIT DELETE ROWS;"
-  "CREATE INDEX TEMP_T_F_I_B_AFI_IDX ON TEMP_TAPE_FILE_INSERTION_BATCH(ARCHIVE_FILE_ID);"
-  "CREATE TABLE CTA_CATALOGUE("
-  "  SCHEMA_VERSION_MAJOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
-  "  SCHEMA_VERSION_MINOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
-  "  NEXT_SCHEMA_VERSION_MAJOR NUMERIC(20, 0),"
-  "  NEXT_SCHEMA_VERSION_MINOR NUMERIC(20, 0),"
-  "  STATUS                  VARCHAR2(100),"
-  "  IS_PRODUCTION           CHAR(1)         DEFAULT '0' CONSTRAINT CTA_CATALOGUE_IP_NN NOT NULL,"
-  "  CONSTRAINT CTA_CATALOGUE_IP_BOOL_CK     CHECK(IS_PRODUCTION IN ('0','1'))"
-  ");"
-  "CREATE TABLE ADMIN_USER("
-  "  ADMIN_USER_NAME         VARCHAR2(100)    CONSTRAINT ADMIN_USER_AUN_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
-  "  CONSTRAINT ADMIN_USER_PK PRIMARY KEY(ADMIN_USER_NAME)"
-  ");"
-  "CREATE TABLE DISK_SYSTEM("
-  "  DISK_SYSTEM_NAME        VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
-  "  FILE_REGEXP             VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
-  "  FREE_SPACE_QUERY_URL    VARCHAR2(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
-  "  REFRESH_INTERVAL        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
-  "  TARGETED_FREE_SPACE     NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
-  "  SLEEP_TIME              NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
-  "  CONSTRAINT NAME_PK PRIMARY KEY(DISK_SYSTEM_NAME)"
-  ");"
-  "CREATE TABLE VIRTUAL_ORGANIZATION("
-  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_VOI_NN  NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_NAME VARCHAR2(100)  CONSTRAINT VIRTUAL_ORGANIZATION_VON_NN  NOT NULL,"
-  "  READ_MAX_DRIVES NUMERIC(20, 0)              CONSTRAINT VIRTUAL_ORGANIZATION_RMD_NN  NOT NULL,"
-  "  WRITE_MAX_DRIVES NUMERIC(20, 0)             CONSTRAINT VIRTUAL_ORGANIZATION_WMD_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT VIRTUAL_ORGANIZATION_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_LUT_NN  NOT NULL,"
-  "  CONSTRAINT VIRTUAL_ORGANIZATION_PK PRIMARY KEY(VIRTUAL_ORGANIZATION_ID),"
-  "  CONSTRAINT VIRTUAL_ORGANIZATION_VON_UN UNIQUE(VIRTUAL_ORGANIZATION_NAME)"
-  ");"
-  "CREATE TABLE STORAGE_CLASS("
-  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
-  "  STORAGE_CLASS_NAME      VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
-  "  NB_COPIES               NUMERIC(3, 0)       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT STORAGE_CLASS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
-  "  CONSTRAINT STORAGE_CLASS_PK PRIMARY KEY(STORAGE_CLASS_ID),"
-  "  CONSTRAINT STORAGE_CLASS_SCN_UN UNIQUE(STORAGE_CLASS_NAME),"
-  "  CONSTRAINT STORAGE_CLASS_VOI_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
-  ");"
-  "CREATE TABLE TAPE_POOL("
-  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
-  "  TAPE_POOL_NAME          VARCHAR2(100)    CONSTRAINT TAPE_POOL_TPN_NN  NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_VOI_NN  NOT NULL,"
-  "  NB_PARTIAL_TAPES        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
-  "  IS_ENCRYPTED            CHAR(1)         CONSTRAINT TAPE_POOL_IE_NN   NOT NULL,"
-  "  SUPPLY                  VARCHAR2(100),"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT TAPE_POOL_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
-  "  CONSTRAINT TAPE_POOL_PK PRIMARY KEY(TAPE_POOL_ID),"
-  "  CONSTRAINT TAPE_POOL_TPN_UN UNIQUE(TAPE_POOL_NAME),"
-  "  CONSTRAINT TAPE_POOL_IS_ENCRYPTED_BOOL_CK CHECK(IS_ENCRYPTED IN ('0', '1')),"
-  "  CONSTRAINT TAPE_POOL_VO_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
-  ");"
-  "CREATE TABLE ARCHIVE_ROUTE("
-  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
-  "  COPY_NB                 NUMERIC(3, 0)       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
-  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT ARCHIVE_ROUTE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT ARCHIVE_ROUTE_PK PRIMARY KEY(STORAGE_CLASS_ID, COPY_NB),"
-  "  CONSTRAINT ARCHIVE_ROUTE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
-  "  CONSTRAINT ARCHIVE_ROUTE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
-  "  CONSTRAINT ARCHIVE_ROUTE_COPY_NB_GT_0_CK CHECK(COPY_NB > 0),"
-  "  CONSTRAINT ARCHIVE_ROUTE_SCI_TPI_UN UNIQUE(STORAGE_CLASS_ID, TAPE_POOL_ID)"
-  ");"
-  "CREATE TABLE MEDIA_TYPE("
-  "  MEDIA_TYPE_ID          NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_MTI_NN  NOT NULL,"
-  "  MEDIA_TYPE_NAME        VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_MTN_NN  NOT NULL,"
-  "  CARTRIDGE              VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_C_NN    NOT NULL,"
-  "  CAPACITY_IN_BYTES      NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_CIB_NN  NOT NULL,"
-  "  PRIMARY_DENSITY_CODE   NUMERIC(3, 0),"
-  "  SECONDARY_DENSITY_CODE NUMERIC(3, 0),"
-  "  NB_WRAPS               NUMERIC(10, 0),"
-  "  MIN_LPOS               NUMERIC(20, 0),"
-  "  MAX_LPOS               NUMERIC(20, 0),"
-  "  USER_COMMENT           VARCHAR2(1000) CONSTRAINT MEDIA_TYPE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT MEDIA_TYPE_PK PRIMARY KEY(MEDIA_TYPE_ID),"
-  "  CONSTRAINT MEDIA_TYPE_MTN_UN UNIQUE(MEDIA_TYPE_NAME)"
-  ");"
-  "CREATE TABLE LOGICAL_LIBRARY("
-  "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
-  "  LOGICAL_LIBRARY_NAME    VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_LLN_NN  NOT NULL,"
-  "  IS_DISABLED             CHAR(1)         DEFAULT '0' CONSTRAINT LOGICAL_LIBRARY_ID_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT LOGICAL_LIBRARY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
-  "  CONSTRAINT LOGICAL_LIBRARY_PK PRIMARY KEY(LOGICAL_LIBRARY_ID),"
-  "  CONSTRAINT LOGICAL_LIBRARY_LLN_UN UNIQUE(LOGICAL_LIBRARY_NAME),"
-  "  CONSTRAINT LOGICAL_LIBRARY_ID_BOOL_CK CHECK(IS_DISABLED IN ('0', '1'))"
-  ");"
-  "CREATE TABLE TAPE("
-  "  VID                     VARCHAR2(100)    CONSTRAINT TAPE_V_NN    NOT NULL,"
-  "  MEDIA_TYPE_ID           NUMERIC(20, 0)      CONSTRAINT TAPE_MTID_NN   NOT NULL,"
-  "  VENDOR                  VARCHAR2(100)    CONSTRAINT TAPE_V2_NN   NOT NULL,"
-  "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
-  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
-  "  ENCRYPTION_KEY_NAME     VARCHAR2(100),"
-  "  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_FULL                 CHAR(1)         CONSTRAINT TAPE_IF_NN   NOT NULL,"
-  "  IS_FROM_CASTOR          CHAR(1)         CONSTRAINT TAPE_IFC_NN  NOT NULL,"
-  "  DIRTY                   CHAR(1)         DEFAULT '1' CONSTRAINT TAPE_DIRTY_NN NOT NULL,"
-  "  NB_COPY_NB_1            NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_1_NN NOT NULL,"
-  "  COPY_NB_1_IN_BYTES      NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_1_IN_BYTES_NN NOT NULL,"
-  "  NB_COPY_NB_GT_1         NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_GT_1_NN NOT NULL,"
-  "  COPY_NB_GT_1_IN_BYTES   NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_GT_1_IN_BYTES_NN NOT NULL,"
-  "  LABEL_DRIVE             VARCHAR2(100),"
-  "  LABEL_TIME              NUMERIC(20, 0)    ,"
-  "  LAST_READ_DRIVE         VARCHAR2(100),"
-  "  LAST_READ_TIME          NUMERIC(20, 0)    ,"
-  "  LAST_WRITE_DRIVE        VARCHAR2(100),"
-  "  LAST_WRITE_TIME         NUMERIC(20, 0)    ,"
-  "  READ_MOUNT_COUNT        NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
-  "  WRITE_MOUNT_COUNT       NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000),"
-  "  TAPE_STATE              VARCHAR2(100)    CONSTRAINT TAPE_TS_NN NOT NULL,"
-  "  STATE_REASON            VARCHAR2(1000),"
-  "  STATE_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_SUT_NN NOT NULL,"
-  "  STATE_MODIFIED_BY       VARCHAR2(100)    CONSTRAINT TAPE_SMB_NN NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT TAPE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT TAPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT TAPE_PK PRIMARY KEY(VID),"
-  "  CONSTRAINT TAPE_LOGICAL_LIBRARY_FK FOREIGN KEY(LOGICAL_LIBRARY_ID) REFERENCES LOGICAL_LIBRARY(LOGICAL_LIBRARY_ID),"
-  "  CONSTRAINT TAPE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
-  "  CONSTRAINT TAPE_IS_FULL_BOOL_CK CHECK(IS_FULL IN ('0', '1')),"
-  "  CONSTRAINT TAPE_IS_FROM_CASTOR_BOOL_CK CHECK(IS_FROM_CASTOR IN ('0', '1')),"
-  "  CONSTRAINT TAPE_DIRTY_BOOL_CK CHECK(DIRTY IN ('0','1')),"
-  "  CONSTRAINT TAPE_STATE_CK CHECK(TAPE_STATE IN ('ACTIVE', 'DISABLED', 'BROKEN')),"
-  "  CONSTRAINT TAPE_MEDIA_TYPE_FK FOREIGN KEY(MEDIA_TYPE_ID) REFERENCES MEDIA_TYPE(MEDIA_TYPE_ID)"
-  ");"
-  "CREATE INDEX TAPE_TAPE_POOL_ID_IDX ON TAPE(TAPE_POOL_ID);"
-  "CREATE INDEX TAPE_STATE_IDX ON TAPE(TAPE_STATE);"
-  "CREATE TABLE MOUNT_POLICY("
-  "  MOUNT_POLICY_NAME          VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
-  "  ARCHIVE_PRIORITY           NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
-  "  ARCHIVE_MIN_REQUEST_AGE    NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
-  "  RETRIEVE_PRIORITY          NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
-  "  RETRIEVE_MIN_REQUEST_AGE   NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
-  "  USER_COMMENT               VARCHAR2(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME     VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME     VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME          NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME      VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME      VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME           NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
-  "  CONSTRAINT MOUNT_POLICY_PK PRIMARY KEY(MOUNT_POLICY_NAME)"
-  ");"
-  "CREATE TABLE REQUESTER_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR2(100)    CONSTRAINT RQSTER_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_NAME         VARCHAR2(100)    CONSTRAINT RQSTER_RULE_RN_NN   NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR2(100)    CONSTRAINT RQSTER_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR2(1000)   CONSTRAINT RQSTER_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR2(100)    CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR2(100)    CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT RQSTER_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_NAME),"
-  "  CONSTRAINT RQSTER_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
-  "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
-  ");"
-  "CREATE TABLE REQUESTER_GROUP_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_GROUP_NAME   VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_RGN_NN  NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR2(1000)   CONSTRAINT RQSTER_GRP_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT RQSTER_GRP_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_GROUP_NAME),"
-  "  CONSTRAINT RQSTER_GRP_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
-  "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
-  ");"
-  "CREATE TABLE ARCHIVE_FILE("
-  "  ARCHIVE_FILE_ID         NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
-  "  DISK_INSTANCE_NAME      VARCHAR2(100)    CONSTRAINT ARCHIVE_FILE_DIN_NN  NOT NULL,"
-  "  DISK_FILE_ID            VARCHAR2(100)    CONSTRAINT ARCHIVE_FILE_DFI_NN  NOT NULL,"
-  "  DISK_FILE_UID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
-  "  DISK_FILE_GID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
-  "  SIZE_IN_BYTES           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
-  "  CHECKSUM_BLOB           RAW(200),"
-  "  CHECKSUM_ADLER32        NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
-  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
-  "  CREATION_TIME           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
-  "  RECONCILIATION_TIME     NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
-  "  IS_DELETED              CHAR(1)         DEFAULT '0' CONSTRAINT ARCHIVE_FILE_ID_NN NOT NULL,"
-  "  COLLOCATION_HINT        VARCHAR2(100),"
-  "  CONSTRAINT ARCHIVE_FILE_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
-  "  CONSTRAINT ARCHIVE_FILE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
-  "  CONSTRAINT ARCHIVE_FILE_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID),"
-  "  CONSTRAINT ARCHIVE_FILE_ID_BOOL_CK CHECK(IS_DELETED IN ('0', '1'))"
-  ");"
-  "CREATE INDEX ARCHIVE_FILE_DIN_IDX ON ARCHIVE_FILE(DISK_INSTANCE_NAME);"
-  "CREATE INDEX ARCHIVE_FILE_DFI_IDX ON ARCHIVE_FILE(DISK_FILE_ID);"
-  "CREATE TABLE TAPE_FILE("
-  "  VID                      VARCHAR2(100)   CONSTRAINT TAPE_FILE_V_NN    NOT NULL,"
-  "  FSEQ                     NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
-  "  BLOCK_ID                 NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
-  "  LOGICAL_SIZE_IN_BYTES    NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
-  "  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,"
-  "  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)"
-  ");"
-  "CREATE INDEX TAPE_FILE_VID_IDX ON TAPE_FILE(VID);"
-  "CREATE INDEX TAPE_FILE_ARCHIVE_FILE_ID_IDX ON TAPE_FILE(ARCHIVE_FILE_ID);"
-  "CREATE TABLE ACTIVITIES_WEIGHTS ("
-  "  DISK_INSTANCE_NAME       VARCHAR2(100),"
-  "  ACTIVITY                 VARCHAR2(100),"
-  "  WEIGHT                   VARCHAR2(100),"
-  "  USER_COMMENT             VARCHAR2(1000)   CONSTRAINT ACTIV_WEIGHTS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME   VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME   VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME        NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME    VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME    VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME         NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
-  ");"
-  "CREATE TABLE FILE_RECYCLE_LOG("
-  "  FILE_RECYCLE_LOG_ID        NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_ID_NN NOT NULL,"
-  "  VID                        VARCHAR2(100)        CONSTRAINT FILE_RECYCLE_LOG_VID_NN NOT NULL,"
-  "  FSEQ                       NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_FSEQ_NN NOT NULL,"
-  "  BLOCK_ID                   NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_BID_NN NOT NULL,"
-  "  COPY_NB                    NUMERIC(3, 0)           CONSTRAINT FILE_RECYCLE_LOG_COPY_NB_NN NOT NULL,"
-  "  TAPE_FILE_CREATION_TIME    NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_TFCT_NN NOT NULL,"
-  "  ARCHIVE_FILE_ID            NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_AFI_NN NOT NULL,"
-  "  DISK_INSTANCE_NAME         VARCHAR2(100)        CONSTRAINT FILE_RECYCLE_LOG_DIN_NN NOT NULL,"
-  "  DISK_FILE_ID               VARCHAR2(100)        CONSTRAINT FILE_RECYCLE_LOG_DFI_NN NOT NULL,"
-  "  DISK_FILE_ID_WHEN_DELETED  VARCHAR2(100)        CONSTRAINT FILE_RECYCLE_LOG_DFIWD_NN NOT NULL,"
-  "  DISK_FILE_UID              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_DFU_NN NOT NULL,"
-  "  DISK_FILE_GID              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_DFG_NN NOT NULL,"
-  "  SIZE_IN_BYTES              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_SIB_NN NOT NULL,"
-  "  CHECKSUM_BLOB              RAW(200),"
-  "  CHECKSUM_ADLER32           NUMERIC(10, 0)          CONSTRAINT FILE_RECYCLE_LOG_CA_NN NOT NULL,"
-  "  STORAGE_CLASS_ID           NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_SCI_NN NOT NULL,"
-  "  ARCHIVE_FILE_CREATION_TIME NUMERIC(20, 0)          CONSTRAINT FILE_RECYLE_LOG_CT_NN NOT NULL,"
-  "  RECONCILIATION_TIME        NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_RT_NN NOT NULL,"
-  "  COLLOCATION_HINT           VARCHAR2(100),"
-  "  DISK_FILE_PATH             VARCHAR2(2000),"
-  "  REASON_LOG                 VARCHAR2(1000)       CONSTRAINT FILE_RECYCLE_LOG_RL_NN NOT NULL,"
-  "  RECYCLE_LOG_TIME           NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_RLT_NN NOT NULL,"
-  "  CONSTRAINT FILE_RECYCLE_LOG_PK PRIMARY KEY(FILE_RECYCLE_LOG_ID),"
-  "  CONSTRAINT FILE_RECYCLE_LOG_VID_FK FOREIGN KEY(VID) REFERENCES TAPE(VID),"
-  "  CONSTRAINT FILE_RECYCLE_LOG_SC_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID)"
-  ");"
-  "CREATE INDEX FILE_RECYCLE_LOG_DFI_IDX ON FILE_RECYCLE_LOG(DISK_FILE_ID);"
-  "INSERT INTO CTA_CATALOGUE("
-  "  SCHEMA_VERSION_MAJOR,"
-  "  SCHEMA_VERSION_MINOR,"
-  "  STATUS)"
-  "VALUES("
-  "  4,"
-  "  0,"
-  "  '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;"
-      },
-  {"mysql",  "CREATE TABLE ARCHIVE_FILE_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT ARCHIVE_FILE_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO ARCHIVE_FILE_ID(ID) VALUES(1);"
-  "CREATE TABLE LOGICAL_LIBRARY_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT LOGICAL_LIBRARY_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO LOGICAL_LIBRARY_ID(ID) VALUES(1);"
-  "CREATE TABLE MEDIA_TYPE_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT MEDIA_TYPE_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO MEDIA_TYPE_ID(ID) VALUES(1);"
-  "CREATE TABLE STORAGE_CLASS_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT STORAGE_CLASS_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO STORAGE_CLASS_ID(ID) VALUES(1);"
-  "CREATE TABLE TAPE_POOL_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT TAPE_POOL_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO TAPE_POOL_ID(ID) VALUES(1);"
-  "CREATE TABLE VIRTUAL_ORGANIZATION_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT VIRTUAL_ORGANIZATION_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO VIRTUAL_ORGANIZATION_ID(ID) VALUES(1);"
-  "CREATE TABLE FILE_RECYCLE_LOG_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT FILE_RECYCLE_LOG_ID PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO FILE_RECYCLE_LOG_ID(ID) VALUES (1);"
-  "CREATE TABLE CTA_CATALOGUE("
-  "  SCHEMA_VERSION_MAJOR    BIGINT UNSIGNED      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
-  "  SCHEMA_VERSION_MINOR    BIGINT UNSIGNED      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
-  "  NEXT_SCHEMA_VERSION_MAJOR BIGINT UNSIGNED,"
-  "  NEXT_SCHEMA_VERSION_MINOR BIGINT UNSIGNED,"
-  "  STATUS                  VARCHAR(100),"
-  "  IS_PRODUCTION           CHAR(1)         DEFAULT '0' CONSTRAINT CTA_CATALOGUE_IP_NN NOT NULL,"
-  "  CONSTRAINT CTA_CATALOGUE_IP_BOOL_CK     CHECK(IS_PRODUCTION IN ('0','1'))"
-  ");"
-  "CREATE TABLE ADMIN_USER("
-  "  ADMIN_USER_NAME         VARCHAR(100)    CONSTRAINT ADMIN_USER_AUN_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
-  "  CONSTRAINT ADMIN_USER_PK PRIMARY KEY(ADMIN_USER_NAME)"
-  ");"
-  "CREATE TABLE DISK_SYSTEM("
-  "  DISK_SYSTEM_NAME        VARCHAR(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
-  "  FILE_REGEXP             VARCHAR(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
-  "  FREE_SPACE_QUERY_URL    VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
-  "  REFRESH_INTERVAL        BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
-  "  TARGETED_FREE_SPACE     BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
-  "  SLEEP_TIME              BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
-  "  CONSTRAINT NAME_PK PRIMARY KEY(DISK_SYSTEM_NAME)"
-  ");"
-  "CREATE TABLE VIRTUAL_ORGANIZATION("
-  "  VIRTUAL_ORGANIZATION_ID BIGINT UNSIGNED      CONSTRAINT VIRTUAL_ORGANIZATION_VOI_NN  NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_NAME VARCHAR(100)  CONSTRAINT VIRTUAL_ORGANIZATION_VON_NN  NOT NULL,"
-  "  READ_MAX_DRIVES BIGINT UNSIGNED              CONSTRAINT VIRTUAL_ORGANIZATION_RMD_NN  NOT NULL,"
-  "  WRITE_MAX_DRIVES BIGINT UNSIGNED             CONSTRAINT VIRTUAL_ORGANIZATION_WMD_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT VIRTUAL_ORGANIZATION_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT VIRTUAL_ORGANIZATION_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT VIRTUAL_ORGANIZATION_LUT_NN  NOT NULL,"
-  "  CONSTRAINT VIRTUAL_ORGANIZATION_PK PRIMARY KEY(VIRTUAL_ORGANIZATION_ID),"
-  "  CONSTRAINT VIRTUAL_ORGANIZATION_VON_UN UNIQUE(VIRTUAL_ORGANIZATION_NAME)"
-  ");"
-  "CREATE TABLE STORAGE_CLASS("
-  "  STORAGE_CLASS_ID        BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
-  "  STORAGE_CLASS_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
-  "  NB_COPIES               TINYINT UNSIGNED       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT STORAGE_CLASS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
-  "  CONSTRAINT STORAGE_CLASS_PK PRIMARY KEY(STORAGE_CLASS_ID),"
-  "  CONSTRAINT STORAGE_CLASS_SCN_UN UNIQUE(STORAGE_CLASS_NAME),"
-  "  CONSTRAINT STORAGE_CLASS_VOI_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
-  ");"
-  "CREATE TABLE TAPE_POOL("
-  "  TAPE_POOL_ID            BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
-  "  TAPE_POOL_NAME          VARCHAR(100)    CONSTRAINT TAPE_POOL_TPN_NN  NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_VOI_NN  NOT NULL,"
-  "  NB_PARTIAL_TAPES        BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
-  "  IS_ENCRYPTED            CHAR(1)         CONSTRAINT TAPE_POOL_IE_NN   NOT NULL,"
-  "  SUPPLY                  VARCHAR(100),"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT TAPE_POOL_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
-  "  CONSTRAINT TAPE_POOL_PK PRIMARY KEY(TAPE_POOL_ID),"
-  "  CONSTRAINT TAPE_POOL_TPN_UN UNIQUE(TAPE_POOL_NAME),"
-  "  CONSTRAINT TAPE_POOL_IS_ENCRYPTED_BOOL_CK CHECK(IS_ENCRYPTED IN ('0', '1')),"
-  "  CONSTRAINT TAPE_POOL_VO_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
-  ");"
-  "CREATE TABLE ARCHIVE_ROUTE("
-  "  STORAGE_CLASS_ID        BIGINT UNSIGNED      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
-  "  COPY_NB                 TINYINT UNSIGNED       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
-  "  TAPE_POOL_ID            BIGINT UNSIGNED      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ARCHIVE_ROUTE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT ARCHIVE_ROUTE_PK PRIMARY KEY(STORAGE_CLASS_ID, COPY_NB),"
-  "  CONSTRAINT ARCHIVE_ROUTE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
-  "  CONSTRAINT ARCHIVE_ROUTE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
-  "  CONSTRAINT ARCHIVE_ROUTE_COPY_NB_GT_0_CK CHECK(COPY_NB > 0),"
-  "  CONSTRAINT ARCHIVE_ROUTE_SCI_TPI_UN UNIQUE(STORAGE_CLASS_ID, TAPE_POOL_ID)"
-  ");"
-  "CREATE TABLE MEDIA_TYPE("
-  "  MEDIA_TYPE_ID          BIGINT UNSIGNED    CONSTRAINT MEDIA_TYPE_MTI_NN  NOT NULL,"
-  "  MEDIA_TYPE_NAME        VARCHAR(100)  CONSTRAINT MEDIA_TYPE_MTN_NN  NOT NULL,"
-  "  CARTRIDGE              VARCHAR(100)  CONSTRAINT MEDIA_TYPE_C_NN    NOT NULL,"
-  "  CAPACITY_IN_BYTES      BIGINT UNSIGNED    CONSTRAINT MEDIA_TYPE_CIB_NN  NOT NULL,"
-  "  PRIMARY_DENSITY_CODE   TINYINT UNSIGNED,"
-  "  SECONDARY_DENSITY_CODE TINYINT UNSIGNED,"
-  "  NB_WRAPS               INT UNSIGNED,"
-  "  MIN_LPOS               BIGINT UNSIGNED,"
-  "  MAX_LPOS               BIGINT UNSIGNED,"
-  "  USER_COMMENT           VARCHAR(1000) CONSTRAINT MEDIA_TYPE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR(100)  CONSTRAINT MEDIA_TYPE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR(100)  CONSTRAINT MEDIA_TYPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      BIGINT UNSIGNED    CONSTRAINT MEDIA_TYPE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR(100)  CONSTRAINT MEDIA_TYPE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)  CONSTRAINT MEDIA_TYPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       BIGINT UNSIGNED    CONSTRAINT MEDIA_TYPE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT MEDIA_TYPE_PK PRIMARY KEY(MEDIA_TYPE_ID),"
-  "  CONSTRAINT MEDIA_TYPE_MTN_UN UNIQUE(MEDIA_TYPE_NAME)"
-  ");"
-  "CREATE TABLE LOGICAL_LIBRARY("
-  "  LOGICAL_LIBRARY_ID      BIGINT UNSIGNED      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
-  "  LOGICAL_LIBRARY_NAME    VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LLN_NN  NOT NULL,"
-  "  IS_DISABLED             CHAR(1)         DEFAULT '0' CONSTRAINT LOGICAL_LIBRARY_ID_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT LOGICAL_LIBRARY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
-  "  CONSTRAINT LOGICAL_LIBRARY_PK PRIMARY KEY(LOGICAL_LIBRARY_ID),"
-  "  CONSTRAINT LOGICAL_LIBRARY_LLN_UN UNIQUE(LOGICAL_LIBRARY_NAME),"
-  "  CONSTRAINT LOGICAL_LIBRARY_ID_BOOL_CK CHECK(IS_DISABLED IN ('0', '1'))"
-  ");"
-  "CREATE TABLE TAPE("
-  "  VID                     VARCHAR(100)    CONSTRAINT TAPE_V_NN    NOT NULL,"
-  "  MEDIA_TYPE_ID           BIGINT UNSIGNED      CONSTRAINT TAPE_MTID_NN   NOT NULL,"
-  "  VENDOR                  VARCHAR(100)    CONSTRAINT TAPE_V2_NN   NOT NULL,"
-  "  LOGICAL_LIBRARY_ID      BIGINT UNSIGNED      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
-  "  TAPE_POOL_ID            BIGINT UNSIGNED      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
-  "  ENCRYPTION_KEY_NAME     VARCHAR(100),"
-  "  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_FULL                 CHAR(1)         CONSTRAINT TAPE_IF_NN   NOT NULL,"
-  "  IS_FROM_CASTOR          CHAR(1)         CONSTRAINT TAPE_IFC_NN  NOT NULL,"
-  "  DIRTY                   CHAR(1)         DEFAULT '1' CONSTRAINT TAPE_DIRTY_NN NOT NULL,"
-  "  NB_COPY_NB_1            BIGINT UNSIGNED     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_1_NN NOT NULL,"
-  "  COPY_NB_1_IN_BYTES      BIGINT UNSIGNED     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_1_IN_BYTES_NN NOT NULL,"
-  "  NB_COPY_NB_GT_1         BIGINT UNSIGNED     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_GT_1_NN NOT NULL,"
-  "  COPY_NB_GT_1_IN_BYTES   BIGINT UNSIGNED     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_GT_1_IN_BYTES_NN NOT NULL,"
-  "  LABEL_DRIVE             VARCHAR(100),"
-  "  LABEL_TIME              BIGINT UNSIGNED    ,"
-  "  LAST_READ_DRIVE         VARCHAR(100),"
-  "  LAST_READ_TIME          BIGINT UNSIGNED    ,"
-  "  LAST_WRITE_DRIVE        VARCHAR(100),"
-  "  LAST_WRITE_TIME         BIGINT UNSIGNED    ,"
-  "  READ_MOUNT_COUNT        BIGINT UNSIGNED      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
-  "  WRITE_MOUNT_COUNT       BIGINT UNSIGNED      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000),"
-  "  TAPE_STATE              VARCHAR(100)    CONSTRAINT TAPE_TS_NN NOT NULL,"
-  "  STATE_REASON            VARCHAR(1000),"
-  "  STATE_UPDATE_TIME       BIGINT UNSIGNED      CONSTRAINT TAPE_SUT_NN NOT NULL,"
-  "  STATE_MODIFIED_BY       VARCHAR(100)    CONSTRAINT TAPE_SMB_NN NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT TAPE_PK PRIMARY KEY(VID),"
-  "  CONSTRAINT TAPE_LOGICAL_LIBRARY_FK FOREIGN KEY(LOGICAL_LIBRARY_ID) REFERENCES LOGICAL_LIBRARY(LOGICAL_LIBRARY_ID),"
-  "  CONSTRAINT TAPE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
-  "  CONSTRAINT TAPE_IS_FULL_BOOL_CK CHECK(IS_FULL IN ('0', '1')),"
-  "  CONSTRAINT TAPE_IS_FROM_CASTOR_BOOL_CK CHECK(IS_FROM_CASTOR IN ('0', '1')),"
-  "  CONSTRAINT TAPE_DIRTY_BOOL_CK CHECK(DIRTY IN ('0','1')),"
-  "  CONSTRAINT TAPE_STATE_CK CHECK(TAPE_STATE IN ('ACTIVE', 'DISABLED', 'BROKEN')),"
-  "  CONSTRAINT TAPE_MEDIA_TYPE_FK FOREIGN KEY(MEDIA_TYPE_ID) REFERENCES MEDIA_TYPE(MEDIA_TYPE_ID)"
-  ");"
-  "CREATE INDEX TAPE_TAPE_POOL_ID_IDX ON TAPE(TAPE_POOL_ID);"
-  "CREATE INDEX TAPE_STATE_IDX ON TAPE(TAPE_STATE);"
-  "CREATE TABLE MOUNT_POLICY("
-  "  MOUNT_POLICY_NAME          VARCHAR(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
-  "  ARCHIVE_PRIORITY           BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
-  "  ARCHIVE_MIN_REQUEST_AGE    BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
-  "  RETRIEVE_PRIORITY          BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
-  "  RETRIEVE_MIN_REQUEST_AGE   BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
-  "  USER_COMMENT               VARCHAR(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME     VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME     VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME          BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME      VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME      VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME           BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
-  "  CONSTRAINT MOUNT_POLICY_PK PRIMARY KEY(MOUNT_POLICY_NAME)"
-  ");"
-  "CREATE TABLE REQUESTER_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR(100)    CONSTRAINT RQSTER_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_NAME         VARCHAR(100)    CONSTRAINT RQSTER_RULE_RN_NN   NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR(100)    CONSTRAINT RQSTER_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      BIGINT UNSIGNED      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       BIGINT UNSIGNED      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT RQSTER_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_NAME),"
-  "  CONSTRAINT RQSTER_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
-  "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
-  ");"
-  "CREATE TABLE REQUESTER_GROUP_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_GROUP_NAME   VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_RGN_NN  NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_GRP_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      BIGINT UNSIGNED      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       BIGINT UNSIGNED      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT RQSTER_GRP_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_GROUP_NAME),"
-  "  CONSTRAINT RQSTER_GRP_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
-  "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
-  ");"
-  "CREATE TABLE ARCHIVE_FILE("
-  "  ARCHIVE_FILE_ID         BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
-  "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DIN_NN  NOT NULL,"
-  "  DISK_FILE_ID            VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DFI_NN  NOT NULL,"
-  "  DISK_FILE_UID           INT UNSIGNED      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
-  "  DISK_FILE_GID           INT UNSIGNED      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
-  "  SIZE_IN_BYTES           BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
-  "  CHECKSUM_BLOB           VARBINARY(200),"
-  "  CHECKSUM_ADLER32        INT UNSIGNED      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
-  "  STORAGE_CLASS_ID        BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
-  "  CREATION_TIME           BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
-  "  RECONCILIATION_TIME     BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
-  "  IS_DELETED              CHAR(1)         DEFAULT '0' CONSTRAINT ARCHIVE_FILE_ID_NN NOT NULL,"
-  "  COLLOCATION_HINT        VARCHAR(100),"
-  "  CONSTRAINT ARCHIVE_FILE_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
-  "  CONSTRAINT ARCHIVE_FILE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
-  "  CONSTRAINT ARCHIVE_FILE_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID),"
-  "  CONSTRAINT ARCHIVE_FILE_ID_BOOL_CK CHECK(IS_DELETED IN ('0', '1'))"
-  ");"
-  "CREATE INDEX ARCHIVE_FILE_DIN_IDX ON ARCHIVE_FILE(DISK_INSTANCE_NAME);"
-  "CREATE INDEX ARCHIVE_FILE_DFI_IDX ON ARCHIVE_FILE(DISK_FILE_ID);"
-  "CREATE TABLE TAPE_FILE("
-  "  VID                      VARCHAR(100)   CONSTRAINT TAPE_FILE_V_NN    NOT NULL,"
-  "  FSEQ                     BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
-  "  BLOCK_ID                 BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
-  "  LOGICAL_SIZE_IN_BYTES    BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
-  "  COPY_NB                  TINYINT UNSIGNED      CONSTRAINT TAPE_FILE_CN_NN   NOT NULL,"
-  "  CREATION_TIME            BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_CT_NN   NOT NULL,"
-  "  ARCHIVE_FILE_ID          BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_AFI_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)"
-  ");"
-  "CREATE INDEX TAPE_FILE_VID_IDX ON TAPE_FILE(VID);"
-  "CREATE INDEX TAPE_FILE_ARCHIVE_FILE_ID_IDX ON TAPE_FILE(ARCHIVE_FILE_ID);"
-  "CREATE TABLE ACTIVITIES_WEIGHTS ("
-  "  DISK_INSTANCE_NAME       VARCHAR(100),"
-  "  ACTIVITY                 VARCHAR(100),"
-  "  WEIGHT                   VARCHAR(100),"
-  "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT ACTIV_WEIGHTS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME        BIGINT UNSIGNED      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME         BIGINT UNSIGNED      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
-  ");"
-  "CREATE TABLE FILE_RECYCLE_LOG("
-  "  FILE_RECYCLE_LOG_ID        BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_ID_NN NOT NULL,"
-  "  VID                        VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_VID_NN NOT NULL,"
-  "  FSEQ                       BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_FSEQ_NN NOT NULL,"
-  "  BLOCK_ID                   BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_BID_NN NOT NULL,"
-  "  COPY_NB                    TINYINT UNSIGNED           CONSTRAINT FILE_RECYCLE_LOG_COPY_NB_NN NOT NULL,"
-  "  TAPE_FILE_CREATION_TIME    BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_TFCT_NN NOT NULL,"
-  "  ARCHIVE_FILE_ID            BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_AFI_NN NOT NULL,"
-  "  DISK_INSTANCE_NAME         VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DIN_NN NOT NULL,"
-  "  DISK_FILE_ID               VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DFI_NN NOT NULL,"
-  "  DISK_FILE_ID_WHEN_DELETED  VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DFIWD_NN NOT NULL,"
-  "  DISK_FILE_UID              BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_DFU_NN NOT NULL,"
-  "  DISK_FILE_GID              BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_DFG_NN NOT NULL,"
-  "  SIZE_IN_BYTES              BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_SIB_NN NOT NULL,"
-  "  CHECKSUM_BLOB              VARBINARY(200),"
-  "  CHECKSUM_ADLER32           INT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_CA_NN NOT NULL,"
-  "  STORAGE_CLASS_ID           BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_SCI_NN NOT NULL,"
-  "  ARCHIVE_FILE_CREATION_TIME BIGINT UNSIGNED          CONSTRAINT FILE_RECYLE_LOG_CT_NN NOT NULL,"
-  "  RECONCILIATION_TIME        BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_RT_NN NOT NULL,"
-  "  COLLOCATION_HINT           VARCHAR(100),"
-  "  DISK_FILE_PATH             VARCHAR(2000),"
-  "  REASON_LOG                 VARCHAR(1000)       CONSTRAINT FILE_RECYCLE_LOG_RL_NN NOT NULL,"
-  "  RECYCLE_LOG_TIME           BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_RLT_NN NOT NULL,"
-  "  CONSTRAINT FILE_RECYCLE_LOG_PK PRIMARY KEY(FILE_RECYCLE_LOG_ID),"
-  "  CONSTRAINT FILE_RECYCLE_LOG_VID_FK FOREIGN KEY(VID) REFERENCES TAPE(VID),"
-  "  CONSTRAINT FILE_RECYCLE_LOG_SC_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID)"
-  ");"
-  "CREATE INDEX FILE_RECYCLE_LOG_DFI_IDX ON FILE_RECYCLE_LOG(DISK_FILE_ID);"
-  "INSERT INTO CTA_CATALOGUE("
-  "  SCHEMA_VERSION_MAJOR,"
-  "  SCHEMA_VERSION_MINOR,"
-  "  STATUS)"
-  "VALUES("
-  "  4,"
-  "  0,"
-  "  '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 (STATUS='UPGRADING'));"
-      },
-  {"sqlite",  "CREATE TABLE ARCHIVE_FILE_ID("
-  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
-  ");"
-  "CREATE TABLE LOGICAL_LIBRARY_ID("
-  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
-  ");"
-  "CREATE TABLE MEDIA_TYPE_ID("
-  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
-  ");"
-  "CREATE TABLE STORAGE_CLASS_ID("
-  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
-  ");"
-  "CREATE TABLE TAPE_POOL_ID("
-  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
-  ");"
-  "CREATE TABLE VIRTUAL_ORGANIZATION_ID("
-  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
-  ");"
-  "CREATE TABLE FILE_RECYCLE_LOG_ID("
-  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
-  ");"
-  "CREATE TABLE CTA_CATALOGUE("
-  "  SCHEMA_VERSION_MAJOR    INTEGER      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
-  "  SCHEMA_VERSION_MINOR    INTEGER      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
-  "  NEXT_SCHEMA_VERSION_MAJOR INTEGER,"
-  "  NEXT_SCHEMA_VERSION_MINOR INTEGER,"
-  "  STATUS                  VARCHAR(100),"
-  "  IS_PRODUCTION           CHAR(1)         DEFAULT '0' CONSTRAINT CTA_CATALOGUE_IP_NN NOT NULL,"
-  "  CONSTRAINT CTA_CATALOGUE_IP_BOOL_CK     CHECK(IS_PRODUCTION IN ('0','1'))"
-  ");"
-  "CREATE TABLE ADMIN_USER("
-  "  ADMIN_USER_NAME         VARCHAR(100)    CONSTRAINT ADMIN_USER_AUN_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
-  "  CONSTRAINT ADMIN_USER_PK PRIMARY KEY(ADMIN_USER_NAME)"
-  ");"
-  "CREATE TABLE DISK_SYSTEM("
-  "  DISK_SYSTEM_NAME        VARCHAR(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
-  "  FILE_REGEXP             VARCHAR(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
-  "  FREE_SPACE_QUERY_URL    VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
-  "  REFRESH_INTERVAL        INTEGER      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
-  "  TARGETED_FREE_SPACE     INTEGER      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
-  "  SLEEP_TIME              INTEGER      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
-  "  CONSTRAINT NAME_PK PRIMARY KEY(DISK_SYSTEM_NAME)"
-  ");"
-  "CREATE TABLE VIRTUAL_ORGANIZATION("
-  "  VIRTUAL_ORGANIZATION_ID INTEGER      CONSTRAINT VIRTUAL_ORGANIZATION_VOI_NN  NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_NAME VARCHAR(100)  CONSTRAINT VIRTUAL_ORGANIZATION_VON_NN  NOT NULL,"
-  "  READ_MAX_DRIVES INTEGER              CONSTRAINT VIRTUAL_ORGANIZATION_RMD_NN  NOT NULL,"
-  "  WRITE_MAX_DRIVES INTEGER             CONSTRAINT VIRTUAL_ORGANIZATION_WMD_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT VIRTUAL_ORGANIZATION_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT VIRTUAL_ORGANIZATION_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT VIRTUAL_ORGANIZATION_LUT_NN  NOT NULL,"
-  "  CONSTRAINT VIRTUAL_ORGANIZATION_PK PRIMARY KEY(VIRTUAL_ORGANIZATION_ID),"
-  "  CONSTRAINT VIRTUAL_ORGANIZATION_VON_UN UNIQUE(VIRTUAL_ORGANIZATION_NAME)"
-  ");"
-  "CREATE TABLE STORAGE_CLASS("
-  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
-  "  STORAGE_CLASS_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
-  "  NB_COPIES               INTEGER       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID INTEGER      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT STORAGE_CLASS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
-  "  CONSTRAINT STORAGE_CLASS_PK PRIMARY KEY(STORAGE_CLASS_ID),"
-  "  CONSTRAINT STORAGE_CLASS_SCN_UN UNIQUE(STORAGE_CLASS_NAME),"
-  "  CONSTRAINT STORAGE_CLASS_VOI_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
-  ");"
-  "CREATE TABLE TAPE_POOL("
-  "  TAPE_POOL_ID            INTEGER      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
-  "  TAPE_POOL_NAME          VARCHAR(100)    CONSTRAINT TAPE_POOL_TPN_NN  NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID INTEGER      CONSTRAINT TAPE_POOL_VOI_NN  NOT NULL,"
-  "  NB_PARTIAL_TAPES        INTEGER      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
-  "  IS_ENCRYPTED            CHAR(1)         CONSTRAINT TAPE_POOL_IE_NN   NOT NULL,"
-  "  SUPPLY                  VARCHAR(100),"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT TAPE_POOL_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
-  "  CONSTRAINT TAPE_POOL_PK PRIMARY KEY(TAPE_POOL_ID),"
-  "  CONSTRAINT TAPE_POOL_TPN_UN UNIQUE(TAPE_POOL_NAME),"
-  "  CONSTRAINT TAPE_POOL_IS_ENCRYPTED_BOOL_CK CHECK(IS_ENCRYPTED IN ('0', '1')),"
-  "  CONSTRAINT TAPE_POOL_VO_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
-  ");"
-  "CREATE TABLE ARCHIVE_ROUTE("
-  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
-  "  COPY_NB                 INTEGER       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
-  "  TAPE_POOL_ID            INTEGER      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ARCHIVE_ROUTE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT ARCHIVE_ROUTE_PK PRIMARY KEY(STORAGE_CLASS_ID, COPY_NB),"
-  "  CONSTRAINT ARCHIVE_ROUTE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
-  "  CONSTRAINT ARCHIVE_ROUTE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
-  "  CONSTRAINT ARCHIVE_ROUTE_COPY_NB_GT_0_CK CHECK(COPY_NB > 0),"
-  "  CONSTRAINT ARCHIVE_ROUTE_SCI_TPI_UN UNIQUE(STORAGE_CLASS_ID, TAPE_POOL_ID)"
-  ");"
-  "CREATE TABLE MEDIA_TYPE("
-  "  MEDIA_TYPE_ID          INTEGER    CONSTRAINT MEDIA_TYPE_MTI_NN  NOT NULL,"
-  "  MEDIA_TYPE_NAME        VARCHAR(100)  CONSTRAINT MEDIA_TYPE_MTN_NN  NOT NULL,"
-  "  CARTRIDGE              VARCHAR(100)  CONSTRAINT MEDIA_TYPE_C_NN    NOT NULL,"
-  "  CAPACITY_IN_BYTES      INTEGER    CONSTRAINT MEDIA_TYPE_CIB_NN  NOT NULL,"
-  "  PRIMARY_DENSITY_CODE   INTEGER,"
-  "  SECONDARY_DENSITY_CODE INTEGER,"
-  "  NB_WRAPS               INTEGER,"
-  "  MIN_LPOS               INTEGER,"
-  "  MAX_LPOS               INTEGER,"
-  "  USER_COMMENT           VARCHAR(1000) CONSTRAINT MEDIA_TYPE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR(100)  CONSTRAINT MEDIA_TYPE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR(100)  CONSTRAINT MEDIA_TYPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      INTEGER    CONSTRAINT MEDIA_TYPE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR(100)  CONSTRAINT MEDIA_TYPE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)  CONSTRAINT MEDIA_TYPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       INTEGER    CONSTRAINT MEDIA_TYPE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT MEDIA_TYPE_PK PRIMARY KEY(MEDIA_TYPE_ID),"
-  "  CONSTRAINT MEDIA_TYPE_MTN_UN UNIQUE(MEDIA_TYPE_NAME)"
-  ");"
-  "CREATE TABLE LOGICAL_LIBRARY("
-  "  LOGICAL_LIBRARY_ID      INTEGER      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
-  "  LOGICAL_LIBRARY_NAME    VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LLN_NN  NOT NULL,"
-  "  IS_DISABLED             CHAR(1)         DEFAULT '0' CONSTRAINT LOGICAL_LIBRARY_ID_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT LOGICAL_LIBRARY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
-  "  CONSTRAINT LOGICAL_LIBRARY_PK PRIMARY KEY(LOGICAL_LIBRARY_ID),"
-  "  CONSTRAINT LOGICAL_LIBRARY_LLN_UN UNIQUE(LOGICAL_LIBRARY_NAME),"
-  "  CONSTRAINT LOGICAL_LIBRARY_ID_BOOL_CK CHECK(IS_DISABLED IN ('0', '1'))"
-  ");"
-  "CREATE TABLE TAPE("
-  "  VID                     VARCHAR(100)    CONSTRAINT TAPE_V_NN    NOT NULL,"
-  "  MEDIA_TYPE_ID           INTEGER      CONSTRAINT TAPE_MTID_NN   NOT NULL,"
-  "  VENDOR                  VARCHAR(100)    CONSTRAINT TAPE_V2_NN   NOT NULL,"
-  "  LOGICAL_LIBRARY_ID      INTEGER      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
-  "  TAPE_POOL_ID            INTEGER      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
-  "  ENCRYPTION_KEY_NAME     VARCHAR(100),"
-  "  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_FULL                 CHAR(1)         CONSTRAINT TAPE_IF_NN   NOT NULL,"
-  "  IS_FROM_CASTOR          CHAR(1)         CONSTRAINT TAPE_IFC_NN  NOT NULL,"
-  "  DIRTY                   CHAR(1)         DEFAULT '1' CONSTRAINT TAPE_DIRTY_NN NOT NULL,"
-  "  NB_COPY_NB_1            INTEGER     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_1_NN NOT NULL,"
-  "  COPY_NB_1_IN_BYTES      INTEGER     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_1_IN_BYTES_NN NOT NULL,"
-  "  NB_COPY_NB_GT_1         INTEGER     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_GT_1_NN NOT NULL,"
-  "  COPY_NB_GT_1_IN_BYTES   INTEGER     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_GT_1_IN_BYTES_NN NOT NULL,"
-  "  LABEL_DRIVE             VARCHAR(100),"
-  "  LABEL_TIME              INTEGER    ,"
-  "  LAST_READ_DRIVE         VARCHAR(100),"
-  "  LAST_READ_TIME          INTEGER    ,"
-  "  LAST_WRITE_DRIVE        VARCHAR(100),"
-  "  LAST_WRITE_TIME         INTEGER    ,"
-  "  READ_MOUNT_COUNT        INTEGER      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
-  "  WRITE_MOUNT_COUNT       INTEGER      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000),"
-  "  TAPE_STATE              VARCHAR(100)    CONSTRAINT TAPE_TS_NN NOT NULL,"
-  "  STATE_REASON            VARCHAR(1000),"
-  "  STATE_UPDATE_TIME       INTEGER      CONSTRAINT TAPE_SUT_NN NOT NULL,"
-  "  STATE_MODIFIED_BY       VARCHAR(100)    CONSTRAINT TAPE_SMB_NN NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT TAPE_PK PRIMARY KEY(VID),"
-  "  CONSTRAINT TAPE_LOGICAL_LIBRARY_FK FOREIGN KEY(LOGICAL_LIBRARY_ID) REFERENCES LOGICAL_LIBRARY(LOGICAL_LIBRARY_ID),"
-  "  CONSTRAINT TAPE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
-  "  CONSTRAINT TAPE_IS_FULL_BOOL_CK CHECK(IS_FULL IN ('0', '1')),"
-  "  CONSTRAINT TAPE_IS_FROM_CASTOR_BOOL_CK CHECK(IS_FROM_CASTOR IN ('0', '1')),"
-  "  CONSTRAINT TAPE_DIRTY_BOOL_CK CHECK(DIRTY IN ('0','1')),"
-  "  CONSTRAINT TAPE_STATE_CK CHECK(TAPE_STATE IN ('ACTIVE', 'DISABLED', 'BROKEN')),"
-  "  CONSTRAINT TAPE_MEDIA_TYPE_FK FOREIGN KEY(MEDIA_TYPE_ID) REFERENCES MEDIA_TYPE(MEDIA_TYPE_ID)"
-  ");"
-  "CREATE INDEX TAPE_TAPE_POOL_ID_IDX ON TAPE(TAPE_POOL_ID);"
-  "CREATE INDEX TAPE_STATE_IDX ON TAPE(TAPE_STATE);"
-  "CREATE TABLE MOUNT_POLICY("
-  "  MOUNT_POLICY_NAME          VARCHAR(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
-  "  ARCHIVE_PRIORITY           INTEGER      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
-  "  ARCHIVE_MIN_REQUEST_AGE    INTEGER      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
-  "  RETRIEVE_PRIORITY          INTEGER      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
-  "  RETRIEVE_MIN_REQUEST_AGE   INTEGER      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
-  "  USER_COMMENT               VARCHAR(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME     VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME     VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME          INTEGER      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME      VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME      VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME           INTEGER      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
-  "  CONSTRAINT MOUNT_POLICY_PK PRIMARY KEY(MOUNT_POLICY_NAME)"
-  ");"
-  "CREATE TABLE REQUESTER_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR(100)    CONSTRAINT RQSTER_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_NAME         VARCHAR(100)    CONSTRAINT RQSTER_RULE_RN_NN   NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR(100)    CONSTRAINT RQSTER_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      INTEGER      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       INTEGER      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT RQSTER_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_NAME),"
-  "  CONSTRAINT RQSTER_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
-  "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
-  ");"
-  "CREATE TABLE REQUESTER_GROUP_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_GROUP_NAME   VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_RGN_NN  NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_GRP_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      INTEGER      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       INTEGER      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT RQSTER_GRP_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_GROUP_NAME),"
-  "  CONSTRAINT RQSTER_GRP_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
-  "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
-  ");"
-  "CREATE TABLE ARCHIVE_FILE("
-  "  ARCHIVE_FILE_ID         INTEGER      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
-  "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DIN_NN  NOT NULL,"
-  "  DISK_FILE_ID            VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DFI_NN  NOT NULL,"
-  "  DISK_FILE_UID           INTEGER      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
-  "  DISK_FILE_GID           INTEGER      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
-  "  SIZE_IN_BYTES           INTEGER      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
-  "  CHECKSUM_BLOB           BLOB(200),"
-  "  CHECKSUM_ADLER32        INTEGER      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
-  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
-  "  CREATION_TIME           INTEGER      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
-  "  RECONCILIATION_TIME     INTEGER      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
-  "  IS_DELETED              CHAR(1)         DEFAULT '0' CONSTRAINT ARCHIVE_FILE_ID_NN NOT NULL,"
-  "  COLLOCATION_HINT        VARCHAR(100),"
-  "  CONSTRAINT ARCHIVE_FILE_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
-  "  CONSTRAINT ARCHIVE_FILE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
-  "  CONSTRAINT ARCHIVE_FILE_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID),"
-  "  CONSTRAINT ARCHIVE_FILE_ID_BOOL_CK CHECK(IS_DELETED IN ('0', '1'))"
-  ");"
-  "CREATE INDEX ARCHIVE_FILE_DIN_IDX ON ARCHIVE_FILE(DISK_INSTANCE_NAME);"
-  "CREATE INDEX ARCHIVE_FILE_DFI_IDX ON ARCHIVE_FILE(DISK_FILE_ID);"
-  "CREATE TABLE TAPE_FILE("
-  "  VID                      VARCHAR(100)   CONSTRAINT TAPE_FILE_V_NN    NOT NULL,"
-  "  FSEQ                     INTEGER     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
-  "  BLOCK_ID                 INTEGER     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
-  "  LOGICAL_SIZE_IN_BYTES    INTEGER     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
-  "  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,"
-  "  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)"
-  ");"
-  "CREATE INDEX TAPE_FILE_VID_IDX ON TAPE_FILE(VID);"
-  "CREATE INDEX TAPE_FILE_ARCHIVE_FILE_ID_IDX ON TAPE_FILE(ARCHIVE_FILE_ID);"
-  "CREATE TABLE ACTIVITIES_WEIGHTS ("
-  "  DISK_INSTANCE_NAME       VARCHAR(100),"
-  "  ACTIVITY                 VARCHAR(100),"
-  "  WEIGHT                   VARCHAR(100),"
-  "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT ACTIV_WEIGHTS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME        INTEGER      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME         INTEGER      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
-  ");"
-  "CREATE TABLE FILE_RECYCLE_LOG("
-  "  FILE_RECYCLE_LOG_ID        INTEGER          CONSTRAINT FILE_RECYCLE_LOG_ID_NN NOT NULL,"
-  "  VID                        VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_VID_NN NOT NULL,"
-  "  FSEQ                       INTEGER          CONSTRAINT FILE_RECYCLE_LOG_FSEQ_NN NOT NULL,"
-  "  BLOCK_ID                   INTEGER          CONSTRAINT FILE_RECYCLE_LOG_BID_NN NOT NULL,"
-  "  COPY_NB                    INTEGER           CONSTRAINT FILE_RECYCLE_LOG_COPY_NB_NN NOT NULL,"
-  "  TAPE_FILE_CREATION_TIME    INTEGER          CONSTRAINT FILE_RECYCLE_LOG_TFCT_NN NOT NULL,"
-  "  ARCHIVE_FILE_ID            INTEGER          CONSTRAINT FILE_RECYCLE_LOG_AFI_NN NOT NULL,"
-  "  DISK_INSTANCE_NAME         VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DIN_NN NOT NULL,"
-  "  DISK_FILE_ID               VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DFI_NN NOT NULL,"
-  "  DISK_FILE_ID_WHEN_DELETED  VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DFIWD_NN NOT NULL,"
-  "  DISK_FILE_UID              INTEGER          CONSTRAINT FILE_RECYCLE_LOG_DFU_NN NOT NULL,"
-  "  DISK_FILE_GID              INTEGER          CONSTRAINT FILE_RECYCLE_LOG_DFG_NN NOT NULL,"
-  "  SIZE_IN_BYTES              INTEGER          CONSTRAINT FILE_RECYCLE_LOG_SIB_NN NOT NULL,"
-  "  CHECKSUM_BLOB              BLOB(200),"
-  "  CHECKSUM_ADLER32           INTEGER          CONSTRAINT FILE_RECYCLE_LOG_CA_NN NOT NULL,"
-  "  STORAGE_CLASS_ID           INTEGER          CONSTRAINT FILE_RECYCLE_LOG_SCI_NN NOT NULL,"
-  "  ARCHIVE_FILE_CREATION_TIME INTEGER          CONSTRAINT FILE_RECYLE_LOG_CT_NN NOT NULL,"
-  "  RECONCILIATION_TIME        INTEGER          CONSTRAINT FILE_RECYCLE_LOG_RT_NN NOT NULL,"
-  "  COLLOCATION_HINT           VARCHAR(100),"
-  "  DISK_FILE_PATH             VARCHAR(2000),"
-  "  REASON_LOG                 VARCHAR(1000)       CONSTRAINT FILE_RECYCLE_LOG_RL_NN NOT NULL,"
-  "  RECYCLE_LOG_TIME           INTEGER          CONSTRAINT FILE_RECYCLE_LOG_RLT_NN NOT NULL,"
-  "  CONSTRAINT FILE_RECYCLE_LOG_PK PRIMARY KEY(FILE_RECYCLE_LOG_ID),"
-  "  CONSTRAINT FILE_RECYCLE_LOG_VID_FK FOREIGN KEY(VID) REFERENCES TAPE(VID),"
-  "  CONSTRAINT FILE_RECYCLE_LOG_SC_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID)"
-  ");"
-  "CREATE INDEX FILE_RECYCLE_LOG_DFI_IDX ON FILE_RECYCLE_LOG(DISK_FILE_ID);"
-  "INSERT INTO CTA_CATALOGUE("
-  "  SCHEMA_VERSION_MAJOR,"
-  "  SCHEMA_VERSION_MINOR,"
-  "  STATUS)"
-  "VALUES("
-  "  4,"
-  "  0,"
-  "  'PRODUCTION');"
-      },
-  {"postgres",  "CREATE SEQUENCE ARCHIVE_FILE_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NO MAXVALUE"
-  "  MINVALUE 1"
-  "  NO CYCLE"
-  "  CACHE 20;"
-  "CREATE SEQUENCE LOGICAL_LIBRARY_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NO MAXVALUE"
-  "  MINVALUE 1"
-  "  NO CYCLE"
-  "  CACHE 20;"
-  "CREATE SEQUENCE MEDIA_TYPE_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NO MAXVALUE"
-  "  MINVALUE 1"
-  "  NO CYCLE"
-  "  CACHE 20;"
-  "CREATE SEQUENCE STORAGE_CLASS_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NO MAXVALUE"
-  "  MINVALUE 1"
-  "  NO CYCLE"
-  "  CACHE 20;"
-  "CREATE SEQUENCE TAPE_POOL_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NO MAXVALUE"
-  "  MINVALUE 1"
-  "  NO CYCLE"
-  "  CACHE 20;"
-  "CREATE SEQUENCE VIRTUAL_ORGANIZATION_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NO MAXVALUE"
-  "  MINVALUE 1"
-  "  NO CYCLE"
-  "  CACHE 20;"
-  "CREATE SEQUENCE FILE_RECYCLE_LOG_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NO MAXVALUE"
-  "  MINVALUE 1"
-  "  NO CYCLE"
-  "  CACHE 20;"
-  "CREATE TABLE CTA_CATALOGUE("
-  "  SCHEMA_VERSION_MAJOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
-  "  SCHEMA_VERSION_MINOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
-  "  NEXT_SCHEMA_VERSION_MAJOR NUMERIC(20, 0),"
-  "  NEXT_SCHEMA_VERSION_MINOR NUMERIC(20, 0),"
-  "  STATUS                  VARCHAR(100),"
-  "  IS_PRODUCTION           CHAR(1)         DEFAULT '0' CONSTRAINT CTA_CATALOGUE_IP_NN NOT NULL,"
-  "  CONSTRAINT CTA_CATALOGUE_IP_BOOL_CK     CHECK(IS_PRODUCTION IN ('0','1'))"
-  ");"
-  "CREATE TABLE ADMIN_USER("
-  "  ADMIN_USER_NAME         VARCHAR(100)    CONSTRAINT ADMIN_USER_AUN_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
-  "  CONSTRAINT ADMIN_USER_PK PRIMARY KEY(ADMIN_USER_NAME)"
-  ");"
-  "CREATE TABLE DISK_SYSTEM("
-  "  DISK_SYSTEM_NAME        VARCHAR(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
-  "  FILE_REGEXP             VARCHAR(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
-  "  FREE_SPACE_QUERY_URL    VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
-  "  REFRESH_INTERVAL        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
-  "  TARGETED_FREE_SPACE     NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
-  "  SLEEP_TIME              NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
-  "  CONSTRAINT NAME_PK PRIMARY KEY(DISK_SYSTEM_NAME)"
-  ");"
-  "CREATE TABLE VIRTUAL_ORGANIZATION("
-  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_VOI_NN  NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_NAME VARCHAR(100)  CONSTRAINT VIRTUAL_ORGANIZATION_VON_NN  NOT NULL,"
-  "  READ_MAX_DRIVES NUMERIC(20, 0)              CONSTRAINT VIRTUAL_ORGANIZATION_RMD_NN  NOT NULL,"
-  "  WRITE_MAX_DRIVES NUMERIC(20, 0)             CONSTRAINT VIRTUAL_ORGANIZATION_WMD_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT VIRTUAL_ORGANIZATION_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_LUT_NN  NOT NULL,"
-  "  CONSTRAINT VIRTUAL_ORGANIZATION_PK PRIMARY KEY(VIRTUAL_ORGANIZATION_ID),"
-  "  CONSTRAINT VIRTUAL_ORGANIZATION_VON_UN UNIQUE(VIRTUAL_ORGANIZATION_NAME)"
-  ");"
-  "CREATE TABLE STORAGE_CLASS("
-  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
-  "  STORAGE_CLASS_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
-  "  NB_COPIES               NUMERIC(3, 0)       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT STORAGE_CLASS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
-  "  CONSTRAINT STORAGE_CLASS_PK PRIMARY KEY(STORAGE_CLASS_ID),"
-  "  CONSTRAINT STORAGE_CLASS_SCN_UN UNIQUE(STORAGE_CLASS_NAME),"
-  "  CONSTRAINT STORAGE_CLASS_VOI_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
-  ");"
-  "CREATE TABLE TAPE_POOL("
-  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
-  "  TAPE_POOL_NAME          VARCHAR(100)    CONSTRAINT TAPE_POOL_TPN_NN  NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_VOI_NN  NOT NULL,"
-  "  NB_PARTIAL_TAPES        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
-  "  IS_ENCRYPTED            CHAR(1)         CONSTRAINT TAPE_POOL_IE_NN   NOT NULL,"
-  "  SUPPLY                  VARCHAR(100),"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT TAPE_POOL_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
-  "  CONSTRAINT TAPE_POOL_PK PRIMARY KEY(TAPE_POOL_ID),"
-  "  CONSTRAINT TAPE_POOL_TPN_UN UNIQUE(TAPE_POOL_NAME),"
-  "  CONSTRAINT TAPE_POOL_IS_ENCRYPTED_BOOL_CK CHECK(IS_ENCRYPTED IN ('0', '1')),"
-  "  CONSTRAINT TAPE_POOL_VO_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
-  ");"
-  "CREATE TABLE ARCHIVE_ROUTE("
-  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
-  "  COPY_NB                 NUMERIC(3, 0)       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
-  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ARCHIVE_ROUTE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT ARCHIVE_ROUTE_PK PRIMARY KEY(STORAGE_CLASS_ID, COPY_NB),"
-  "  CONSTRAINT ARCHIVE_ROUTE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
-  "  CONSTRAINT ARCHIVE_ROUTE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
-  "  CONSTRAINT ARCHIVE_ROUTE_COPY_NB_GT_0_CK CHECK(COPY_NB > 0),"
-  "  CONSTRAINT ARCHIVE_ROUTE_SCI_TPI_UN UNIQUE(STORAGE_CLASS_ID, TAPE_POOL_ID)"
-  ");"
-  "CREATE TABLE MEDIA_TYPE("
-  "  MEDIA_TYPE_ID          NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_MTI_NN  NOT NULL,"
-  "  MEDIA_TYPE_NAME        VARCHAR(100)  CONSTRAINT MEDIA_TYPE_MTN_NN  NOT NULL,"
-  "  CARTRIDGE              VARCHAR(100)  CONSTRAINT MEDIA_TYPE_C_NN    NOT NULL,"
-  "  CAPACITY_IN_BYTES      NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_CIB_NN  NOT NULL,"
-  "  PRIMARY_DENSITY_CODE   NUMERIC(3, 0),"
-  "  SECONDARY_DENSITY_CODE NUMERIC(3, 0),"
-  "  NB_WRAPS               NUMERIC(10, 0),"
-  "  MIN_LPOS               NUMERIC(20, 0),"
-  "  MAX_LPOS               NUMERIC(20, 0),"
-  "  USER_COMMENT           VARCHAR(1000) CONSTRAINT MEDIA_TYPE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR(100)  CONSTRAINT MEDIA_TYPE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR(100)  CONSTRAINT MEDIA_TYPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR(100)  CONSTRAINT MEDIA_TYPE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)  CONSTRAINT MEDIA_TYPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT MEDIA_TYPE_PK PRIMARY KEY(MEDIA_TYPE_ID),"
-  "  CONSTRAINT MEDIA_TYPE_MTN_UN UNIQUE(MEDIA_TYPE_NAME)"
-  ");"
-  "CREATE TABLE LOGICAL_LIBRARY("
-  "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
-  "  LOGICAL_LIBRARY_NAME    VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LLN_NN  NOT NULL,"
-  "  IS_DISABLED             CHAR(1)         DEFAULT '0' CONSTRAINT LOGICAL_LIBRARY_ID_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT LOGICAL_LIBRARY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
-  "  CONSTRAINT LOGICAL_LIBRARY_PK PRIMARY KEY(LOGICAL_LIBRARY_ID),"
-  "  CONSTRAINT LOGICAL_LIBRARY_LLN_UN UNIQUE(LOGICAL_LIBRARY_NAME),"
-  "  CONSTRAINT LOGICAL_LIBRARY_ID_BOOL_CK CHECK(IS_DISABLED IN ('0', '1'))"
-  ");"
-  "CREATE TABLE TAPE("
-  "  VID                     VARCHAR(100)    CONSTRAINT TAPE_V_NN    NOT NULL,"
-  "  MEDIA_TYPE_ID           NUMERIC(20, 0)      CONSTRAINT TAPE_MTID_NN   NOT NULL,"
-  "  VENDOR                  VARCHAR(100)    CONSTRAINT TAPE_V2_NN   NOT NULL,"
-  "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
-  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
-  "  ENCRYPTION_KEY_NAME     VARCHAR(100),"
-  "  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_FULL                 CHAR(1)         CONSTRAINT TAPE_IF_NN   NOT NULL,"
-  "  IS_FROM_CASTOR          CHAR(1)         CONSTRAINT TAPE_IFC_NN  NOT NULL,"
-  "  DIRTY                   CHAR(1)         DEFAULT '1' CONSTRAINT TAPE_DIRTY_NN NOT NULL,"
-  "  NB_COPY_NB_1            NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_1_NN NOT NULL,"
-  "  COPY_NB_1_IN_BYTES      NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_1_IN_BYTES_NN NOT NULL,"
-  "  NB_COPY_NB_GT_1         NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_GT_1_NN NOT NULL,"
-  "  COPY_NB_GT_1_IN_BYTES   NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_GT_1_IN_BYTES_NN NOT NULL,"
-  "  LABEL_DRIVE             VARCHAR(100),"
-  "  LABEL_TIME              NUMERIC(20, 0)    ,"
-  "  LAST_READ_DRIVE         VARCHAR(100),"
-  "  LAST_READ_TIME          NUMERIC(20, 0)    ,"
-  "  LAST_WRITE_DRIVE        VARCHAR(100),"
-  "  LAST_WRITE_TIME         NUMERIC(20, 0)    ,"
-  "  READ_MOUNT_COUNT        NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
-  "  WRITE_MOUNT_COUNT       NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000),"
-  "  TAPE_STATE              VARCHAR(100)    CONSTRAINT TAPE_TS_NN NOT NULL,"
-  "  STATE_REASON            VARCHAR(1000),"
-  "  STATE_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_SUT_NN NOT NULL,"
-  "  STATE_MODIFIED_BY       VARCHAR(100)    CONSTRAINT TAPE_SMB_NN NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT TAPE_PK PRIMARY KEY(VID),"
-  "  CONSTRAINT TAPE_LOGICAL_LIBRARY_FK FOREIGN KEY(LOGICAL_LIBRARY_ID) REFERENCES LOGICAL_LIBRARY(LOGICAL_LIBRARY_ID),"
-  "  CONSTRAINT TAPE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
-  "  CONSTRAINT TAPE_IS_FULL_BOOL_CK CHECK(IS_FULL IN ('0', '1')),"
-  "  CONSTRAINT TAPE_IS_FROM_CASTOR_BOOL_CK CHECK(IS_FROM_CASTOR IN ('0', '1')),"
-  "  CONSTRAINT TAPE_DIRTY_BOOL_CK CHECK(DIRTY IN ('0','1')),"
-  "  CONSTRAINT TAPE_STATE_CK CHECK(TAPE_STATE IN ('ACTIVE', 'DISABLED', 'BROKEN')),"
-  "  CONSTRAINT TAPE_MEDIA_TYPE_FK FOREIGN KEY(MEDIA_TYPE_ID) REFERENCES MEDIA_TYPE(MEDIA_TYPE_ID)"
-  ");"
-  "CREATE INDEX TAPE_TAPE_POOL_ID_IDX ON TAPE(TAPE_POOL_ID);"
-  "CREATE INDEX TAPE_STATE_IDX ON TAPE(TAPE_STATE);"
-  "CREATE TABLE MOUNT_POLICY("
-  "  MOUNT_POLICY_NAME          VARCHAR(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
-  "  ARCHIVE_PRIORITY           NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
-  "  ARCHIVE_MIN_REQUEST_AGE    NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
-  "  RETRIEVE_PRIORITY          NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
-  "  RETRIEVE_MIN_REQUEST_AGE   NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
-  "  USER_COMMENT               VARCHAR(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME     VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME     VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME          NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME      VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME      VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME           NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
-  "  CONSTRAINT MOUNT_POLICY_PK PRIMARY KEY(MOUNT_POLICY_NAME)"
-  ");"
-  "CREATE TABLE REQUESTER_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR(100)    CONSTRAINT RQSTER_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_NAME         VARCHAR(100)    CONSTRAINT RQSTER_RULE_RN_NN   NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR(100)    CONSTRAINT RQSTER_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT RQSTER_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_NAME),"
-  "  CONSTRAINT RQSTER_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
-  "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
-  ");"
-  "CREATE TABLE REQUESTER_GROUP_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_GROUP_NAME   VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_RGN_NN  NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_GRP_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT RQSTER_GRP_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_GROUP_NAME),"
-  "  CONSTRAINT RQSTER_GRP_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
-  "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
-  ");"
-  "CREATE TABLE ARCHIVE_FILE("
-  "  ARCHIVE_FILE_ID         NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
-  "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DIN_NN  NOT NULL,"
-  "  DISK_FILE_ID            VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DFI_NN  NOT NULL,"
-  "  DISK_FILE_UID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
-  "  DISK_FILE_GID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
-  "  SIZE_IN_BYTES           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
-  "  CHECKSUM_BLOB           BYTEA,"
-  "  CHECKSUM_ADLER32        NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
-  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
-  "  CREATION_TIME           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
-  "  RECONCILIATION_TIME     NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
-  "  IS_DELETED              CHAR(1)         DEFAULT '0' CONSTRAINT ARCHIVE_FILE_ID_NN NOT NULL,"
-  "  COLLOCATION_HINT        VARCHAR(100),"
-  "  CONSTRAINT ARCHIVE_FILE_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
-  "  CONSTRAINT ARCHIVE_FILE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
-  "  CONSTRAINT ARCHIVE_FILE_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID),"
-  "  CONSTRAINT ARCHIVE_FILE_ID_BOOL_CK CHECK(IS_DELETED IN ('0', '1'))"
-  ");"
-  "CREATE INDEX ARCHIVE_FILE_DIN_IDX ON ARCHIVE_FILE(DISK_INSTANCE_NAME);"
-  "CREATE INDEX ARCHIVE_FILE_DFI_IDX ON ARCHIVE_FILE(DISK_FILE_ID);"
-  "CREATE TABLE TAPE_FILE("
-  "  VID                      VARCHAR(100)   CONSTRAINT TAPE_FILE_V_NN    NOT NULL,"
-  "  FSEQ                     NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
-  "  BLOCK_ID                 NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
-  "  LOGICAL_SIZE_IN_BYTES    NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
-  "  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,"
-  "  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)"
-  ");"
-  "CREATE INDEX TAPE_FILE_VID_IDX ON TAPE_FILE(VID);"
-  "CREATE INDEX TAPE_FILE_ARCHIVE_FILE_ID_IDX ON TAPE_FILE(ARCHIVE_FILE_ID);"
-  "CREATE TABLE ACTIVITIES_WEIGHTS ("
-  "  DISK_INSTANCE_NAME       VARCHAR(100),"
-  "  ACTIVITY                 VARCHAR(100),"
-  "  WEIGHT                   VARCHAR(100),"
-  "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT ACTIV_WEIGHTS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME        NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME         NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
-  ");"
-  "CREATE TABLE FILE_RECYCLE_LOG("
-  "  FILE_RECYCLE_LOG_ID        NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_ID_NN NOT NULL,"
-  "  VID                        VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_VID_NN NOT NULL,"
-  "  FSEQ                       NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_FSEQ_NN NOT NULL,"
-  "  BLOCK_ID                   NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_BID_NN NOT NULL,"
-  "  COPY_NB                    NUMERIC(3, 0)           CONSTRAINT FILE_RECYCLE_LOG_COPY_NB_NN NOT NULL,"
-  "  TAPE_FILE_CREATION_TIME    NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_TFCT_NN NOT NULL,"
-  "  ARCHIVE_FILE_ID            NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_AFI_NN NOT NULL,"
-  "  DISK_INSTANCE_NAME         VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DIN_NN NOT NULL,"
-  "  DISK_FILE_ID               VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DFI_NN NOT NULL,"
-  "  DISK_FILE_ID_WHEN_DELETED  VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DFIWD_NN NOT NULL,"
-  "  DISK_FILE_UID              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_DFU_NN NOT NULL,"
-  "  DISK_FILE_GID              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_DFG_NN NOT NULL,"
-  "  SIZE_IN_BYTES              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_SIB_NN NOT NULL,"
-  "  CHECKSUM_BLOB              BYTEA,"
-  "  CHECKSUM_ADLER32           NUMERIC(10, 0)          CONSTRAINT FILE_RECYCLE_LOG_CA_NN NOT NULL,"
-  "  STORAGE_CLASS_ID           NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_SCI_NN NOT NULL,"
-  "  ARCHIVE_FILE_CREATION_TIME NUMERIC(20, 0)          CONSTRAINT FILE_RECYLE_LOG_CT_NN NOT NULL,"
-  "  RECONCILIATION_TIME        NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_RT_NN NOT NULL,"
-  "  COLLOCATION_HINT           VARCHAR(100),"
-  "  DISK_FILE_PATH             VARCHAR(2000),"
-  "  REASON_LOG                 VARCHAR(1000)       CONSTRAINT FILE_RECYCLE_LOG_RL_NN NOT NULL,"
-  "  RECYCLE_LOG_TIME           NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_RLT_NN NOT NULL,"
-  "  CONSTRAINT FILE_RECYCLE_LOG_PK PRIMARY KEY(FILE_RECYCLE_LOG_ID),"
-  "  CONSTRAINT FILE_RECYCLE_LOG_VID_FK FOREIGN KEY(VID) REFERENCES TAPE(VID),"
-  "  CONSTRAINT FILE_RECYCLE_LOG_SC_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID)"
-  ");"
-  "CREATE INDEX FILE_RECYCLE_LOG_DFI_IDX ON FILE_RECYCLE_LOG(DISK_FILE_ID);"
-  "INSERT INTO CTA_CATALOGUE("
-  "  SCHEMA_VERSION_MAJOR,"
-  "  SCHEMA_VERSION_MINOR,"
-  "  STATUS)"
-  "VALUES("
-  "  4,"
-  "  0,"
-  "  '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='PRODUCTION') OR (STATUS='UPGRADING'));"
-      },
-    }  },
-  {"4.1",
-    {
-      {"oracle",  "CREATE SEQUENCE ARCHIVE_FILE_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 4294967296"
-  "  NOMAXVALUE"
-  "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
-  "CREATE SEQUENCE LOGICAL_LIBRARY_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NOMAXVALUE"
-  "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
-  "CREATE SEQUENCE MEDIA_TYPE_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NOMAXVALUE"
-  "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
-  "CREATE SEQUENCE STORAGE_CLASS_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 10000"
-  "  NOMAXVALUE"
-  "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
-  "CREATE SEQUENCE TAPE_POOL_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NOMAXVALUE"
-  "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
-  "CREATE SEQUENCE VIRTUAL_ORGANIZATION_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NOMAXVALUE"
-  "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
-  "CREATE SEQUENCE FILE_RECYCLE_LOG_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NOMAXVALUE"
-  "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
-  "CREATE GLOBAL TEMPORARY TABLE TEMP_TAPE_FILE_INSERTION_BATCH("
-  "  VID                   VARCHAR2(100),"
-  "  FSEQ                  NUMERIC(20, 0)  ,"
-  "  BLOCK_ID              NUMERIC(20, 0)  ,"
-  "  LOGICAL_SIZE_IN_BYTES NUMERIC(20, 0)  ,"
-  "  COPY_NB               NUMERIC(3, 0)   ,"
-  "  CREATION_TIME         NUMERIC(20, 0)  ,"
-  "  ARCHIVE_FILE_ID       NUMERIC(20, 0)"
-  ")"
-  "ON COMMIT DELETE ROWS;"
-  "CREATE INDEX TEMP_T_F_I_B_AFI_IDX ON TEMP_TAPE_FILE_INSERTION_BATCH(ARCHIVE_FILE_ID);"
-  "CREATE TABLE CTA_CATALOGUE("
-  "  SCHEMA_VERSION_MAJOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
-  "  SCHEMA_VERSION_MINOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
-  "  NEXT_SCHEMA_VERSION_MAJOR NUMERIC(20, 0),"
-  "  NEXT_SCHEMA_VERSION_MINOR NUMERIC(20, 0),"
-  "  STATUS                  VARCHAR2(100),"
-  "  IS_PRODUCTION           CHAR(1)         DEFAULT '0' CONSTRAINT CTA_CATALOGUE_IP_NN NOT NULL,"
-  "  CONSTRAINT CTA_CATALOGUE_IP_BOOL_CK     CHECK(IS_PRODUCTION IN ('0','1'))"
-  ");"
-  "CREATE TABLE ADMIN_USER("
-  "  ADMIN_USER_NAME         VARCHAR2(100)    CONSTRAINT ADMIN_USER_AUN_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
-  "  CONSTRAINT ADMIN_USER_PK PRIMARY KEY(ADMIN_USER_NAME)"
-  ");"
-  "CREATE TABLE DISK_SYSTEM("
-  "  DISK_SYSTEM_NAME        VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
-  "  FILE_REGEXP             VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
-  "  FREE_SPACE_QUERY_URL    VARCHAR2(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
-  "  REFRESH_INTERVAL        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
-  "  TARGETED_FREE_SPACE     NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
-  "  SLEEP_TIME              NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
-  "  CONSTRAINT NAME_PK PRIMARY KEY(DISK_SYSTEM_NAME)"
-  ");"
-  "CREATE TABLE VIRTUAL_ORGANIZATION("
-  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_VOI_NN  NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_NAME VARCHAR2(100)  CONSTRAINT VIRTUAL_ORGANIZATION_VON_NN  NOT NULL,"
-  "  READ_MAX_DRIVES NUMERIC(20, 0)              CONSTRAINT VIRTUAL_ORGANIZATION_RMD_NN  NOT NULL,"
-  "  WRITE_MAX_DRIVES NUMERIC(20, 0)             CONSTRAINT VIRTUAL_ORGANIZATION_WMD_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT VIRTUAL_ORGANIZATION_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_LUT_NN  NOT NULL,"
-  "  CONSTRAINT VIRTUAL_ORGANIZATION_PK PRIMARY KEY(VIRTUAL_ORGANIZATION_ID),"
-  "  CONSTRAINT VIRTUAL_ORGANIZATION_VON_UN UNIQUE(VIRTUAL_ORGANIZATION_NAME)"
-  ");"
-  "CREATE TABLE STORAGE_CLASS("
-  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
-  "  STORAGE_CLASS_NAME      VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
-  "  NB_COPIES               NUMERIC(3, 0)       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT STORAGE_CLASS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
-  "  CONSTRAINT STORAGE_CLASS_PK PRIMARY KEY(STORAGE_CLASS_ID),"
-  "  CONSTRAINT STORAGE_CLASS_SCN_UN UNIQUE(STORAGE_CLASS_NAME),"
-  "  CONSTRAINT STORAGE_CLASS_VOI_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
-  ");"
-  "CREATE TABLE TAPE_POOL("
-  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
-  "  TAPE_POOL_NAME          VARCHAR2(100)    CONSTRAINT TAPE_POOL_TPN_NN  NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_VOI_NN  NOT NULL,"
-  "  NB_PARTIAL_TAPES        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
-  "  IS_ENCRYPTED            CHAR(1)         CONSTRAINT TAPE_POOL_IE_NN   NOT NULL,"
-  "  SUPPLY                  VARCHAR2(100),"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT TAPE_POOL_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
-  "  CONSTRAINT TAPE_POOL_PK PRIMARY KEY(TAPE_POOL_ID),"
-  "  CONSTRAINT TAPE_POOL_TPN_UN UNIQUE(TAPE_POOL_NAME),"
-  "  CONSTRAINT TAPE_POOL_IS_ENCRYPTED_BOOL_CK CHECK(IS_ENCRYPTED IN ('0', '1')),"
-  "  CONSTRAINT TAPE_POOL_VO_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
-  ");"
-  "CREATE TABLE ARCHIVE_ROUTE("
-  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
-  "  COPY_NB                 NUMERIC(3, 0)       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
-  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT ARCHIVE_ROUTE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT ARCHIVE_ROUTE_PK PRIMARY KEY(STORAGE_CLASS_ID, COPY_NB),"
-  "  CONSTRAINT ARCHIVE_ROUTE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
-  "  CONSTRAINT ARCHIVE_ROUTE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
-  "  CONSTRAINT ARCHIVE_ROUTE_COPY_NB_GT_0_CK CHECK(COPY_NB > 0),"
-  "  CONSTRAINT ARCHIVE_ROUTE_SCI_TPI_UN UNIQUE(STORAGE_CLASS_ID, TAPE_POOL_ID)"
-  ");"
-  "CREATE TABLE MEDIA_TYPE("
-  "  MEDIA_TYPE_ID          NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_MTI_NN  NOT NULL,"
-  "  MEDIA_TYPE_NAME        VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_MTN_NN  NOT NULL,"
-  "  CARTRIDGE              VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_C_NN    NOT NULL,"
-  "  CAPACITY_IN_BYTES      NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_CIB_NN  NOT NULL,"
-  "  PRIMARY_DENSITY_CODE   NUMERIC(3, 0),"
-  "  SECONDARY_DENSITY_CODE NUMERIC(3, 0),"
-  "  NB_WRAPS               NUMERIC(10, 0),"
-  "  MIN_LPOS               NUMERIC(20, 0),"
-  "  MAX_LPOS               NUMERIC(20, 0),"
-  "  USER_COMMENT           VARCHAR2(1000) CONSTRAINT MEDIA_TYPE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT MEDIA_TYPE_PK PRIMARY KEY(MEDIA_TYPE_ID),"
-  "  CONSTRAINT MEDIA_TYPE_MTN_UN UNIQUE(MEDIA_TYPE_NAME)"
-  ");"
-  "CREATE TABLE LOGICAL_LIBRARY("
-  "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
-  "  LOGICAL_LIBRARY_NAME    VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_LLN_NN  NOT NULL,"
-  "  IS_DISABLED             CHAR(1)         DEFAULT '0' CONSTRAINT LOGICAL_LIBRARY_ID_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT LOGICAL_LIBRARY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
-  "  CONSTRAINT LOGICAL_LIBRARY_PK PRIMARY KEY(LOGICAL_LIBRARY_ID),"
-  "  CONSTRAINT LOGICAL_LIBRARY_LLN_UN UNIQUE(LOGICAL_LIBRARY_NAME),"
-  "  CONSTRAINT LOGICAL_LIBRARY_ID_BOOL_CK CHECK(IS_DISABLED IN ('0', '1'))"
-  ");"
-  "CREATE TABLE TAPE("
-  "  VID                     VARCHAR2(100)    CONSTRAINT TAPE_V_NN    NOT NULL,"
-  "  MEDIA_TYPE_ID           NUMERIC(20, 0)      CONSTRAINT TAPE_MTID_NN   NOT NULL,"
-  "  VENDOR                  VARCHAR2(100)    CONSTRAINT TAPE_V2_NN   NOT NULL,"
-  "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
-  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
-  "  ENCRYPTION_KEY_NAME     VARCHAR2(100),"
-  "  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_FULL                 CHAR(1)         CONSTRAINT TAPE_IF_NN   NOT NULL,"
-  "  IS_FROM_CASTOR          CHAR(1)         CONSTRAINT TAPE_IFC_NN  NOT NULL,"
-  "  DIRTY                   CHAR(1)         DEFAULT '1' CONSTRAINT TAPE_DIRTY_NN NOT NULL,"
-  "  NB_COPY_NB_1            NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_1_NN NOT NULL,"
-  "  COPY_NB_1_IN_BYTES      NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_1_IN_BYTES_NN NOT NULL,"
-  "  NB_COPY_NB_GT_1         NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_GT_1_NN NOT NULL,"
-  "  COPY_NB_GT_1_IN_BYTES   NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_GT_1_IN_BYTES_NN NOT NULL,"
-  "  LABEL_DRIVE             VARCHAR2(100),"
-  "  LABEL_TIME              NUMERIC(20, 0)    ,"
-  "  LAST_READ_DRIVE         VARCHAR2(100),"
-  "  LAST_READ_TIME          NUMERIC(20, 0)    ,"
-  "  LAST_WRITE_DRIVE        VARCHAR2(100),"
-  "  LAST_WRITE_TIME         NUMERIC(20, 0)    ,"
-  "  READ_MOUNT_COUNT        NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
-  "  WRITE_MOUNT_COUNT       NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000),"
-  "  TAPE_STATE              VARCHAR2(100)    CONSTRAINT TAPE_TS_NN NOT NULL,"
-  "  STATE_REASON            VARCHAR2(1000),"
-  "  STATE_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_SUT_NN NOT NULL,"
-  "  STATE_MODIFIED_BY       VARCHAR2(100)    CONSTRAINT TAPE_SMB_NN NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT TAPE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT TAPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT TAPE_PK PRIMARY KEY(VID),"
-  "  CONSTRAINT TAPE_LOGICAL_LIBRARY_FK FOREIGN KEY(LOGICAL_LIBRARY_ID) REFERENCES LOGICAL_LIBRARY(LOGICAL_LIBRARY_ID),"
-  "  CONSTRAINT TAPE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
-  "  CONSTRAINT TAPE_IS_FULL_BOOL_CK CHECK(IS_FULL IN ('0', '1')),"
-  "  CONSTRAINT TAPE_IS_FROM_CASTOR_BOOL_CK CHECK(IS_FROM_CASTOR IN ('0', '1')),"
-  "  CONSTRAINT TAPE_DIRTY_BOOL_CK CHECK(DIRTY IN ('0','1')),"
-  "  CONSTRAINT TAPE_STATE_CK CHECK(TAPE_STATE IN ('ACTIVE', 'DISABLED', 'BROKEN')),"
-  "  CONSTRAINT TAPE_MEDIA_TYPE_FK FOREIGN KEY(MEDIA_TYPE_ID) REFERENCES MEDIA_TYPE(MEDIA_TYPE_ID)"
-  ");"
-  "CREATE INDEX TAPE_TAPE_POOL_ID_IDX ON TAPE(TAPE_POOL_ID);"
-  "CREATE INDEX TAPE_STATE_IDX ON TAPE(TAPE_STATE);"
-  "CREATE TABLE MOUNT_POLICY("
-  "  MOUNT_POLICY_NAME          VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
-  "  ARCHIVE_PRIORITY           NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
-  "  ARCHIVE_MIN_REQUEST_AGE    NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
-  "  RETRIEVE_PRIORITY          NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
-  "  RETRIEVE_MIN_REQUEST_AGE   NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
-  "  USER_COMMENT               VARCHAR2(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME     VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME     VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME          NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME      VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME      VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME           NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
-  "  CONSTRAINT MOUNT_POLICY_PK PRIMARY KEY(MOUNT_POLICY_NAME)"
-  ");"
-  "CREATE TABLE REQUESTER_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR2(100)    CONSTRAINT RQSTER_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_NAME         VARCHAR2(100)    CONSTRAINT RQSTER_RULE_RN_NN   NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR2(100)    CONSTRAINT RQSTER_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR2(1000)   CONSTRAINT RQSTER_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR2(100)    CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR2(100)    CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT RQSTER_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_NAME),"
-  "  CONSTRAINT RQSTER_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
-  "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
-  ");"
-  "CREATE TABLE REQUESTER_GROUP_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_GROUP_NAME   VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_RGN_NN  NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR2(1000)   CONSTRAINT RQSTER_GRP_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT RQSTER_GRP_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_GROUP_NAME),"
-  "  CONSTRAINT RQSTER_GRP_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
-  "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
-  ");"
-  "CREATE TABLE ARCHIVE_FILE("
-  "  ARCHIVE_FILE_ID         NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
-  "  DISK_INSTANCE_NAME      VARCHAR2(100)    CONSTRAINT ARCHIVE_FILE_DIN_NN  NOT NULL,"
-  "  DISK_FILE_ID            VARCHAR2(100)    CONSTRAINT ARCHIVE_FILE_DFI_NN  NOT NULL,"
-  "  DISK_FILE_UID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
-  "  DISK_FILE_GID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
-  "  SIZE_IN_BYTES           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
-  "  CHECKSUM_BLOB           RAW(200),"
-  "  CHECKSUM_ADLER32        NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
-  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
-  "  CREATION_TIME           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
-  "  RECONCILIATION_TIME     NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
-  "  IS_DELETED              CHAR(1)         DEFAULT '0' CONSTRAINT ARCHIVE_FILE_ID_NN NOT NULL,"
-  "  COLLOCATION_HINT        VARCHAR2(100),"
-  "  CONSTRAINT ARCHIVE_FILE_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
-  "  CONSTRAINT ARCHIVE_FILE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
-  "  CONSTRAINT ARCHIVE_FILE_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID),"
-  "  CONSTRAINT ARCHIVE_FILE_ID_BOOL_CK CHECK(IS_DELETED IN ('0', '1'))"
-  ");"
-  "CREATE INDEX ARCHIVE_FILE_DIN_IDX ON ARCHIVE_FILE(DISK_INSTANCE_NAME);"
-  "CREATE INDEX ARCHIVE_FILE_DFI_IDX ON ARCHIVE_FILE(DISK_FILE_ID);"
-  "CREATE TABLE TAPE_FILE("
-  "  VID                      VARCHAR2(100)   CONSTRAINT TAPE_FILE_V_NN    NOT NULL,"
-  "  FSEQ                     NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
-  "  BLOCK_ID                 NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
-  "  LOGICAL_SIZE_IN_BYTES    NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
-  "  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,"
-  "  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)"
-  ");"
-  "CREATE INDEX TAPE_FILE_VID_IDX ON TAPE_FILE(VID);"
-  "CREATE INDEX TAPE_FILE_ARCHIVE_FILE_ID_IDX ON TAPE_FILE(ARCHIVE_FILE_ID);"
-  "CREATE TABLE ACTIVITIES_WEIGHTS ("
-  "  DISK_INSTANCE_NAME       VARCHAR2(100),"
-  "  ACTIVITY                 VARCHAR2(100),"
-  "  WEIGHT                   VARCHAR2(100),"
-  "  USER_COMMENT             VARCHAR2(1000)   CONSTRAINT ACTIV_WEIGHTS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME   VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME   VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME        NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME    VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME    VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME         NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
-  ");"
-  "CREATE TABLE FILE_RECYCLE_LOG("
-  "  FILE_RECYCLE_LOG_ID        NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_ID_NN NOT NULL,"
-  "  VID                        VARCHAR2(100)        CONSTRAINT FILE_RECYCLE_LOG_VID_NN NOT NULL,"
-  "  FSEQ                       NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_FSEQ_NN NOT NULL,"
-  "  BLOCK_ID                   NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_BID_NN NOT NULL,"
-  "  COPY_NB                    NUMERIC(3, 0)           CONSTRAINT FILE_RECYCLE_LOG_COPY_NB_NN NOT NULL,"
-  "  TAPE_FILE_CREATION_TIME    NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_TFCT_NN NOT NULL,"
-  "  ARCHIVE_FILE_ID            NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_AFI_NN NOT NULL,"
-  "  DISK_INSTANCE_NAME         VARCHAR2(100)        CONSTRAINT FILE_RECYCLE_LOG_DIN_NN NOT NULL,"
-  "  DISK_FILE_ID               VARCHAR2(100)        CONSTRAINT FILE_RECYCLE_LOG_DFI_NN NOT NULL,"
-  "  DISK_FILE_ID_WHEN_DELETED  VARCHAR2(100)        CONSTRAINT FILE_RECYCLE_LOG_DFIWD_NN NOT NULL,"
-  "  DISK_FILE_UID              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_DFU_NN NOT NULL,"
-  "  DISK_FILE_GID              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_DFG_NN NOT NULL,"
-  "  SIZE_IN_BYTES              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_SIB_NN NOT NULL,"
-  "  CHECKSUM_BLOB              RAW(200),"
-  "  CHECKSUM_ADLER32           NUMERIC(10, 0)          CONSTRAINT FILE_RECYCLE_LOG_CA_NN NOT NULL,"
-  "  STORAGE_CLASS_ID           NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_SCI_NN NOT NULL,"
-  "  ARCHIVE_FILE_CREATION_TIME NUMERIC(20, 0)          CONSTRAINT FILE_RECYLE_LOG_CT_NN NOT NULL,"
-  "  RECONCILIATION_TIME        NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_RT_NN NOT NULL,"
-  "  COLLOCATION_HINT           VARCHAR2(100),"
-  "  DISK_FILE_PATH             VARCHAR2(2000),"
-  "  REASON_LOG                 VARCHAR2(1000)       CONSTRAINT FILE_RECYCLE_LOG_RL_NN NOT NULL,"
-  "  RECYCLE_LOG_TIME           NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_RLT_NN NOT NULL,"
-  "  CONSTRAINT FILE_RECYCLE_LOG_PK PRIMARY KEY(FILE_RECYCLE_LOG_ID),"
-  "  CONSTRAINT FILE_RECYCLE_LOG_VID_FK FOREIGN KEY(VID) REFERENCES TAPE(VID),"
-  "  CONSTRAINT FILE_RECYCLE_LOG_SC_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID)"
-  ");"
-  "CREATE INDEX FILE_RECYCLE_LOG_DFI_IDX ON FILE_RECYCLE_LOG(DISK_FILE_ID);"
-  ""
-  "CREATE TABLE DRIVE_CONFIG ("
-  "  DRIVE_NAME                  VARCHAR2(100)       CONSTRAINT DRIVE_CONFIG_DN_NN  NOT NULL,"
-  "  CATEGORY                    VARCHAR2(100)       CONSTRAINT DRIVE_CONFIG_C_NN   NOT NULL,"
-  "  KEY_NAME                    VARCHAR2(100)       CONSTRAINT DRIVE_CONFIG_KN_NN  NOT NULL,"
-  "  VALUE                       VARCHAR2(1000)      CONSTRAINT DRIVE_CONFIG_V_NN   NOT NULL,"
-  "  SOURCE                      VARCHAR2(100)       CONSTRAINT DRIVE_CONFIG_S_NN   NOT NULL,"
-  "  CONSTRAINT DRIVE_CONFIG_DN_PK PRIMARY KEY(KEY_NAME, DRIVE_NAME)"
-  ");"
-  ""
-  "CREATE TABLE TAPE_DRIVE ("
-  "  DRIVE_NAME                  VARCHAR2(100)       CONSTRAINT DRIVE_STATE_DN_NN NOT NULL,"
-  "  HOST                        VARCHAR2(100)       CONSTRAINT DRIVE_STATE_H_NN  NOT NULL,"
-  "  LOGICAL_LIBRARY             VARCHAR2(100)       CONSTRAINT DRIVE_STATE_LL_NN NOT NULL,"
-  "  SESSION_ID                  NUMERIC(20, 0),"
-  "  BYTES_TRANSFERED_IN_SESSION NUMERIC(20, 0),"
-  "  FILES_TRANSFERED_IN_SESSION NUMERIC(20, 0),"
-  "  LATEST_BANDWIDTH            VARCHAR2(100),"
-  "  SESSION_START_TIME          NUMERIC(20, 0),"
-  "  MOUNT_START_TIME            NUMERIC(20, 0),"
-  "  TRANSFER_START_TIME         NUMERIC(20, 0),"
-  "  UNLOAD_START_TIME           NUMERIC(20, 0),"
-  "  UNMOUNT_START_TIME          NUMERIC(20, 0),"
-  "  DRAINING_START_TIME         NUMERIC(20, 0),"
-  "  DOWN_OR_UP_START_TIME       NUMERIC(20, 0),"
-  "  PROBE_START_TIME            NUMERIC(20, 0),"
-  "  CLEANUP_START_TIME          NUMERIC(20, 0),"
-  "  START_START_TIME            NUMERIC(20, 0),"
-  "  SHUTDOWN_TIME               NUMERIC(20, 0),"
-  "  MOUNT_TYPE                  NUMERIC(10, 0)      CONSTRAINT DRIVE_STATE_MT_NN NOT NULL,"
-  "  DRIVE_STATUS                VARCHAR2(100)    DEFAULT 'UNKNOWN' CONSTRAINT DRIVE_STATE_DS_NN NOT NULL,"
-  "  DESIRED_UP                  CHAR(1)         DEFAULT '0' CONSTRAINT DRIVE_STATE_DU_NN  NOT NULL,"
-  "  DESIRED_FORCE_DOWN          CHAR(1)         DEFAULT '0' CONSTRAINT DRIVE_STATE_DFD_NN NOT NULL,"
-  "  REASON_UP_DOWN              VARCHAR2(1000),"
-  "  CURRENT_VID                 VARCHAR2(100),"
-  "  CTA_VERSION                 VARCHAR2(100),"
-  "  CURRENT_PRIORITY            NUMERIC(20, 0),"
-  "  CURRENT_ACTIVITY            VARCHAR2(100),"
-  "  CURRENT_ACTIVITY_WEIGHT     VARCHAR2(100),"
-  "  CURRENT_TAPE_POOL           VARCHAR2(100),"
-  "  NEXT_MOUNT_TYPE             NUMERIC(10, 0),"
-  "  NEXT_VID                    VARCHAR2(100),"
-  "  NEXT_TAPE_POOL              VARCHAR2(100),"
-  "  NEXT_PRIORITY               NUMERIC(20, 0),"
-  "  NEXT_ACTIVITY               VARCHAR2(100),"
-  "  NEXT_ACTIVITY_WEIGHT        VARCHAR2(100),"
-  "  DEV_FILE_NAME               VARCHAR2(100),"
-  "  RAW_LIBRARY_SLOT            VARCHAR2(100),"
-  "  CURRENT_VO                  VARCHAR2(100),"
-  "  NEXT_VO                     VARCHAR2(100),"
-  "  USER_COMMENT                VARCHAR2(1000),"
-  "  CREATION_LOG_USER_NAME      VARCHAR2(100),"
-  "  CREATION_LOG_HOST_NAME      VARCHAR2(100),"
-  "  CREATION_LOG_TIME           NUMERIC(20, 0),"
-  "  LAST_UPDATE_USER_NAME       VARCHAR2(100),"
-  "  LAST_UPDATE_HOST_NAME       VARCHAR2(100),"
-  "  LAST_UPDATE_TIME            NUMERIC(20, 0),"
-  "  DISK_SYSTEM_NAME            VARCHAR2(100)       CONSTRAINT DRIVE_STATE_DSN_NN NOT NULL,"
-  "  RESERVED_BYTES              NUMERIC(20, 0)         CONSTRAINT DRIVE_STATE_RB_NN  NOT NULL,"
-  "  CONSTRAINT DRIVE_STATE_DN_PK PRIMARY KEY(DRIVE_NAME),"
-  "  CONSTRAINT DRIVE_STATE_DU_BOOL_CK CHECK(DESIRED_UP IN ('0', '1')),"
-  "  CONSTRAINT DRIVE_STATE_DFD_BOOL_CK CHECK(DESIRED_FORCE_DOWN IN ('0', '1')),"
-  "  CONSTRAINT DRIVE_STATE_DS_STRING_CK CHECK(DRIVE_STATUS IN ('DOWN', 'UP', 'PROBING', 'STARTING',"
-  "  'MOUNTING', 'TRANSFERING', 'UNLOADING', 'UNMOUNTING', 'DRAININGTODISK', 'CLEANINGUP', 'SHUTDOWN',"
-  "  'UNKNOWN'))"
-  ");"
-  "INSERT INTO CTA_CATALOGUE("
-  "  SCHEMA_VERSION_MAJOR,"
-  "  SCHEMA_VERSION_MINOR,"
-  "  STATUS)"
-  "VALUES("
-  "  4,"
-  "  1,"
-  "  '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;"
-      },
-  {"mysql",  "CREATE TABLE ARCHIVE_FILE_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT ARCHIVE_FILE_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO ARCHIVE_FILE_ID(ID) VALUES(1);"
-  "CREATE TABLE LOGICAL_LIBRARY_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT LOGICAL_LIBRARY_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO LOGICAL_LIBRARY_ID(ID) VALUES(1);"
-  "CREATE TABLE MEDIA_TYPE_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT MEDIA_TYPE_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO MEDIA_TYPE_ID(ID) VALUES(1);"
-  "CREATE TABLE STORAGE_CLASS_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT STORAGE_CLASS_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO STORAGE_CLASS_ID(ID) VALUES(1);"
-  "CREATE TABLE TAPE_POOL_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT TAPE_POOL_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO TAPE_POOL_ID(ID) VALUES(1);"
-  "CREATE TABLE VIRTUAL_ORGANIZATION_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT VIRTUAL_ORGANIZATION_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO VIRTUAL_ORGANIZATION_ID(ID) VALUES(1);"
-  "CREATE TABLE FILE_RECYCLE_LOG_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT FILE_RECYCLE_LOG_ID PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO FILE_RECYCLE_LOG_ID(ID) VALUES (1);"
-  "CREATE TABLE CTA_CATALOGUE("
-  "  SCHEMA_VERSION_MAJOR    BIGINT UNSIGNED      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
-  "  SCHEMA_VERSION_MINOR    BIGINT UNSIGNED      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
-  "  NEXT_SCHEMA_VERSION_MAJOR BIGINT UNSIGNED,"
-  "  NEXT_SCHEMA_VERSION_MINOR BIGINT UNSIGNED,"
-  "  STATUS                  VARCHAR(100),"
-  "  IS_PRODUCTION           CHAR(1)         DEFAULT '0' CONSTRAINT CTA_CATALOGUE_IP_NN NOT NULL,"
-  "  CONSTRAINT CTA_CATALOGUE_IP_BOOL_CK     CHECK(IS_PRODUCTION IN ('0','1'))"
-  ");"
-  "CREATE TABLE ADMIN_USER("
-  "  ADMIN_USER_NAME         VARCHAR(100)    CONSTRAINT ADMIN_USER_AUN_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
-  "  CONSTRAINT ADMIN_USER_PK PRIMARY KEY(ADMIN_USER_NAME)"
-  ");"
-  "CREATE TABLE DISK_SYSTEM("
-  "  DISK_SYSTEM_NAME        VARCHAR(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
-  "  FILE_REGEXP             VARCHAR(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
-  "  FREE_SPACE_QUERY_URL    VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
-  "  REFRESH_INTERVAL        BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
-  "  TARGETED_FREE_SPACE     BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
-  "  SLEEP_TIME              BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
-  "  CONSTRAINT NAME_PK PRIMARY KEY(DISK_SYSTEM_NAME)"
-  ");"
-  "CREATE TABLE VIRTUAL_ORGANIZATION("
-  "  VIRTUAL_ORGANIZATION_ID BIGINT UNSIGNED      CONSTRAINT VIRTUAL_ORGANIZATION_VOI_NN  NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_NAME VARCHAR(100)  CONSTRAINT VIRTUAL_ORGANIZATION_VON_NN  NOT NULL,"
-  "  READ_MAX_DRIVES BIGINT UNSIGNED              CONSTRAINT VIRTUAL_ORGANIZATION_RMD_NN  NOT NULL,"
-  "  WRITE_MAX_DRIVES BIGINT UNSIGNED             CONSTRAINT VIRTUAL_ORGANIZATION_WMD_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT VIRTUAL_ORGANIZATION_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT VIRTUAL_ORGANIZATION_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT VIRTUAL_ORGANIZATION_LUT_NN  NOT NULL,"
-  "  CONSTRAINT VIRTUAL_ORGANIZATION_PK PRIMARY KEY(VIRTUAL_ORGANIZATION_ID),"
-  "  CONSTRAINT VIRTUAL_ORGANIZATION_VON_UN UNIQUE(VIRTUAL_ORGANIZATION_NAME)"
-  ");"
-  "CREATE TABLE STORAGE_CLASS("
-  "  STORAGE_CLASS_ID        BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
-  "  STORAGE_CLASS_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
-  "  NB_COPIES               TINYINT UNSIGNED       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT STORAGE_CLASS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
-  "  CONSTRAINT STORAGE_CLASS_PK PRIMARY KEY(STORAGE_CLASS_ID),"
-  "  CONSTRAINT STORAGE_CLASS_SCN_UN UNIQUE(STORAGE_CLASS_NAME),"
-  "  CONSTRAINT STORAGE_CLASS_VOI_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
-  ");"
-  "CREATE TABLE TAPE_POOL("
-  "  TAPE_POOL_ID            BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
-  "  TAPE_POOL_NAME          VARCHAR(100)    CONSTRAINT TAPE_POOL_TPN_NN  NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_VOI_NN  NOT NULL,"
-  "  NB_PARTIAL_TAPES        BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
-  "  IS_ENCRYPTED            CHAR(1)         CONSTRAINT TAPE_POOL_IE_NN   NOT NULL,"
-  "  SUPPLY                  VARCHAR(100),"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT TAPE_POOL_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
-  "  CONSTRAINT TAPE_POOL_PK PRIMARY KEY(TAPE_POOL_ID),"
-  "  CONSTRAINT TAPE_POOL_TPN_UN UNIQUE(TAPE_POOL_NAME),"
-  "  CONSTRAINT TAPE_POOL_IS_ENCRYPTED_BOOL_CK CHECK(IS_ENCRYPTED IN ('0', '1')),"
-  "  CONSTRAINT TAPE_POOL_VO_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
-  ");"
-  "CREATE TABLE ARCHIVE_ROUTE("
-  "  STORAGE_CLASS_ID        BIGINT UNSIGNED      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
-  "  COPY_NB                 TINYINT UNSIGNED       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
-  "  TAPE_POOL_ID            BIGINT UNSIGNED      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ARCHIVE_ROUTE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT ARCHIVE_ROUTE_PK PRIMARY KEY(STORAGE_CLASS_ID, COPY_NB),"
-  "  CONSTRAINT ARCHIVE_ROUTE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
-  "  CONSTRAINT ARCHIVE_ROUTE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
-  "  CONSTRAINT ARCHIVE_ROUTE_COPY_NB_GT_0_CK CHECK(COPY_NB > 0),"
-  "  CONSTRAINT ARCHIVE_ROUTE_SCI_TPI_UN UNIQUE(STORAGE_CLASS_ID, TAPE_POOL_ID)"
-  ");"
-  "CREATE TABLE MEDIA_TYPE("
-  "  MEDIA_TYPE_ID          BIGINT UNSIGNED    CONSTRAINT MEDIA_TYPE_MTI_NN  NOT NULL,"
-  "  MEDIA_TYPE_NAME        VARCHAR(100)  CONSTRAINT MEDIA_TYPE_MTN_NN  NOT NULL,"
-  "  CARTRIDGE              VARCHAR(100)  CONSTRAINT MEDIA_TYPE_C_NN    NOT NULL,"
-  "  CAPACITY_IN_BYTES      BIGINT UNSIGNED    CONSTRAINT MEDIA_TYPE_CIB_NN  NOT NULL,"
-  "  PRIMARY_DENSITY_CODE   TINYINT UNSIGNED,"
-  "  SECONDARY_DENSITY_CODE TINYINT UNSIGNED,"
-  "  NB_WRAPS               INT UNSIGNED,"
-  "  MIN_LPOS               BIGINT UNSIGNED,"
-  "  MAX_LPOS               BIGINT UNSIGNED,"
-  "  USER_COMMENT           VARCHAR(1000) CONSTRAINT MEDIA_TYPE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR(100)  CONSTRAINT MEDIA_TYPE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR(100)  CONSTRAINT MEDIA_TYPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      BIGINT UNSIGNED    CONSTRAINT MEDIA_TYPE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR(100)  CONSTRAINT MEDIA_TYPE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)  CONSTRAINT MEDIA_TYPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       BIGINT UNSIGNED    CONSTRAINT MEDIA_TYPE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT MEDIA_TYPE_PK PRIMARY KEY(MEDIA_TYPE_ID),"
-  "  CONSTRAINT MEDIA_TYPE_MTN_UN UNIQUE(MEDIA_TYPE_NAME)"
-  ");"
-  "CREATE TABLE LOGICAL_LIBRARY("
-  "  LOGICAL_LIBRARY_ID      BIGINT UNSIGNED      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
-  "  LOGICAL_LIBRARY_NAME    VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LLN_NN  NOT NULL,"
-  "  IS_DISABLED             CHAR(1)         DEFAULT '0' CONSTRAINT LOGICAL_LIBRARY_ID_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT LOGICAL_LIBRARY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
-  "  CONSTRAINT LOGICAL_LIBRARY_PK PRIMARY KEY(LOGICAL_LIBRARY_ID),"
-  "  CONSTRAINT LOGICAL_LIBRARY_LLN_UN UNIQUE(LOGICAL_LIBRARY_NAME),"
-  "  CONSTRAINT LOGICAL_LIBRARY_ID_BOOL_CK CHECK(IS_DISABLED IN ('0', '1'))"
-  ");"
-  "CREATE TABLE TAPE("
-  "  VID                     VARCHAR(100)    CONSTRAINT TAPE_V_NN    NOT NULL,"
-  "  MEDIA_TYPE_ID           BIGINT UNSIGNED      CONSTRAINT TAPE_MTID_NN   NOT NULL,"
-  "  VENDOR                  VARCHAR(100)    CONSTRAINT TAPE_V2_NN   NOT NULL,"
-  "  LOGICAL_LIBRARY_ID      BIGINT UNSIGNED      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
-  "  TAPE_POOL_ID            BIGINT UNSIGNED      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
-  "  ENCRYPTION_KEY_NAME     VARCHAR(100),"
-  "  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_FULL                 CHAR(1)         CONSTRAINT TAPE_IF_NN   NOT NULL,"
-  "  IS_FROM_CASTOR          CHAR(1)         CONSTRAINT TAPE_IFC_NN  NOT NULL,"
-  "  DIRTY                   CHAR(1)         DEFAULT '1' CONSTRAINT TAPE_DIRTY_NN NOT NULL,"
-  "  NB_COPY_NB_1            BIGINT UNSIGNED     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_1_NN NOT NULL,"
-  "  COPY_NB_1_IN_BYTES      BIGINT UNSIGNED     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_1_IN_BYTES_NN NOT NULL,"
-  "  NB_COPY_NB_GT_1         BIGINT UNSIGNED     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_GT_1_NN NOT NULL,"
-  "  COPY_NB_GT_1_IN_BYTES   BIGINT UNSIGNED     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_GT_1_IN_BYTES_NN NOT NULL,"
-  "  LABEL_DRIVE             VARCHAR(100),"
-  "  LABEL_TIME              BIGINT UNSIGNED    ,"
-  "  LAST_READ_DRIVE         VARCHAR(100),"
-  "  LAST_READ_TIME          BIGINT UNSIGNED    ,"
-  "  LAST_WRITE_DRIVE        VARCHAR(100),"
-  "  LAST_WRITE_TIME         BIGINT UNSIGNED    ,"
-  "  READ_MOUNT_COUNT        BIGINT UNSIGNED      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
-  "  WRITE_MOUNT_COUNT       BIGINT UNSIGNED      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000),"
-  "  TAPE_STATE              VARCHAR(100)    CONSTRAINT TAPE_TS_NN NOT NULL,"
-  "  STATE_REASON            VARCHAR(1000),"
-  "  STATE_UPDATE_TIME       BIGINT UNSIGNED      CONSTRAINT TAPE_SUT_NN NOT NULL,"
-  "  STATE_MODIFIED_BY       VARCHAR(100)    CONSTRAINT TAPE_SMB_NN NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT TAPE_PK PRIMARY KEY(VID),"
-  "  CONSTRAINT TAPE_LOGICAL_LIBRARY_FK FOREIGN KEY(LOGICAL_LIBRARY_ID) REFERENCES LOGICAL_LIBRARY(LOGICAL_LIBRARY_ID),"
-  "  CONSTRAINT TAPE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
-  "  CONSTRAINT TAPE_IS_FULL_BOOL_CK CHECK(IS_FULL IN ('0', '1')),"
-  "  CONSTRAINT TAPE_IS_FROM_CASTOR_BOOL_CK CHECK(IS_FROM_CASTOR IN ('0', '1')),"
-  "  CONSTRAINT TAPE_DIRTY_BOOL_CK CHECK(DIRTY IN ('0','1')),"
-  "  CONSTRAINT TAPE_STATE_CK CHECK(TAPE_STATE IN ('ACTIVE', 'DISABLED', 'BROKEN')),"
-  "  CONSTRAINT TAPE_MEDIA_TYPE_FK FOREIGN KEY(MEDIA_TYPE_ID) REFERENCES MEDIA_TYPE(MEDIA_TYPE_ID)"
-  ");"
-  "CREATE INDEX TAPE_TAPE_POOL_ID_IDX ON TAPE(TAPE_POOL_ID);"
-  "CREATE INDEX TAPE_STATE_IDX ON TAPE(TAPE_STATE);"
-  "CREATE TABLE MOUNT_POLICY("
-  "  MOUNT_POLICY_NAME          VARCHAR(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
-  "  ARCHIVE_PRIORITY           BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
-  "  ARCHIVE_MIN_REQUEST_AGE    BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
-  "  RETRIEVE_PRIORITY          BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
-  "  RETRIEVE_MIN_REQUEST_AGE   BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
-  "  USER_COMMENT               VARCHAR(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME     VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME     VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME          BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME      VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME      VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME           BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
-  "  CONSTRAINT MOUNT_POLICY_PK PRIMARY KEY(MOUNT_POLICY_NAME)"
-  ");"
-  "CREATE TABLE REQUESTER_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR(100)    CONSTRAINT RQSTER_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_NAME         VARCHAR(100)    CONSTRAINT RQSTER_RULE_RN_NN   NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR(100)    CONSTRAINT RQSTER_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      BIGINT UNSIGNED      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       BIGINT UNSIGNED      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT RQSTER_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_NAME),"
-  "  CONSTRAINT RQSTER_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
-  "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
-  ");"
-  "CREATE TABLE REQUESTER_GROUP_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_GROUP_NAME   VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_RGN_NN  NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_GRP_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      BIGINT UNSIGNED      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       BIGINT UNSIGNED      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT RQSTER_GRP_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_GROUP_NAME),"
-  "  CONSTRAINT RQSTER_GRP_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
-  "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
-  ");"
-  "CREATE TABLE ARCHIVE_FILE("
-  "  ARCHIVE_FILE_ID         BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
-  "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DIN_NN  NOT NULL,"
-  "  DISK_FILE_ID            VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DFI_NN  NOT NULL,"
-  "  DISK_FILE_UID           INT UNSIGNED      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
-  "  DISK_FILE_GID           INT UNSIGNED      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
-  "  SIZE_IN_BYTES           BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
-  "  CHECKSUM_BLOB           VARBINARY(200),"
-  "  CHECKSUM_ADLER32        INT UNSIGNED      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
-  "  STORAGE_CLASS_ID        BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
-  "  CREATION_TIME           BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
-  "  RECONCILIATION_TIME     BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
-  "  IS_DELETED              CHAR(1)         DEFAULT '0' CONSTRAINT ARCHIVE_FILE_ID_NN NOT NULL,"
-  "  COLLOCATION_HINT        VARCHAR(100),"
-  "  CONSTRAINT ARCHIVE_FILE_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
-  "  CONSTRAINT ARCHIVE_FILE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
-  "  CONSTRAINT ARCHIVE_FILE_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID),"
-  "  CONSTRAINT ARCHIVE_FILE_ID_BOOL_CK CHECK(IS_DELETED IN ('0', '1'))"
-  ");"
-  "CREATE INDEX ARCHIVE_FILE_DIN_IDX ON ARCHIVE_FILE(DISK_INSTANCE_NAME);"
-  "CREATE INDEX ARCHIVE_FILE_DFI_IDX ON ARCHIVE_FILE(DISK_FILE_ID);"
-  "CREATE TABLE TAPE_FILE("
-  "  VID                      VARCHAR(100)   CONSTRAINT TAPE_FILE_V_NN    NOT NULL,"
-  "  FSEQ                     BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
-  "  BLOCK_ID                 BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
-  "  LOGICAL_SIZE_IN_BYTES    BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
-  "  COPY_NB                  TINYINT UNSIGNED      CONSTRAINT TAPE_FILE_CN_NN   NOT NULL,"
-  "  CREATION_TIME            BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_CT_NN   NOT NULL,"
-  "  ARCHIVE_FILE_ID          BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_AFI_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)"
-  ");"
-  "CREATE INDEX TAPE_FILE_VID_IDX ON TAPE_FILE(VID);"
-  "CREATE INDEX TAPE_FILE_ARCHIVE_FILE_ID_IDX ON TAPE_FILE(ARCHIVE_FILE_ID);"
-  "CREATE TABLE ACTIVITIES_WEIGHTS ("
-  "  DISK_INSTANCE_NAME       VARCHAR(100),"
-  "  ACTIVITY                 VARCHAR(100),"
-  "  WEIGHT                   VARCHAR(100),"
-  "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT ACTIV_WEIGHTS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME        BIGINT UNSIGNED      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME         BIGINT UNSIGNED      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
-  ");"
-  "CREATE TABLE FILE_RECYCLE_LOG("
-  "  FILE_RECYCLE_LOG_ID        BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_ID_NN NOT NULL,"
-  "  VID                        VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_VID_NN NOT NULL,"
-  "  FSEQ                       BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_FSEQ_NN NOT NULL,"
-  "  BLOCK_ID                   BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_BID_NN NOT NULL,"
-  "  COPY_NB                    TINYINT UNSIGNED           CONSTRAINT FILE_RECYCLE_LOG_COPY_NB_NN NOT NULL,"
-  "  TAPE_FILE_CREATION_TIME    BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_TFCT_NN NOT NULL,"
-  "  ARCHIVE_FILE_ID            BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_AFI_NN NOT NULL,"
-  "  DISK_INSTANCE_NAME         VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DIN_NN NOT NULL,"
-  "  DISK_FILE_ID               VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DFI_NN NOT NULL,"
-  "  DISK_FILE_ID_WHEN_DELETED  VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DFIWD_NN NOT NULL,"
-  "  DISK_FILE_UID              BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_DFU_NN NOT NULL,"
-  "  DISK_FILE_GID              BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_DFG_NN NOT NULL,"
-  "  SIZE_IN_BYTES              BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_SIB_NN NOT NULL,"
-  "  CHECKSUM_BLOB              VARBINARY(200),"
-  "  CHECKSUM_ADLER32           INT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_CA_NN NOT NULL,"
-  "  STORAGE_CLASS_ID           BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_SCI_NN NOT NULL,"
-  "  ARCHIVE_FILE_CREATION_TIME BIGINT UNSIGNED          CONSTRAINT FILE_RECYLE_LOG_CT_NN NOT NULL,"
-  "  RECONCILIATION_TIME        BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_RT_NN NOT NULL,"
-  "  COLLOCATION_HINT           VARCHAR(100),"
-  "  DISK_FILE_PATH             VARCHAR(2000),"
-  "  REASON_LOG                 VARCHAR(1000)       CONSTRAINT FILE_RECYCLE_LOG_RL_NN NOT NULL,"
-  "  RECYCLE_LOG_TIME           BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_RLT_NN NOT NULL,"
-  "  CONSTRAINT FILE_RECYCLE_LOG_PK PRIMARY KEY(FILE_RECYCLE_LOG_ID),"
-  "  CONSTRAINT FILE_RECYCLE_LOG_VID_FK FOREIGN KEY(VID) REFERENCES TAPE(VID),"
-  "  CONSTRAINT FILE_RECYCLE_LOG_SC_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID)"
-  ");"
-  "CREATE INDEX FILE_RECYCLE_LOG_DFI_IDX ON FILE_RECYCLE_LOG(DISK_FILE_ID);"
-  ""
-  "CREATE TABLE DRIVE_CONFIG ("
-  "  DRIVE_NAME                  VARCHAR(100)       CONSTRAINT DRIVE_CONFIG_DN_NN  NOT NULL,"
-  "  CATEGORY                    VARCHAR(100)       CONSTRAINT DRIVE_CONFIG_C_NN   NOT NULL,"
-  "  KEY_NAME                    VARCHAR(100)       CONSTRAINT DRIVE_CONFIG_KN_NN  NOT NULL,"
-  "  VALUE                       VARCHAR(1000)      CONSTRAINT DRIVE_CONFIG_V_NN   NOT NULL,"
-  "  SOURCE                      VARCHAR(100)       CONSTRAINT DRIVE_CONFIG_S_NN   NOT NULL,"
-  "  CONSTRAINT DRIVE_CONFIG_DN_PK PRIMARY KEY(KEY_NAME, DRIVE_NAME)"
-  ");"
-  ""
-  "CREATE TABLE TAPE_DRIVE ("
-  "  DRIVE_NAME                  VARCHAR(100)       CONSTRAINT DRIVE_STATE_DN_NN NOT NULL,"
-  "  HOST                        VARCHAR(100)       CONSTRAINT DRIVE_STATE_H_NN  NOT NULL,"
-  "  LOGICAL_LIBRARY             VARCHAR(100)       CONSTRAINT DRIVE_STATE_LL_NN NOT NULL,"
-  "  SESSION_ID                  BIGINT UNSIGNED,"
-  "  BYTES_TRANSFERED_IN_SESSION BIGINT UNSIGNED,"
-  "  FILES_TRANSFERED_IN_SESSION BIGINT UNSIGNED,"
-  "  LATEST_BANDWIDTH            VARCHAR(100),"
-  "  SESSION_START_TIME          BIGINT UNSIGNED,"
-  "  MOUNT_START_TIME            BIGINT UNSIGNED,"
-  "  TRANSFER_START_TIME         BIGINT UNSIGNED,"
-  "  UNLOAD_START_TIME           BIGINT UNSIGNED,"
-  "  UNMOUNT_START_TIME          BIGINT UNSIGNED,"
-  "  DRAINING_START_TIME         BIGINT UNSIGNED,"
-  "  DOWN_OR_UP_START_TIME       BIGINT UNSIGNED,"
-  "  PROBE_START_TIME            BIGINT UNSIGNED,"
-  "  CLEANUP_START_TIME          BIGINT UNSIGNED,"
-  "  START_START_TIME            BIGINT UNSIGNED,"
-  "  SHUTDOWN_TIME               BIGINT UNSIGNED,"
-  "  MOUNT_TYPE                  INT UNSIGNED      CONSTRAINT DRIVE_STATE_MT_NN NOT NULL,"
-  "  DRIVE_STATUS                VARCHAR(100)    DEFAULT 'UNKNOWN' CONSTRAINT DRIVE_STATE_DS_NN NOT NULL,"
-  "  DESIRED_UP                  CHAR(1)         DEFAULT '0' CONSTRAINT DRIVE_STATE_DU_NN  NOT NULL,"
-  "  DESIRED_FORCE_DOWN          CHAR(1)         DEFAULT '0' CONSTRAINT DRIVE_STATE_DFD_NN NOT NULL,"
-  "  REASON_UP_DOWN              VARCHAR(1000),"
-  "  CURRENT_VID                 VARCHAR(100),"
-  "  CTA_VERSION                 VARCHAR(100),"
-  "  CURRENT_PRIORITY            BIGINT UNSIGNED,"
-  "  CURRENT_ACTIVITY            VARCHAR(100),"
-  "  CURRENT_ACTIVITY_WEIGHT     VARCHAR(100),"
-  "  CURRENT_TAPE_POOL           VARCHAR(100),"
-  "  NEXT_MOUNT_TYPE             INT UNSIGNED,"
-  "  NEXT_VID                    VARCHAR(100),"
-  "  NEXT_TAPE_POOL              VARCHAR(100),"
-  "  NEXT_PRIORITY               BIGINT UNSIGNED,"
-  "  NEXT_ACTIVITY               VARCHAR(100),"
-  "  NEXT_ACTIVITY_WEIGHT        VARCHAR(100),"
-  "  DEV_FILE_NAME               VARCHAR(100),"
-  "  RAW_LIBRARY_SLOT            VARCHAR(100),"
-  "  CURRENT_VO                  VARCHAR(100),"
-  "  NEXT_VO                     VARCHAR(100),"
-  "  USER_COMMENT                VARCHAR(1000),"
-  "  CREATION_LOG_USER_NAME      VARCHAR(100),"
-  "  CREATION_LOG_HOST_NAME      VARCHAR(100),"
-  "  CREATION_LOG_TIME           BIGINT UNSIGNED,"
-  "  LAST_UPDATE_USER_NAME       VARCHAR(100),"
-  "  LAST_UPDATE_HOST_NAME       VARCHAR(100),"
-  "  LAST_UPDATE_TIME            BIGINT UNSIGNED,"
-  "  DISK_SYSTEM_NAME            VARCHAR(100)       CONSTRAINT DRIVE_STATE_DSN_NN NOT NULL,"
-  "  RESERVED_BYTES              BIGINT UNSIGNED         CONSTRAINT DRIVE_STATE_RB_NN  NOT NULL,"
-  "  CONSTRAINT DRIVE_STATE_DN_PK PRIMARY KEY(DRIVE_NAME),"
-  "  CONSTRAINT DRIVE_STATE_DU_BOOL_CK CHECK(DESIRED_UP IN ('0', '1')),"
-  "  CONSTRAINT DRIVE_STATE_DFD_BOOL_CK CHECK(DESIRED_FORCE_DOWN IN ('0', '1')),"
-  "  CONSTRAINT DRIVE_STATE_DS_STRING_CK CHECK(DRIVE_STATUS IN ('DOWN', 'UP', 'PROBING', 'STARTING',"
-  "  'MOUNTING', 'TRANSFERING', 'UNLOADING', 'UNMOUNTING', 'DRAININGTODISK', 'CLEANINGUP', 'SHUTDOWN',"
-  "  'UNKNOWN'))"
-  ");"
-  "INSERT INTO CTA_CATALOGUE("
-  "  SCHEMA_VERSION_MAJOR,"
-  "  SCHEMA_VERSION_MINOR,"
-  "  STATUS)"
-  "VALUES("
-  "  4,"
-  "  1,"
-  "  '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 (STATUS='UPGRADING'));"
-      },
-  {"sqlite",  "CREATE TABLE ARCHIVE_FILE_ID("
-  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
-  ");"
-  "CREATE TABLE LOGICAL_LIBRARY_ID("
-  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
-  ");"
-  "CREATE TABLE MEDIA_TYPE_ID("
-  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
-  ");"
-  "CREATE TABLE STORAGE_CLASS_ID("
-  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
-  ");"
-  "CREATE TABLE TAPE_POOL_ID("
-  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
-  ");"
-  "CREATE TABLE VIRTUAL_ORGANIZATION_ID("
-  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
-  ");"
-  "CREATE TABLE FILE_RECYCLE_LOG_ID("
-  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
-  ");"
-  "CREATE TABLE CTA_CATALOGUE("
-  "  SCHEMA_VERSION_MAJOR    INTEGER      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
-  "  SCHEMA_VERSION_MINOR    INTEGER      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
-  "  NEXT_SCHEMA_VERSION_MAJOR INTEGER,"
-  "  NEXT_SCHEMA_VERSION_MINOR INTEGER,"
-  "  STATUS                  VARCHAR(100),"
-  "  IS_PRODUCTION           CHAR(1)         DEFAULT '0' CONSTRAINT CTA_CATALOGUE_IP_NN NOT NULL,"
-  "  CONSTRAINT CTA_CATALOGUE_IP_BOOL_CK     CHECK(IS_PRODUCTION IN ('0','1'))"
-  ");"
-  "CREATE TABLE ADMIN_USER("
-  "  ADMIN_USER_NAME         VARCHAR(100)    CONSTRAINT ADMIN_USER_AUN_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
-  "  CONSTRAINT ADMIN_USER_PK PRIMARY KEY(ADMIN_USER_NAME)"
-  ");"
-  "CREATE TABLE DISK_SYSTEM("
-  "  DISK_SYSTEM_NAME        VARCHAR(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
-  "  FILE_REGEXP             VARCHAR(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
-  "  FREE_SPACE_QUERY_URL    VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
-  "  REFRESH_INTERVAL        INTEGER      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
-  "  TARGETED_FREE_SPACE     INTEGER      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
-  "  SLEEP_TIME              INTEGER      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
-  "  CONSTRAINT NAME_PK PRIMARY KEY(DISK_SYSTEM_NAME)"
-  ");"
-  "CREATE TABLE VIRTUAL_ORGANIZATION("
-  "  VIRTUAL_ORGANIZATION_ID INTEGER      CONSTRAINT VIRTUAL_ORGANIZATION_VOI_NN  NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_NAME VARCHAR(100)  CONSTRAINT VIRTUAL_ORGANIZATION_VON_NN  NOT NULL,"
-  "  READ_MAX_DRIVES INTEGER              CONSTRAINT VIRTUAL_ORGANIZATION_RMD_NN  NOT NULL,"
-  "  WRITE_MAX_DRIVES INTEGER             CONSTRAINT VIRTUAL_ORGANIZATION_WMD_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT VIRTUAL_ORGANIZATION_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT VIRTUAL_ORGANIZATION_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT VIRTUAL_ORGANIZATION_LUT_NN  NOT NULL,"
-  "  CONSTRAINT VIRTUAL_ORGANIZATION_PK PRIMARY KEY(VIRTUAL_ORGANIZATION_ID),"
-  "  CONSTRAINT VIRTUAL_ORGANIZATION_VON_UN UNIQUE(VIRTUAL_ORGANIZATION_NAME)"
-  ");"
-  "CREATE TABLE STORAGE_CLASS("
-  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
-  "  STORAGE_CLASS_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
-  "  NB_COPIES               INTEGER       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID INTEGER      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT STORAGE_CLASS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
-  "  CONSTRAINT STORAGE_CLASS_PK PRIMARY KEY(STORAGE_CLASS_ID),"
-  "  CONSTRAINT STORAGE_CLASS_SCN_UN UNIQUE(STORAGE_CLASS_NAME),"
-  "  CONSTRAINT STORAGE_CLASS_VOI_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
-  ");"
-  "CREATE TABLE TAPE_POOL("
-  "  TAPE_POOL_ID            INTEGER      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
-  "  TAPE_POOL_NAME          VARCHAR(100)    CONSTRAINT TAPE_POOL_TPN_NN  NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID INTEGER      CONSTRAINT TAPE_POOL_VOI_NN  NOT NULL,"
-  "  NB_PARTIAL_TAPES        INTEGER      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
-  "  IS_ENCRYPTED            CHAR(1)         CONSTRAINT TAPE_POOL_IE_NN   NOT NULL,"
-  "  SUPPLY                  VARCHAR(100),"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT TAPE_POOL_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
-  "  CONSTRAINT TAPE_POOL_PK PRIMARY KEY(TAPE_POOL_ID),"
-  "  CONSTRAINT TAPE_POOL_TPN_UN UNIQUE(TAPE_POOL_NAME),"
-  "  CONSTRAINT TAPE_POOL_IS_ENCRYPTED_BOOL_CK CHECK(IS_ENCRYPTED IN ('0', '1')),"
-  "  CONSTRAINT TAPE_POOL_VO_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
-  ");"
-  "CREATE TABLE ARCHIVE_ROUTE("
-  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
-  "  COPY_NB                 INTEGER       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
-  "  TAPE_POOL_ID            INTEGER      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ARCHIVE_ROUTE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
-  "  CONSTRAINT ARCHIVE_ROUTE_PK PRIMARY KEY(STORAGE_CLASS_ID, COPY_NB),"
-  "  CONSTRAINT ARCHIVE_ROUTE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
-  "  CONSTRAINT ARCHIVE_ROUTE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
-  "  CONSTRAINT ARCHIVE_ROUTE_COPY_NB_GT_0_CK CHECK(COPY_NB > 0),"
-  "  CONSTRAINT ARCHIVE_ROUTE_SCI_TPI_UN UNIQUE(STORAGE_CLASS_ID, TAPE_POOL_ID)"
-  ");"
-  "CREATE TABLE MEDIA_TYPE("
-  "  MEDIA_TYPE_ID          INTEGER    CONSTRAINT MEDIA_TYPE_MTI_NN  NOT NULL,"
-  "  MEDIA_TYPE_NAME        VARCHAR(100)  CONSTRAINT MEDIA_TYPE_MTN_NN  NOT NULL,"
-  "  CARTRIDGE              VARCHAR(100)  CONSTRAINT MEDIA_TYPE_C_NN    NOT NULL,"
-  "  CAPACITY_IN_BYTES      INTEGER    CONSTRAINT MEDIA_TYPE_CIB_NN  NOT NULL,"
-  "  PRIMARY_DENSITY_CODE   INTEGER,"
-  "  SECONDARY_DENSITY_CODE INTEGER,"
-  "  NB_WRAPS               INTEGER,"
-  "  MIN_LPOS               INTEGER,"
-  "  MAX_LPOS               INTEGER,"
-  "  USER_COMMENT           VARCHAR(1000) CONSTRAINT MEDIA_TYPE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR(100)  CONSTRAINT MEDIA_TYPE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR(100)  CONSTRAINT MEDIA_TYPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      INTEGER    CONSTRAINT MEDIA_TYPE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR(100)  CONSTRAINT MEDIA_TYPE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)  CONSTRAINT MEDIA_TYPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       INTEGER    CONSTRAINT MEDIA_TYPE_LUT_NN  NOT NULL,"
+  "  MEDIA_TYPE_ID          NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_MTI_NN  NOT NULL,"
+  "  MEDIA_TYPE_NAME        VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_MTN_NN  NOT NULL,"
+  "  CARTRIDGE              VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_C_NN    NOT NULL,"
+  "  CAPACITY_IN_BYTES      NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_CIB_NN  NOT NULL,"
+  "  PRIMARY_DENSITY_CODE   NUMERIC(3, 0),"
+  "  SECONDARY_DENSITY_CODE NUMERIC(3, 0),"
+  "  NB_WRAPS               NUMERIC(10, 0),"
+  "  MIN_LPOS               NUMERIC(20, 0),"
+  "  MAX_LPOS               NUMERIC(20, 0),"
+  "  USER_COMMENT           VARCHAR2(1000) CONSTRAINT MEDIA_TYPE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME      NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME  VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME  VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME       NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_LUT_NN  NOT NULL,"
   "  CONSTRAINT MEDIA_TYPE_PK PRIMARY KEY(MEDIA_TYPE_ID),"
   "  CONSTRAINT MEDIA_TYPE_MTN_UN UNIQUE(MEDIA_TYPE_NAME)"
   ");"
   "CREATE TABLE LOGICAL_LIBRARY("
-  "  LOGICAL_LIBRARY_ID      INTEGER      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
-  "  LOGICAL_LIBRARY_NAME    VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LLN_NN  NOT NULL,"
+  "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
+  "  LOGICAL_LIBRARY_NAME    VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_LLN_NN  NOT NULL,"
   "  IS_DISABLED             CHAR(1)         DEFAULT '0' CONSTRAINT LOGICAL_LIBRARY_ID_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT LOGICAL_LIBRARY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT LOGICAL_LIBRARY_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
   "  CONSTRAINT LOGICAL_LIBRARY_PK PRIMARY KEY(LOGICAL_LIBRARY_ID),"
   "  CONSTRAINT LOGICAL_LIBRARY_LLN_UN UNIQUE(LOGICAL_LIBRARY_NAME),"
   "  CONSTRAINT LOGICAL_LIBRARY_ID_BOOL_CK CHECK(IS_DISABLED IN ('0', '1'))"
   ");"
   "CREATE TABLE TAPE("
-  "  VID                     VARCHAR(100)    CONSTRAINT TAPE_V_NN    NOT NULL,"
-  "  MEDIA_TYPE_ID           INTEGER      CONSTRAINT TAPE_MTID_NN   NOT NULL,"
-  "  VENDOR                  VARCHAR(100)    CONSTRAINT TAPE_V2_NN   NOT NULL,"
-  "  LOGICAL_LIBRARY_ID      INTEGER      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
-  "  TAPE_POOL_ID            INTEGER      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
-  "  ENCRYPTION_KEY_NAME     VARCHAR(100),"
-  "  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,"
+  "  VID                     VARCHAR2(100)    CONSTRAINT TAPE_V_NN    NOT NULL,"
+  "  MEDIA_TYPE_ID           NUMERIC(20, 0)      CONSTRAINT TAPE_MTID_NN   NOT NULL,"
+  "  VENDOR                  VARCHAR2(100)    CONSTRAINT TAPE_V2_NN   NOT NULL,"
+  "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
+  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
+  "  ENCRYPTION_KEY_NAME     VARCHAR2(100),"
+  "  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_FULL                 CHAR(1)         CONSTRAINT TAPE_IF_NN   NOT NULL,"
   "  IS_FROM_CASTOR          CHAR(1)         CONSTRAINT TAPE_IFC_NN  NOT NULL,"
   "  DIRTY                   CHAR(1)         DEFAULT '1' CONSTRAINT TAPE_DIRTY_NN NOT NULL,"
-  "  NB_COPY_NB_1            INTEGER     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_1_NN NOT NULL,"
-  "  COPY_NB_1_IN_BYTES      INTEGER     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_1_IN_BYTES_NN NOT NULL,"
-  "  NB_COPY_NB_GT_1         INTEGER     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_GT_1_NN NOT NULL,"
-  "  COPY_NB_GT_1_IN_BYTES   INTEGER     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_GT_1_IN_BYTES_NN NOT NULL,"
-  "  LABEL_DRIVE             VARCHAR(100),"
-  "  LABEL_TIME              INTEGER    ,"
-  "  LAST_READ_DRIVE         VARCHAR(100),"
-  "  LAST_READ_TIME          INTEGER    ,"
-  "  LAST_WRITE_DRIVE        VARCHAR(100),"
-  "  LAST_WRITE_TIME         INTEGER    ,"
-  "  READ_MOUNT_COUNT        INTEGER      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
-  "  WRITE_MOUNT_COUNT       INTEGER      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000),"
-  "  TAPE_STATE              VARCHAR(100)    CONSTRAINT TAPE_TS_NN NOT NULL,"
-  "  STATE_REASON            VARCHAR(1000),"
-  "  STATE_UPDATE_TIME       INTEGER      CONSTRAINT TAPE_SUT_NN NOT NULL,"
-  "  STATE_MODIFIED_BY       VARCHAR(100)    CONSTRAINT TAPE_SMB_NN NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
+  "  NB_COPY_NB_1            NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_1_NN NOT NULL,"
+  "  COPY_NB_1_IN_BYTES      NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_1_IN_BYTES_NN NOT NULL,"
+  "  NB_COPY_NB_GT_1         NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_GT_1_NN NOT NULL,"
+  "  COPY_NB_GT_1_IN_BYTES   NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_GT_1_IN_BYTES_NN NOT NULL,"
+  "  LABEL_DRIVE             VARCHAR2(100),"
+  "  LABEL_TIME              NUMERIC(20, 0)    ,"
+  "  LAST_READ_DRIVE         VARCHAR2(100),"
+  "  LAST_READ_TIME          NUMERIC(20, 0)    ,"
+  "  LAST_WRITE_DRIVE        VARCHAR2(100),"
+  "  LAST_WRITE_TIME         NUMERIC(20, 0)    ,"
+  "  READ_MOUNT_COUNT        NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
+  "  WRITE_MOUNT_COUNT       NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000),"
+  "  TAPE_STATE              VARCHAR2(100)    CONSTRAINT TAPE_TS_NN NOT NULL,"
+  "  STATE_REASON            VARCHAR2(1000),"
+  "  STATE_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_SUT_NN NOT NULL,"
+  "  STATE_MODIFIED_BY       VARCHAR2(100)    CONSTRAINT TAPE_SMB_NN NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT TAPE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT TAPE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
   "  CONSTRAINT TAPE_PK PRIMARY KEY(VID),"
   "  CONSTRAINT TAPE_LOGICAL_LIBRARY_FK FOREIGN KEY(LOGICAL_LIBRARY_ID) REFERENCES LOGICAL_LIBRARY(LOGICAL_LIBRARY_ID),"
   "  CONSTRAINT TAPE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
@@ -11232,64 +7930,64 @@ namespace catalogue{
   "CREATE INDEX TAPE_TAPE_POOL_ID_IDX ON TAPE(TAPE_POOL_ID);"
   "CREATE INDEX TAPE_STATE_IDX ON TAPE(TAPE_STATE);"
   "CREATE TABLE MOUNT_POLICY("
-  "  MOUNT_POLICY_NAME          VARCHAR(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
-  "  ARCHIVE_PRIORITY           INTEGER      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
-  "  ARCHIVE_MIN_REQUEST_AGE    INTEGER      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
-  "  RETRIEVE_PRIORITY          INTEGER      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
-  "  RETRIEVE_MIN_REQUEST_AGE   INTEGER      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
-  "  USER_COMMENT               VARCHAR(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME     VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME     VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME          INTEGER      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME      VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME      VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME           INTEGER      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
+  "  MOUNT_POLICY_NAME          VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
+  "  ARCHIVE_PRIORITY           NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
+  "  ARCHIVE_MIN_REQUEST_AGE    NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
+  "  RETRIEVE_PRIORITY          NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
+  "  RETRIEVE_MIN_REQUEST_AGE   NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
+  "  USER_COMMENT               VARCHAR2(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME     VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME     VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME          NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME      VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME      VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME           NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
   "  CONSTRAINT MOUNT_POLICY_PK PRIMARY KEY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE REQUESTER_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR(100)    CONSTRAINT RQSTER_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_NAME         VARCHAR(100)    CONSTRAINT RQSTER_RULE_RN_NN   NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR(100)    CONSTRAINT RQSTER_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      INTEGER      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       INTEGER      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
+  "  DISK_INSTANCE_NAME     VARCHAR2(100)    CONSTRAINT RQSTER_RULE_DIN_NN  NOT NULL,"
+  "  REQUESTER_NAME         VARCHAR2(100)    CONSTRAINT RQSTER_RULE_RN_NN   NOT NULL,"
+  "  MOUNT_POLICY_NAME      VARCHAR2(100)    CONSTRAINT RQSTER_RULE_MPN_NN  NOT NULL,"
+  "  USER_COMMENT           VARCHAR2(1000)   CONSTRAINT RQSTER_RULE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME VARCHAR2(100)    CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME VARCHAR2(100)    CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
   "  CONSTRAINT RQSTER_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_NAME),"
   "  CONSTRAINT RQSTER_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
   "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE REQUESTER_GROUP_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_GROUP_NAME   VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_RGN_NN  NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_GRP_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      INTEGER      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       INTEGER      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
+  "  DISK_INSTANCE_NAME     VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_DIN_NN  NOT NULL,"
+  "  REQUESTER_GROUP_NAME   VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_RGN_NN  NOT NULL,"
+  "  MOUNT_POLICY_NAME      VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_MPN_NN  NOT NULL,"
+  "  USER_COMMENT           VARCHAR2(1000)   CONSTRAINT RQSTER_GRP_RULE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
   "  CONSTRAINT RQSTER_GRP_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_GROUP_NAME),"
   "  CONSTRAINT RQSTER_GRP_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
   "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE ARCHIVE_FILE("
-  "  ARCHIVE_FILE_ID         INTEGER      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
-  "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DIN_NN  NOT NULL,"
-  "  DISK_FILE_ID            VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DFI_NN  NOT NULL,"
-  "  DISK_FILE_UID           INTEGER      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
-  "  DISK_FILE_GID           INTEGER      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
-  "  SIZE_IN_BYTES           INTEGER      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
-  "  CHECKSUM_BLOB           BLOB(200),"
-  "  CHECKSUM_ADLER32        INTEGER      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
-  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
-  "  CREATION_TIME           INTEGER      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
-  "  RECONCILIATION_TIME     INTEGER      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
+  "  ARCHIVE_FILE_ID         NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
+  "  DISK_INSTANCE_NAME      VARCHAR2(100)    CONSTRAINT ARCHIVE_FILE_DIN_NN  NOT NULL,"
+  "  DISK_FILE_ID            VARCHAR2(100)    CONSTRAINT ARCHIVE_FILE_DFI_NN  NOT NULL,"
+  "  DISK_FILE_UID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
+  "  DISK_FILE_GID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
+  "  SIZE_IN_BYTES           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
+  "  CHECKSUM_BLOB           RAW(200),"
+  "  CHECKSUM_ADLER32        NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
+  "  CREATION_TIME           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
+  "  RECONCILIATION_TIME     NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
   "  IS_DELETED              CHAR(1)         DEFAULT '0' CONSTRAINT ARCHIVE_FILE_ID_NN NOT NULL,"
-  "  COLLOCATION_HINT        VARCHAR(100),"
+  "  COLLOCATION_HINT        VARCHAR2(100),"
   "  CONSTRAINT ARCHIVE_FILE_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
   "  CONSTRAINT ARCHIVE_FILE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
   "  CONSTRAINT ARCHIVE_FILE_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID),"
@@ -11298,13 +7996,13 @@ namespace catalogue{
   "CREATE INDEX ARCHIVE_FILE_DIN_IDX ON ARCHIVE_FILE(DISK_INSTANCE_NAME);"
   "CREATE INDEX ARCHIVE_FILE_DFI_IDX ON ARCHIVE_FILE(DISK_FILE_ID);"
   "CREATE TABLE TAPE_FILE("
-  "  VID                      VARCHAR(100)   CONSTRAINT TAPE_FILE_V_NN    NOT NULL,"
-  "  FSEQ                     INTEGER     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
-  "  BLOCK_ID                 INTEGER     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
-  "  LOGICAL_SIZE_IN_BYTES    INTEGER     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
-  "  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,"
+  "  VID                      VARCHAR2(100)   CONSTRAINT TAPE_FILE_V_NN    NOT NULL,"
+  "  FSEQ                     NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
+  "  BLOCK_ID                 NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
+  "  LOGICAL_SIZE_IN_BYTES    NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
+  "  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,"
   "  CONSTRAINT TAPE_FILE_PK PRIMARY KEY(VID, FSEQ),"
   "  CONSTRAINT TAPE_FILE_TAPE_FK FOREIGN KEY(VID)"
   "    REFERENCES TAPE(VID),"
@@ -11316,104 +8014,104 @@ namespace catalogue{
   "CREATE INDEX TAPE_FILE_VID_IDX ON TAPE_FILE(VID);"
   "CREATE INDEX TAPE_FILE_ARCHIVE_FILE_ID_IDX ON TAPE_FILE(ARCHIVE_FILE_ID);"
   "CREATE TABLE ACTIVITIES_WEIGHTS ("
-  "  DISK_INSTANCE_NAME       VARCHAR(100),"
-  "  ACTIVITY                 VARCHAR(100),"
-  "  WEIGHT                   VARCHAR(100),"
-  "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT ACTIV_WEIGHTS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME        INTEGER      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME         INTEGER      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
+  "  DISK_INSTANCE_NAME       VARCHAR2(100),"
+  "  ACTIVITY                 VARCHAR2(100),"
+  "  WEIGHT                   VARCHAR2(100),"
+  "  USER_COMMENT             VARCHAR2(1000)   CONSTRAINT ACTIV_WEIGHTS_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME   VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME   VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME        NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME    VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME    VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME         NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
   ");"
   "CREATE TABLE FILE_RECYCLE_LOG("
-  "  FILE_RECYCLE_LOG_ID        INTEGER          CONSTRAINT FILE_RECYCLE_LOG_ID_NN NOT NULL,"
-  "  VID                        VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_VID_NN NOT NULL,"
-  "  FSEQ                       INTEGER          CONSTRAINT FILE_RECYCLE_LOG_FSEQ_NN NOT NULL,"
-  "  BLOCK_ID                   INTEGER          CONSTRAINT FILE_RECYCLE_LOG_BID_NN NOT NULL,"
-  "  COPY_NB                    INTEGER           CONSTRAINT FILE_RECYCLE_LOG_COPY_NB_NN NOT NULL,"
-  "  TAPE_FILE_CREATION_TIME    INTEGER          CONSTRAINT FILE_RECYCLE_LOG_TFCT_NN NOT NULL,"
-  "  ARCHIVE_FILE_ID            INTEGER          CONSTRAINT FILE_RECYCLE_LOG_AFI_NN NOT NULL,"
-  "  DISK_INSTANCE_NAME         VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DIN_NN NOT NULL,"
-  "  DISK_FILE_ID               VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DFI_NN NOT NULL,"
-  "  DISK_FILE_ID_WHEN_DELETED  VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DFIWD_NN NOT NULL,"
-  "  DISK_FILE_UID              INTEGER          CONSTRAINT FILE_RECYCLE_LOG_DFU_NN NOT NULL,"
-  "  DISK_FILE_GID              INTEGER          CONSTRAINT FILE_RECYCLE_LOG_DFG_NN NOT NULL,"
-  "  SIZE_IN_BYTES              INTEGER          CONSTRAINT FILE_RECYCLE_LOG_SIB_NN NOT NULL,"
-  "  CHECKSUM_BLOB              BLOB(200),"
-  "  CHECKSUM_ADLER32           INTEGER          CONSTRAINT FILE_RECYCLE_LOG_CA_NN NOT NULL,"
-  "  STORAGE_CLASS_ID           INTEGER          CONSTRAINT FILE_RECYCLE_LOG_SCI_NN NOT NULL,"
-  "  ARCHIVE_FILE_CREATION_TIME INTEGER          CONSTRAINT FILE_RECYLE_LOG_CT_NN NOT NULL,"
-  "  RECONCILIATION_TIME        INTEGER          CONSTRAINT FILE_RECYCLE_LOG_RT_NN NOT NULL,"
-  "  COLLOCATION_HINT           VARCHAR(100),"
-  "  DISK_FILE_PATH             VARCHAR(2000),"
-  "  REASON_LOG                 VARCHAR(1000)       CONSTRAINT FILE_RECYCLE_LOG_RL_NN NOT NULL,"
-  "  RECYCLE_LOG_TIME           INTEGER          CONSTRAINT FILE_RECYCLE_LOG_RLT_NN NOT NULL,"
+  "  FILE_RECYCLE_LOG_ID        NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_ID_NN NOT NULL,"
+  "  VID                        VARCHAR2(100)        CONSTRAINT FILE_RECYCLE_LOG_VID_NN NOT NULL,"
+  "  FSEQ                       NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_FSEQ_NN NOT NULL,"
+  "  BLOCK_ID                   NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_BID_NN NOT NULL,"
+  "  COPY_NB                    NUMERIC(3, 0)           CONSTRAINT FILE_RECYCLE_LOG_COPY_NB_NN NOT NULL,"
+  "  TAPE_FILE_CREATION_TIME    NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_TFCT_NN NOT NULL,"
+  "  ARCHIVE_FILE_ID            NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_AFI_NN NOT NULL,"
+  "  DISK_INSTANCE_NAME         VARCHAR2(100)        CONSTRAINT FILE_RECYCLE_LOG_DIN_NN NOT NULL,"
+  "  DISK_FILE_ID               VARCHAR2(100)        CONSTRAINT FILE_RECYCLE_LOG_DFI_NN NOT NULL,"
+  "  DISK_FILE_ID_WHEN_DELETED  VARCHAR2(100)        CONSTRAINT FILE_RECYCLE_LOG_DFIWD_NN NOT NULL,"
+  "  DISK_FILE_UID              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_DFU_NN NOT NULL,"
+  "  DISK_FILE_GID              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_DFG_NN NOT NULL,"
+  "  SIZE_IN_BYTES              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_SIB_NN NOT NULL,"
+  "  CHECKSUM_BLOB              RAW(200),"
+  "  CHECKSUM_ADLER32           NUMERIC(10, 0)          CONSTRAINT FILE_RECYCLE_LOG_CA_NN NOT NULL,"
+  "  STORAGE_CLASS_ID           NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_SCI_NN NOT NULL,"
+  "  ARCHIVE_FILE_CREATION_TIME NUMERIC(20, 0)          CONSTRAINT FILE_RECYLE_LOG_CT_NN NOT NULL,"
+  "  RECONCILIATION_TIME        NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_RT_NN NOT NULL,"
+  "  COLLOCATION_HINT           VARCHAR2(100),"
+  "  DISK_FILE_PATH             VARCHAR2(2000),"
+  "  REASON_LOG                 VARCHAR2(1000)       CONSTRAINT FILE_RECYCLE_LOG_RL_NN NOT NULL,"
+  "  RECYCLE_LOG_TIME           NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_RLT_NN NOT NULL,"
   "  CONSTRAINT FILE_RECYCLE_LOG_PK PRIMARY KEY(FILE_RECYCLE_LOG_ID),"
   "  CONSTRAINT FILE_RECYCLE_LOG_VID_FK FOREIGN KEY(VID) REFERENCES TAPE(VID),"
   "  CONSTRAINT FILE_RECYCLE_LOG_SC_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID)"
   ");"
-  "CREATE INDEX FILE_RECYCLE_LOG_DFI_IDX ON FILE_RECYCLE_LOG(DISK_FILE_ID);"
-  ""
-  "CREATE TABLE DRIVE_CONFIG ("
-  "  DRIVE_NAME                  VARCHAR(100)       CONSTRAINT DRIVE_CONFIG_DN_NN  NOT NULL,"
-  "  CATEGORY                    VARCHAR(100)       CONSTRAINT DRIVE_CONFIG_C_NN   NOT NULL,"
-  "  KEY_NAME                    VARCHAR(100)       CONSTRAINT DRIVE_CONFIG_KN_NN  NOT NULL,"
-  "  VALUE                       VARCHAR(1000)      CONSTRAINT DRIVE_CONFIG_V_NN   NOT NULL,"
-  "  SOURCE                      VARCHAR(100)       CONSTRAINT DRIVE_CONFIG_S_NN   NOT NULL,"
+  "CREATE INDEX FILE_RECYCLE_LOG_DFI_IDX ON FILE_RECYCLE_LOG(DISK_FILE_ID);"
+  ""
+  "CREATE TABLE DRIVE_CONFIG ("
+  "  DRIVE_NAME                  VARCHAR2(100)       CONSTRAINT DRIVE_CONFIG_DN_NN  NOT NULL,"
+  "  CATEGORY                    VARCHAR2(100)       CONSTRAINT DRIVE_CONFIG_C_NN   NOT NULL,"
+  "  KEY_NAME                    VARCHAR2(100)       CONSTRAINT DRIVE_CONFIG_KN_NN  NOT NULL,"
+  "  VALUE                       VARCHAR2(1000)      CONSTRAINT DRIVE_CONFIG_V_NN   NOT NULL,"
+  "  SOURCE                      VARCHAR2(100)       CONSTRAINT DRIVE_CONFIG_S_NN   NOT NULL,"
   "  CONSTRAINT DRIVE_CONFIG_DN_PK PRIMARY KEY(KEY_NAME, DRIVE_NAME)"
   ");"
   ""
   "CREATE TABLE TAPE_DRIVE ("
-  "  DRIVE_NAME                  VARCHAR(100)       CONSTRAINT DRIVE_STATE_DN_NN NOT NULL,"
-  "  HOST                        VARCHAR(100)       CONSTRAINT DRIVE_STATE_H_NN  NOT NULL,"
-  "  LOGICAL_LIBRARY             VARCHAR(100)       CONSTRAINT DRIVE_STATE_LL_NN NOT NULL,"
-  "  SESSION_ID                  INTEGER,"
-  "  BYTES_TRANSFERED_IN_SESSION INTEGER,"
-  "  FILES_TRANSFERED_IN_SESSION INTEGER,"
-  "  LATEST_BANDWIDTH            VARCHAR(100),"
-  "  SESSION_START_TIME          INTEGER,"
-  "  MOUNT_START_TIME            INTEGER,"
-  "  TRANSFER_START_TIME         INTEGER,"
-  "  UNLOAD_START_TIME           INTEGER,"
-  "  UNMOUNT_START_TIME          INTEGER,"
-  "  DRAINING_START_TIME         INTEGER,"
-  "  DOWN_OR_UP_START_TIME       INTEGER,"
-  "  PROBE_START_TIME            INTEGER,"
-  "  CLEANUP_START_TIME          INTEGER,"
-  "  START_START_TIME            INTEGER,"
-  "  SHUTDOWN_TIME               INTEGER,"
-  "  MOUNT_TYPE                  INTEGER      CONSTRAINT DRIVE_STATE_MT_NN NOT NULL,"
-  "  DRIVE_STATUS                VARCHAR(100)    DEFAULT 'UNKNOWN' CONSTRAINT DRIVE_STATE_DS_NN NOT NULL,"
+  "  DRIVE_NAME                  VARCHAR2(100)       CONSTRAINT DRIVE_STATE_DN_NN NOT NULL,"
+  "  HOST                        VARCHAR2(100)       CONSTRAINT DRIVE_STATE_H_NN  NOT NULL,"
+  "  LOGICAL_LIBRARY             VARCHAR2(100)       CONSTRAINT DRIVE_STATE_LL_NN NOT NULL,"
+  "  SESSION_ID                  NUMERIC(20, 0),"
+  "  BYTES_TRANSFERED_IN_SESSION NUMERIC(20, 0),"
+  "  FILES_TRANSFERED_IN_SESSION NUMERIC(20, 0),"
+  "  LATEST_BANDWIDTH            VARCHAR2(100),"
+  "  SESSION_START_TIME          NUMERIC(20, 0),"
+  "  MOUNT_START_TIME            NUMERIC(20, 0),"
+  "  TRANSFER_START_TIME         NUMERIC(20, 0),"
+  "  UNLOAD_START_TIME           NUMERIC(20, 0),"
+  "  UNMOUNT_START_TIME          NUMERIC(20, 0),"
+  "  DRAINING_START_TIME         NUMERIC(20, 0),"
+  "  DOWN_OR_UP_START_TIME       NUMERIC(20, 0),"
+  "  PROBE_START_TIME            NUMERIC(20, 0),"
+  "  CLEANUP_START_TIME          NUMERIC(20, 0),"
+  "  START_START_TIME            NUMERIC(20, 0),"
+  "  SHUTDOWN_TIME               NUMERIC(20, 0),"
+  "  MOUNT_TYPE                  NUMERIC(10, 0)      CONSTRAINT DRIVE_STATE_MT_NN NOT NULL,"
+  "  DRIVE_STATUS                VARCHAR2(100)    DEFAULT 'UNKNOWN' CONSTRAINT DRIVE_STATE_DS_NN NOT NULL,"
   "  DESIRED_UP                  CHAR(1)         DEFAULT '0' CONSTRAINT DRIVE_STATE_DU_NN  NOT NULL,"
   "  DESIRED_FORCE_DOWN          CHAR(1)         DEFAULT '0' CONSTRAINT DRIVE_STATE_DFD_NN NOT NULL,"
-  "  REASON_UP_DOWN              VARCHAR(1000),"
-  "  CURRENT_VID                 VARCHAR(100),"
-  "  CTA_VERSION                 VARCHAR(100),"
-  "  CURRENT_PRIORITY            INTEGER,"
-  "  CURRENT_ACTIVITY            VARCHAR(100),"
-  "  CURRENT_ACTIVITY_WEIGHT     VARCHAR(100),"
-  "  CURRENT_TAPE_POOL           VARCHAR(100),"
-  "  NEXT_MOUNT_TYPE             INTEGER,"
-  "  NEXT_VID                    VARCHAR(100),"
-  "  NEXT_TAPE_POOL              VARCHAR(100),"
-  "  NEXT_PRIORITY               INTEGER,"
-  "  NEXT_ACTIVITY               VARCHAR(100),"
-  "  NEXT_ACTIVITY_WEIGHT        VARCHAR(100),"
-  "  DEV_FILE_NAME               VARCHAR(100),"
-  "  RAW_LIBRARY_SLOT            VARCHAR(100),"
-  "  CURRENT_VO                  VARCHAR(100),"
-  "  NEXT_VO                     VARCHAR(100),"
-  "  USER_COMMENT                VARCHAR(1000),"
-  "  CREATION_LOG_USER_NAME      VARCHAR(100),"
-  "  CREATION_LOG_HOST_NAME      VARCHAR(100),"
-  "  CREATION_LOG_TIME           INTEGER,"
-  "  LAST_UPDATE_USER_NAME       VARCHAR(100),"
-  "  LAST_UPDATE_HOST_NAME       VARCHAR(100),"
-  "  LAST_UPDATE_TIME            INTEGER,"
-  "  DISK_SYSTEM_NAME            VARCHAR(100)       CONSTRAINT DRIVE_STATE_DSN_NN NOT NULL,"
-  "  RESERVED_BYTES              INTEGER         CONSTRAINT DRIVE_STATE_RB_NN  NOT NULL,"
+  "  REASON_UP_DOWN              VARCHAR2(1000),"
+  "  CURRENT_VID                 VARCHAR2(100),"
+  "  CTA_VERSION                 VARCHAR2(100),"
+  "  CURRENT_PRIORITY            NUMERIC(20, 0),"
+  "  CURRENT_ACTIVITY            VARCHAR2(100),"
+  "  CURRENT_ACTIVITY_WEIGHT     VARCHAR2(100),"
+  "  CURRENT_TAPE_POOL           VARCHAR2(100),"
+  "  NEXT_MOUNT_TYPE             NUMERIC(10, 0),"
+  "  NEXT_VID                    VARCHAR2(100),"
+  "  NEXT_TAPE_POOL              VARCHAR2(100),"
+  "  NEXT_PRIORITY               NUMERIC(20, 0),"
+  "  NEXT_ACTIVITY               VARCHAR2(100),"
+  "  NEXT_ACTIVITY_WEIGHT        VARCHAR2(100),"
+  "  DEV_FILE_NAME               VARCHAR2(100),"
+  "  RAW_LIBRARY_SLOT            VARCHAR2(100),"
+  "  CURRENT_VO                  VARCHAR2(100),"
+  "  NEXT_VO                     VARCHAR2(100),"
+  "  USER_COMMENT                VARCHAR2(1000),"
+  "  CREATION_LOG_USER_NAME      VARCHAR2(100),"
+  "  CREATION_LOG_HOST_NAME      VARCHAR2(100),"
+  "  CREATION_LOG_TIME           NUMERIC(20, 0),"
+  "  LAST_UPDATE_USER_NAME       VARCHAR2(100),"
+  "  LAST_UPDATE_HOST_NAME       VARCHAR2(100),"
+  "  LAST_UPDATE_TIME            NUMERIC(20, 0),"
+  "  DISK_SYSTEM_NAME            VARCHAR2(100)       CONSTRAINT DRIVE_STATE_DSN_NN NOT NULL,"
+  "  RESERVED_BYTES              NUMERIC(20, 0)         CONSTRAINT DRIVE_STATE_RB_NN  NOT NULL,"
   "  CONSTRAINT DRIVE_STATE_DN_PK PRIMARY KEY(DRIVE_NAME),"
   "  CONSTRAINT DRIVE_STATE_DU_BOOL_CK CHECK(DESIRED_UP IN ('0', '1')),"
   "  CONSTRAINT DRIVE_STATE_DFD_BOOL_CK CHECK(DESIRED_FORCE_DOWN IN ('0', '1')),"
@@ -11429,61 +8127,36 @@ namespace catalogue{
   "  4,"
   "  1,"
   "  '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;"
       },
-  {"postgres",  "CREATE SEQUENCE ARCHIVE_FILE_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NO MAXVALUE"
-  "  MINVALUE 1"
-  "  NO CYCLE"
-  "  CACHE 20;"
-  "CREATE SEQUENCE LOGICAL_LIBRARY_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NO MAXVALUE"
-  "  MINVALUE 1"
-  "  NO CYCLE"
-  "  CACHE 20;"
-  "CREATE SEQUENCE MEDIA_TYPE_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NO MAXVALUE"
-  "  MINVALUE 1"
-  "  NO CYCLE"
-  "  CACHE 20;"
-  "CREATE SEQUENCE STORAGE_CLASS_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NO MAXVALUE"
-  "  MINVALUE 1"
-  "  NO CYCLE"
-  "  CACHE 20;"
-  "CREATE SEQUENCE TAPE_POOL_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NO MAXVALUE"
-  "  MINVALUE 1"
-  "  NO CYCLE"
-  "  CACHE 20;"
-  "CREATE SEQUENCE VIRTUAL_ORGANIZATION_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NO MAXVALUE"
-  "  MINVALUE 1"
-  "  NO CYCLE"
-  "  CACHE 20;"
-  "CREATE SEQUENCE FILE_RECYCLE_LOG_ID_SEQ"
-  "  INCREMENT BY 1"
-  "  START WITH 1"
-  "  NO MAXVALUE"
-  "  MINVALUE 1"
-  "  NO CYCLE"
-  "  CACHE 20;"
+  {"sqlite",  "CREATE TABLE ARCHIVE_FILE_ID("
+  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
+  ");"
+  "CREATE TABLE LOGICAL_LIBRARY_ID("
+  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
+  ");"
+  "CREATE TABLE MEDIA_TYPE_ID("
+  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
+  ");"
+  "CREATE TABLE STORAGE_CLASS_ID("
+  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
+  ");"
+  "CREATE TABLE TAPE_POOL_ID("
+  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
+  ");"
+  "CREATE TABLE VIRTUAL_ORGANIZATION_ID("
+  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
+  ");"
+  "CREATE TABLE FILE_RECYCLE_LOG_ID("
+  "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
+  ");"
   "CREATE TABLE CTA_CATALOGUE("
-  "  SCHEMA_VERSION_MAJOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
-  "  SCHEMA_VERSION_MINOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
-  "  NEXT_SCHEMA_VERSION_MAJOR NUMERIC(20, 0),"
-  "  NEXT_SCHEMA_VERSION_MINOR NUMERIC(20, 0),"
+  "  SCHEMA_VERSION_MAJOR    INTEGER      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
+  "  SCHEMA_VERSION_MINOR    INTEGER      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
+  "  NEXT_SCHEMA_VERSION_MAJOR INTEGER,"
+  "  NEXT_SCHEMA_VERSION_MINOR INTEGER,"
   "  STATUS                  VARCHAR(100),"
   "  IS_PRODUCTION           CHAR(1)         DEFAULT '0' CONSTRAINT CTA_CATALOGUE_IP_NN NOT NULL,"
   "  CONSTRAINT CTA_CATALOGUE_IP_BOOL_CK     CHECK(IS_PRODUCTION IN ('0','1'))"
@@ -11493,89 +8166,89 @@ namespace catalogue{
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
   "  CONSTRAINT ADMIN_USER_PK PRIMARY KEY(ADMIN_USER_NAME)"
   ");"
   "CREATE TABLE DISK_SYSTEM("
   "  DISK_SYSTEM_NAME        VARCHAR(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
   "  FILE_REGEXP             VARCHAR(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
   "  FREE_SPACE_QUERY_URL    VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
-  "  REFRESH_INTERVAL        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
-  "  TARGETED_FREE_SPACE     NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
-  "  SLEEP_TIME              NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
+  "  REFRESH_INTERVAL        INTEGER      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
+  "  TARGETED_FREE_SPACE     INTEGER      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
+  "  SLEEP_TIME              INTEGER      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
   "  CONSTRAINT NAME_PK PRIMARY KEY(DISK_SYSTEM_NAME)"
   ");"
   "CREATE TABLE VIRTUAL_ORGANIZATION("
-  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_VOI_NN  NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID INTEGER      CONSTRAINT VIRTUAL_ORGANIZATION_VOI_NN  NOT NULL,"
   "  VIRTUAL_ORGANIZATION_NAME VARCHAR(100)  CONSTRAINT VIRTUAL_ORGANIZATION_VON_NN  NOT NULL,"
-  "  READ_MAX_DRIVES NUMERIC(20, 0)              CONSTRAINT VIRTUAL_ORGANIZATION_RMD_NN  NOT NULL,"
-  "  WRITE_MAX_DRIVES NUMERIC(20, 0)             CONSTRAINT VIRTUAL_ORGANIZATION_WMD_NN  NOT NULL,"
+  "  READ_MAX_DRIVES INTEGER              CONSTRAINT VIRTUAL_ORGANIZATION_RMD_NN  NOT NULL,"
+  "  WRITE_MAX_DRIVES INTEGER             CONSTRAINT VIRTUAL_ORGANIZATION_WMD_NN  NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT VIRTUAL_ORGANIZATION_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT VIRTUAL_ORGANIZATION_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT VIRTUAL_ORGANIZATION_LUT_NN  NOT NULL,"
   "  CONSTRAINT VIRTUAL_ORGANIZATION_PK PRIMARY KEY(VIRTUAL_ORGANIZATION_ID),"
   "  CONSTRAINT VIRTUAL_ORGANIZATION_VON_UN UNIQUE(VIRTUAL_ORGANIZATION_NAME)"
   ");"
   "CREATE TABLE STORAGE_CLASS("
-  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
   "  STORAGE_CLASS_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
-  "  NB_COPIES               NUMERIC(3, 0)       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,"
+  "  NB_COPIES               INTEGER       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID INTEGER      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT STORAGE_CLASS_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
   "  CONSTRAINT STORAGE_CLASS_PK PRIMARY KEY(STORAGE_CLASS_ID),"
   "  CONSTRAINT STORAGE_CLASS_SCN_UN UNIQUE(STORAGE_CLASS_NAME),"
   "  CONSTRAINT STORAGE_CLASS_VOI_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
   ");"
   "CREATE TABLE TAPE_POOL("
-  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
+  "  TAPE_POOL_ID            INTEGER      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
   "  TAPE_POOL_NAME          VARCHAR(100)    CONSTRAINT TAPE_POOL_TPN_NN  NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_VOI_NN  NOT NULL,"
-  "  NB_PARTIAL_TAPES        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID INTEGER      CONSTRAINT TAPE_POOL_VOI_NN  NOT NULL,"
+  "  NB_PARTIAL_TAPES        INTEGER      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
   "  IS_ENCRYPTED            CHAR(1)         CONSTRAINT TAPE_POOL_IE_NN   NOT NULL,"
   "  SUPPLY                  VARCHAR(100),"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT TAPE_POOL_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
   "  CONSTRAINT TAPE_POOL_PK PRIMARY KEY(TAPE_POOL_ID),"
   "  CONSTRAINT TAPE_POOL_TPN_UN UNIQUE(TAPE_POOL_NAME),"
   "  CONSTRAINT TAPE_POOL_IS_ENCRYPTED_BOOL_CK CHECK(IS_ENCRYPTED IN ('0', '1')),"
   "  CONSTRAINT TAPE_POOL_VO_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
   ");"
   "CREATE TABLE ARCHIVE_ROUTE("
-  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
-  "  COPY_NB                 NUMERIC(3, 0)       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
-  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
+  "  COPY_NB                 INTEGER       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
+  "  TAPE_POOL_ID            INTEGER      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ARCHIVE_ROUTE_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
   "  CONSTRAINT ARCHIVE_ROUTE_PK PRIMARY KEY(STORAGE_CLASS_ID, COPY_NB),"
   "  CONSTRAINT ARCHIVE_ROUTE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
   "  CONSTRAINT ARCHIVE_ROUTE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
@@ -11583,77 +8256,77 @@ namespace catalogue{
   "  CONSTRAINT ARCHIVE_ROUTE_SCI_TPI_UN UNIQUE(STORAGE_CLASS_ID, TAPE_POOL_ID)"
   ");"
   "CREATE TABLE MEDIA_TYPE("
-  "  MEDIA_TYPE_ID          NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_MTI_NN  NOT NULL,"
+  "  MEDIA_TYPE_ID          INTEGER    CONSTRAINT MEDIA_TYPE_MTI_NN  NOT NULL,"
   "  MEDIA_TYPE_NAME        VARCHAR(100)  CONSTRAINT MEDIA_TYPE_MTN_NN  NOT NULL,"
   "  CARTRIDGE              VARCHAR(100)  CONSTRAINT MEDIA_TYPE_C_NN    NOT NULL,"
-  "  CAPACITY_IN_BYTES      NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_CIB_NN  NOT NULL,"
-  "  PRIMARY_DENSITY_CODE   NUMERIC(3, 0),"
-  "  SECONDARY_DENSITY_CODE NUMERIC(3, 0),"
-  "  NB_WRAPS               NUMERIC(10, 0),"
-  "  MIN_LPOS               NUMERIC(20, 0),"
-  "  MAX_LPOS               NUMERIC(20, 0),"
+  "  CAPACITY_IN_BYTES      INTEGER    CONSTRAINT MEDIA_TYPE_CIB_NN  NOT NULL,"
+  "  PRIMARY_DENSITY_CODE   INTEGER,"
+  "  SECONDARY_DENSITY_CODE INTEGER,"
+  "  NB_WRAPS               INTEGER,"
+  "  MIN_LPOS               INTEGER,"
+  "  MAX_LPOS               INTEGER,"
   "  USER_COMMENT           VARCHAR(1000) CONSTRAINT MEDIA_TYPE_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME VARCHAR(100)  CONSTRAINT MEDIA_TYPE_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME VARCHAR(100)  CONSTRAINT MEDIA_TYPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME      INTEGER    CONSTRAINT MEDIA_TYPE_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME  VARCHAR(100)  CONSTRAINT MEDIA_TYPE_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME  VARCHAR(100)  CONSTRAINT MEDIA_TYPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME       INTEGER    CONSTRAINT MEDIA_TYPE_LUT_NN  NOT NULL,"
   "  CONSTRAINT MEDIA_TYPE_PK PRIMARY KEY(MEDIA_TYPE_ID),"
   "  CONSTRAINT MEDIA_TYPE_MTN_UN UNIQUE(MEDIA_TYPE_NAME)"
   ");"
   "CREATE TABLE LOGICAL_LIBRARY("
-  "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
+  "  LOGICAL_LIBRARY_ID      INTEGER      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
   "  LOGICAL_LIBRARY_NAME    VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LLN_NN  NOT NULL,"
   "  IS_DISABLED             CHAR(1)         DEFAULT '0' CONSTRAINT LOGICAL_LIBRARY_ID_NN NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT LOGICAL_LIBRARY_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
   "  CONSTRAINT LOGICAL_LIBRARY_PK PRIMARY KEY(LOGICAL_LIBRARY_ID),"
   "  CONSTRAINT LOGICAL_LIBRARY_LLN_UN UNIQUE(LOGICAL_LIBRARY_NAME),"
   "  CONSTRAINT LOGICAL_LIBRARY_ID_BOOL_CK CHECK(IS_DISABLED IN ('0', '1'))"
   ");"
   "CREATE TABLE TAPE("
   "  VID                     VARCHAR(100)    CONSTRAINT TAPE_V_NN    NOT NULL,"
-  "  MEDIA_TYPE_ID           NUMERIC(20, 0)      CONSTRAINT TAPE_MTID_NN   NOT NULL,"
+  "  MEDIA_TYPE_ID           INTEGER      CONSTRAINT TAPE_MTID_NN   NOT NULL,"
   "  VENDOR                  VARCHAR(100)    CONSTRAINT TAPE_V2_NN   NOT NULL,"
-  "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
-  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
+  "  LOGICAL_LIBRARY_ID      INTEGER      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
+  "  TAPE_POOL_ID            INTEGER      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
   "  ENCRYPTION_KEY_NAME     VARCHAR(100),"
-  "  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,"
+  "  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_FULL                 CHAR(1)         CONSTRAINT TAPE_IF_NN   NOT NULL,"
   "  IS_FROM_CASTOR          CHAR(1)         CONSTRAINT TAPE_IFC_NN  NOT NULL,"
   "  DIRTY                   CHAR(1)         DEFAULT '1' CONSTRAINT TAPE_DIRTY_NN NOT NULL,"
-  "  NB_COPY_NB_1            NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_1_NN NOT NULL,"
-  "  COPY_NB_1_IN_BYTES      NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_1_IN_BYTES_NN NOT NULL,"
-  "  NB_COPY_NB_GT_1         NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_GT_1_NN NOT NULL,"
-  "  COPY_NB_GT_1_IN_BYTES   NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_GT_1_IN_BYTES_NN NOT NULL,"
+  "  NB_COPY_NB_1            INTEGER     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_1_NN NOT NULL,"
+  "  COPY_NB_1_IN_BYTES      INTEGER     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_1_IN_BYTES_NN NOT NULL,"
+  "  NB_COPY_NB_GT_1         INTEGER     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_GT_1_NN NOT NULL,"
+  "  COPY_NB_GT_1_IN_BYTES   INTEGER     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_GT_1_IN_BYTES_NN NOT NULL,"
   "  LABEL_DRIVE             VARCHAR(100),"
-  "  LABEL_TIME              NUMERIC(20, 0)    ,"
+  "  LABEL_TIME              INTEGER    ,"
   "  LAST_READ_DRIVE         VARCHAR(100),"
-  "  LAST_READ_TIME          NUMERIC(20, 0)    ,"
+  "  LAST_READ_TIME          INTEGER    ,"
   "  LAST_WRITE_DRIVE        VARCHAR(100),"
-  "  LAST_WRITE_TIME         NUMERIC(20, 0)    ,"
-  "  READ_MOUNT_COUNT        NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
-  "  WRITE_MOUNT_COUNT       NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
+  "  LAST_WRITE_TIME         INTEGER    ,"
+  "  READ_MOUNT_COUNT        INTEGER      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
+  "  WRITE_MOUNT_COUNT       INTEGER      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
   "  USER_COMMENT            VARCHAR(1000),"
   "  TAPE_STATE              VARCHAR(100)    CONSTRAINT TAPE_TS_NN NOT NULL,"
   "  STATE_REASON            VARCHAR(1000),"
-  "  STATE_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_SUT_NN NOT NULL,"
+  "  STATE_UPDATE_TIME       INTEGER      CONSTRAINT TAPE_SUT_NN NOT NULL,"
   "  STATE_MODIFIED_BY       VARCHAR(100)    CONSTRAINT TAPE_SMB_NN NOT NULL,"
   "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME       INTEGER      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME        INTEGER      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
   "  CONSTRAINT TAPE_PK PRIMARY KEY(VID),"
   "  CONSTRAINT TAPE_LOGICAL_LIBRARY_FK FOREIGN KEY(LOGICAL_LIBRARY_ID) REFERENCES LOGICAL_LIBRARY(LOGICAL_LIBRARY_ID),"
   "  CONSTRAINT TAPE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
@@ -11667,17 +8340,17 @@ namespace catalogue{
   "CREATE INDEX TAPE_STATE_IDX ON TAPE(TAPE_STATE);"
   "CREATE TABLE MOUNT_POLICY("
   "  MOUNT_POLICY_NAME          VARCHAR(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
-  "  ARCHIVE_PRIORITY           NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
-  "  ARCHIVE_MIN_REQUEST_AGE    NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
-  "  RETRIEVE_PRIORITY          NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
-  "  RETRIEVE_MIN_REQUEST_AGE   NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
+  "  ARCHIVE_PRIORITY           INTEGER      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
+  "  ARCHIVE_MIN_REQUEST_AGE    INTEGER      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
+  "  RETRIEVE_PRIORITY          INTEGER      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
+  "  RETRIEVE_MIN_REQUEST_AGE   INTEGER      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
   "  USER_COMMENT               VARCHAR(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME     VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME     VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME          NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME          INTEGER      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME      VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME      VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME           NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME           INTEGER      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
   "  CONSTRAINT MOUNT_POLICY_PK PRIMARY KEY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE REQUESTER_MOUNT_RULE("
@@ -11687,10 +8360,10 @@ namespace catalogue{
   "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_RULE_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME      INTEGER      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME       INTEGER      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
   "  CONSTRAINT RQSTER_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_NAME),"
   "  CONSTRAINT RQSTER_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
   "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
@@ -11702,26 +8375,26 @@ namespace catalogue{
   "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_GRP_RULE_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME      INTEGER      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
+  "  LAST_UPDATE_TIME       INTEGER      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
   "  CONSTRAINT RQSTER_GRP_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_GROUP_NAME),"
   "  CONSTRAINT RQSTER_GRP_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
   "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE ARCHIVE_FILE("
-  "  ARCHIVE_FILE_ID         NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
+  "  ARCHIVE_FILE_ID         INTEGER      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
   "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DIN_NN  NOT NULL,"
   "  DISK_FILE_ID            VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DFI_NN  NOT NULL,"
-  "  DISK_FILE_UID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
-  "  DISK_FILE_GID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
-  "  SIZE_IN_BYTES           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
-  "  CHECKSUM_BLOB           BYTEA,"
-  "  CHECKSUM_ADLER32        NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
-  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
-  "  CREATION_TIME           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
-  "  RECONCILIATION_TIME     NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
+  "  DISK_FILE_UID           INTEGER      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
+  "  DISK_FILE_GID           INTEGER      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
+  "  SIZE_IN_BYTES           INTEGER      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
+  "  CHECKSUM_BLOB           BLOB(200),"
+  "  CHECKSUM_ADLER32        INTEGER      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
+  "  CREATION_TIME           INTEGER      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
+  "  RECONCILIATION_TIME     INTEGER      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
   "  IS_DELETED              CHAR(1)         DEFAULT '0' CONSTRAINT ARCHIVE_FILE_ID_NN NOT NULL,"
   "  COLLOCATION_HINT        VARCHAR(100),"
   "  CONSTRAINT ARCHIVE_FILE_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
@@ -11733,12 +8406,12 @@ namespace catalogue{
   "CREATE INDEX ARCHIVE_FILE_DFI_IDX ON ARCHIVE_FILE(DISK_FILE_ID);"
   "CREATE TABLE TAPE_FILE("
   "  VID                      VARCHAR(100)   CONSTRAINT TAPE_FILE_V_NN    NOT NULL,"
-  "  FSEQ                     NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
-  "  BLOCK_ID                 NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
-  "  LOGICAL_SIZE_IN_BYTES    NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
-  "  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,"
+  "  FSEQ                     INTEGER     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
+  "  BLOCK_ID                 INTEGER     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
+  "  LOGICAL_SIZE_IN_BYTES    INTEGER     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
+  "  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,"
   "  CONSTRAINT TAPE_FILE_PK PRIMARY KEY(VID, FSEQ),"
   "  CONSTRAINT TAPE_FILE_TAPE_FK FOREIGN KEY(VID)"
   "    REFERENCES TAPE(VID),"
@@ -11756,34 +8429,34 @@ namespace catalogue{
   "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT ACTIV_WEIGHTS_UC_NN   NOT NULL,"
   "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL,"
   "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME        NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
+  "  CREATION_LOG_TIME        INTEGER      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
   "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL,"
   "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME         NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
+  "  LAST_UPDATE_TIME         INTEGER      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
   ");"
   "CREATE TABLE FILE_RECYCLE_LOG("
-  "  FILE_RECYCLE_LOG_ID        NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_ID_NN NOT NULL,"
+  "  FILE_RECYCLE_LOG_ID        INTEGER          CONSTRAINT FILE_RECYCLE_LOG_ID_NN NOT NULL,"
   "  VID                        VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_VID_NN NOT NULL,"
-  "  FSEQ                       NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_FSEQ_NN NOT NULL,"
-  "  BLOCK_ID                   NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_BID_NN NOT NULL,"
-  "  COPY_NB                    NUMERIC(3, 0)           CONSTRAINT FILE_RECYCLE_LOG_COPY_NB_NN NOT NULL,"
-  "  TAPE_FILE_CREATION_TIME    NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_TFCT_NN NOT NULL,"
-  "  ARCHIVE_FILE_ID            NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_AFI_NN NOT NULL,"
+  "  FSEQ                       INTEGER          CONSTRAINT FILE_RECYCLE_LOG_FSEQ_NN NOT NULL,"
+  "  BLOCK_ID                   INTEGER          CONSTRAINT FILE_RECYCLE_LOG_BID_NN NOT NULL,"
+  "  COPY_NB                    INTEGER           CONSTRAINT FILE_RECYCLE_LOG_COPY_NB_NN NOT NULL,"
+  "  TAPE_FILE_CREATION_TIME    INTEGER          CONSTRAINT FILE_RECYCLE_LOG_TFCT_NN NOT NULL,"
+  "  ARCHIVE_FILE_ID            INTEGER          CONSTRAINT FILE_RECYCLE_LOG_AFI_NN NOT NULL,"
   "  DISK_INSTANCE_NAME         VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DIN_NN NOT NULL,"
   "  DISK_FILE_ID               VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DFI_NN NOT NULL,"
   "  DISK_FILE_ID_WHEN_DELETED  VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DFIWD_NN NOT NULL,"
-  "  DISK_FILE_UID              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_DFU_NN NOT NULL,"
-  "  DISK_FILE_GID              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_DFG_NN NOT NULL,"
-  "  SIZE_IN_BYTES              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_SIB_NN NOT NULL,"
-  "  CHECKSUM_BLOB              BYTEA,"
-  "  CHECKSUM_ADLER32           NUMERIC(10, 0)          CONSTRAINT FILE_RECYCLE_LOG_CA_NN NOT NULL,"
-  "  STORAGE_CLASS_ID           NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_SCI_NN NOT NULL,"
-  "  ARCHIVE_FILE_CREATION_TIME NUMERIC(20, 0)          CONSTRAINT FILE_RECYLE_LOG_CT_NN NOT NULL,"
-  "  RECONCILIATION_TIME        NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_RT_NN NOT NULL,"
+  "  DISK_FILE_UID              INTEGER          CONSTRAINT FILE_RECYCLE_LOG_DFU_NN NOT NULL,"
+  "  DISK_FILE_GID              INTEGER          CONSTRAINT FILE_RECYCLE_LOG_DFG_NN NOT NULL,"
+  "  SIZE_IN_BYTES              INTEGER          CONSTRAINT FILE_RECYCLE_LOG_SIB_NN NOT NULL,"
+  "  CHECKSUM_BLOB              BLOB(200),"
+  "  CHECKSUM_ADLER32           INTEGER          CONSTRAINT FILE_RECYCLE_LOG_CA_NN NOT NULL,"
+  "  STORAGE_CLASS_ID           INTEGER          CONSTRAINT FILE_RECYCLE_LOG_SCI_NN NOT NULL,"
+  "  ARCHIVE_FILE_CREATION_TIME INTEGER          CONSTRAINT FILE_RECYLE_LOG_CT_NN NOT NULL,"
+  "  RECONCILIATION_TIME        INTEGER          CONSTRAINT FILE_RECYCLE_LOG_RT_NN NOT NULL,"
   "  COLLOCATION_HINT           VARCHAR(100),"
   "  DISK_FILE_PATH             VARCHAR(2000),"
   "  REASON_LOG                 VARCHAR(1000)       CONSTRAINT FILE_RECYCLE_LOG_RL_NN NOT NULL,"
-  "  RECYCLE_LOG_TIME           NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_RLT_NN NOT NULL,"
+  "  RECYCLE_LOG_TIME           INTEGER          CONSTRAINT FILE_RECYCLE_LOG_RLT_NN NOT NULL,"
   "  CONSTRAINT FILE_RECYCLE_LOG_PK PRIMARY KEY(FILE_RECYCLE_LOG_ID),"
   "  CONSTRAINT FILE_RECYCLE_LOG_VID_FK FOREIGN KEY(VID) REFERENCES TAPE(VID),"
   "  CONSTRAINT FILE_RECYCLE_LOG_SC_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID)"
@@ -11803,36 +8476,36 @@ namespace catalogue{
   "  DRIVE_NAME                  VARCHAR(100)       CONSTRAINT DRIVE_STATE_DN_NN NOT NULL,"
   "  HOST                        VARCHAR(100)       CONSTRAINT DRIVE_STATE_H_NN  NOT NULL,"
   "  LOGICAL_LIBRARY             VARCHAR(100)       CONSTRAINT DRIVE_STATE_LL_NN NOT NULL,"
-  "  SESSION_ID                  NUMERIC(20, 0),"
-  "  BYTES_TRANSFERED_IN_SESSION NUMERIC(20, 0),"
-  "  FILES_TRANSFERED_IN_SESSION NUMERIC(20, 0),"
+  "  SESSION_ID                  INTEGER,"
+  "  BYTES_TRANSFERED_IN_SESSION INTEGER,"
+  "  FILES_TRANSFERED_IN_SESSION INTEGER,"
   "  LATEST_BANDWIDTH            VARCHAR(100),"
-  "  SESSION_START_TIME          NUMERIC(20, 0),"
-  "  MOUNT_START_TIME            NUMERIC(20, 0),"
-  "  TRANSFER_START_TIME         NUMERIC(20, 0),"
-  "  UNLOAD_START_TIME           NUMERIC(20, 0),"
-  "  UNMOUNT_START_TIME          NUMERIC(20, 0),"
-  "  DRAINING_START_TIME         NUMERIC(20, 0),"
-  "  DOWN_OR_UP_START_TIME       NUMERIC(20, 0),"
-  "  PROBE_START_TIME            NUMERIC(20, 0),"
-  "  CLEANUP_START_TIME          NUMERIC(20, 0),"
-  "  START_START_TIME            NUMERIC(20, 0),"
-  "  SHUTDOWN_TIME               NUMERIC(20, 0),"
-  "  MOUNT_TYPE                  NUMERIC(10, 0)      CONSTRAINT DRIVE_STATE_MT_NN NOT NULL,"
+  "  SESSION_START_TIME          INTEGER,"
+  "  MOUNT_START_TIME            INTEGER,"
+  "  TRANSFER_START_TIME         INTEGER,"
+  "  UNLOAD_START_TIME           INTEGER,"
+  "  UNMOUNT_START_TIME          INTEGER,"
+  "  DRAINING_START_TIME         INTEGER,"
+  "  DOWN_OR_UP_START_TIME       INTEGER,"
+  "  PROBE_START_TIME            INTEGER,"
+  "  CLEANUP_START_TIME          INTEGER,"
+  "  START_START_TIME            INTEGER,"
+  "  SHUTDOWN_TIME               INTEGER,"
+  "  MOUNT_TYPE                  INTEGER      CONSTRAINT DRIVE_STATE_MT_NN NOT NULL,"
   "  DRIVE_STATUS                VARCHAR(100)    DEFAULT 'UNKNOWN' CONSTRAINT DRIVE_STATE_DS_NN NOT NULL,"
   "  DESIRED_UP                  CHAR(1)         DEFAULT '0' CONSTRAINT DRIVE_STATE_DU_NN  NOT NULL,"
   "  DESIRED_FORCE_DOWN          CHAR(1)         DEFAULT '0' CONSTRAINT DRIVE_STATE_DFD_NN NOT NULL,"
   "  REASON_UP_DOWN              VARCHAR(1000),"
   "  CURRENT_VID                 VARCHAR(100),"
   "  CTA_VERSION                 VARCHAR(100),"
-  "  CURRENT_PRIORITY            NUMERIC(20, 0),"
+  "  CURRENT_PRIORITY            INTEGER,"
   "  CURRENT_ACTIVITY            VARCHAR(100),"
   "  CURRENT_ACTIVITY_WEIGHT     VARCHAR(100),"
   "  CURRENT_TAPE_POOL           VARCHAR(100),"
-  "  NEXT_MOUNT_TYPE             NUMERIC(10, 0),"
+  "  NEXT_MOUNT_TYPE             INTEGER,"
   "  NEXT_VID                    VARCHAR(100),"
   "  NEXT_TAPE_POOL              VARCHAR(100),"
-  "  NEXT_PRIORITY               NUMERIC(20, 0),"
+  "  NEXT_PRIORITY               INTEGER,"
   "  NEXT_ACTIVITY               VARCHAR(100),"
   "  NEXT_ACTIVITY_WEIGHT        VARCHAR(100),"
   "  DEV_FILE_NAME               VARCHAR(100),"
@@ -11842,12 +8515,12 @@ namespace catalogue{
   "  USER_COMMENT                VARCHAR(1000),"
   "  CREATION_LOG_USER_NAME      VARCHAR(100),"
   "  CREATION_LOG_HOST_NAME      VARCHAR(100),"
-  "  CREATION_LOG_TIME           NUMERIC(20, 0),"
+  "  CREATION_LOG_TIME           INTEGER,"
   "  LAST_UPDATE_USER_NAME       VARCHAR(100),"
   "  LAST_UPDATE_HOST_NAME       VARCHAR(100),"
-  "  LAST_UPDATE_TIME            NUMERIC(20, 0),"
+  "  LAST_UPDATE_TIME            INTEGER,"
   "  DISK_SYSTEM_NAME            VARCHAR(100)       CONSTRAINT DRIVE_STATE_DSN_NN NOT NULL,"
-  "  RESERVED_BYTES              NUMERIC(20, 0)         CONSTRAINT DRIVE_STATE_RB_NN  NOT NULL,"
+  "  RESERVED_BYTES              INTEGER         CONSTRAINT DRIVE_STATE_RB_NN  NOT NULL,"
   "  CONSTRAINT DRIVE_STATE_DN_PK PRIMARY KEY(DRIVE_NAME),"
   "  CONSTRAINT DRIVE_STATE_DU_BOOL_CK CHECK(DESIRED_UP IN ('0', '1')),"
   "  CONSTRAINT DRIVE_STATE_DFD_BOOL_CK CHECK(DESIRED_FORCE_DOWN IN ('0', '1')),"
@@ -11863,146 +8536,118 @@ namespace catalogue{
   "  4,"
   "  1,"
   "  '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='PRODUCTION') OR (STATUS='UPGRADING'));"
       },
-    }  },
-  {"4.2",
-    {
-      {"oracle",  "CREATE SEQUENCE ARCHIVE_FILE_ID_SEQ"
+  {"postgres",  "CREATE SEQUENCE ARCHIVE_FILE_ID_SEQ"
   "  INCREMENT BY 1"
-  "  START WITH 4294967296"
-  "  NOMAXVALUE"
+  "  START WITH 1"
+  "  NO MAXVALUE"
   "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
+  "  NO CYCLE"
+  "  CACHE 20;"
   "CREATE SEQUENCE LOGICAL_LIBRARY_ID_SEQ"
   "  INCREMENT BY 1"
   "  START WITH 1"
-  "  NOMAXVALUE"
+  "  NO MAXVALUE"
   "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
+  "  NO CYCLE"
+  "  CACHE 20;"
   "CREATE SEQUENCE MEDIA_TYPE_ID_SEQ"
   "  INCREMENT BY 1"
   "  START WITH 1"
-  "  NOMAXVALUE"
+  "  NO MAXVALUE"
   "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
+  "  NO CYCLE"
+  "  CACHE 20;"
   "CREATE SEQUENCE STORAGE_CLASS_ID_SEQ"
   "  INCREMENT BY 1"
-  "  START WITH 10000"
-  "  NOMAXVALUE"
+  "  START WITH 1"
+  "  NO MAXVALUE"
   "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
+  "  NO CYCLE"
+  "  CACHE 20;"
   "CREATE SEQUENCE TAPE_POOL_ID_SEQ"
   "  INCREMENT BY 1"
   "  START WITH 1"
-  "  NOMAXVALUE"
+  "  NO MAXVALUE"
   "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
+  "  NO CYCLE"
+  "  CACHE 20;"
   "CREATE SEQUENCE VIRTUAL_ORGANIZATION_ID_SEQ"
   "  INCREMENT BY 1"
   "  START WITH 1"
-  "  NOMAXVALUE"
+  "  NO MAXVALUE"
   "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
+  "  NO CYCLE"
+  "  CACHE 20;"
   "CREATE SEQUENCE FILE_RECYCLE_LOG_ID_SEQ"
   "  INCREMENT BY 1"
   "  START WITH 1"
-  "  NOMAXVALUE"
+  "  NO MAXVALUE"
   "  MINVALUE 1"
-  "  NOCYCLE"
-  "  CACHE 20"
-  "  NOORDER;"
-  "CREATE GLOBAL TEMPORARY TABLE TEMP_TAPE_FILE_INSERTION_BATCH("
-  "  VID                   VARCHAR2(100),"
-  "  FSEQ                  NUMERIC(20, 0)  ,"
-  "  BLOCK_ID              NUMERIC(20, 0)  ,"
-  "  LOGICAL_SIZE_IN_BYTES NUMERIC(20, 0)  ,"
-  "  COPY_NB               NUMERIC(3, 0)   ,"
-  "  CREATION_TIME         NUMERIC(20, 0)  ,"
-  "  ARCHIVE_FILE_ID       NUMERIC(20, 0)"
-  ")"
-  "ON COMMIT DELETE ROWS;"
-  "CREATE INDEX TEMP_T_F_I_B_AFI_IDX ON TEMP_TAPE_FILE_INSERTION_BATCH(ARCHIVE_FILE_ID);"
+  "  NO CYCLE"
+  "  CACHE 20;"
   "CREATE TABLE CTA_CATALOGUE("
   "  SCHEMA_VERSION_MAJOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
   "  SCHEMA_VERSION_MINOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
   "  NEXT_SCHEMA_VERSION_MAJOR NUMERIC(20, 0),"
   "  NEXT_SCHEMA_VERSION_MINOR NUMERIC(20, 0),"
-  "  STATUS                  VARCHAR2(100),"
+  "  STATUS                  VARCHAR(100),"
   "  IS_PRODUCTION           CHAR(1)         DEFAULT '0' CONSTRAINT CTA_CATALOGUE_IP_NN NOT NULL,"
   "  CONSTRAINT CTA_CATALOGUE_IP_BOOL_CK     CHECK(IS_PRODUCTION IN ('0','1'))"
   ");"
   "CREATE TABLE ADMIN_USER("
-  "  ADMIN_USER_NAME         VARCHAR2(100)    CONSTRAINT ADMIN_USER_AUN_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
+  "  ADMIN_USER_NAME         VARCHAR(100)    CONSTRAINT ADMIN_USER_AUN_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
   "  CONSTRAINT ADMIN_USER_PK PRIMARY KEY(ADMIN_USER_NAME)"
   ");"
   "CREATE TABLE DISK_SYSTEM("
-  "  DISK_SYSTEM_NAME        VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
-  "  FILE_REGEXP             VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
-  "  FREE_SPACE_QUERY_URL    VARCHAR2(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
+  "  DISK_SYSTEM_NAME        VARCHAR(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
+  "  FILE_REGEXP             VARCHAR(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
+  "  FREE_SPACE_QUERY_URL    VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
   "  REFRESH_INTERVAL        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
   "  TARGETED_FREE_SPACE     NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
   "  SLEEP_TIME              NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
+  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
   "  CONSTRAINT NAME_PK PRIMARY KEY(DISK_SYSTEM_NAME)"
   ");"
   "CREATE TABLE VIRTUAL_ORGANIZATION("
   "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_VOI_NN  NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_NAME VARCHAR2(100)  CONSTRAINT VIRTUAL_ORGANIZATION_VON_NN  NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_NAME VARCHAR(100)  CONSTRAINT VIRTUAL_ORGANIZATION_VON_NN  NOT NULL,"
   "  READ_MAX_DRIVES NUMERIC(20, 0)              CONSTRAINT VIRTUAL_ORGANIZATION_RMD_NN  NOT NULL,"
   "  WRITE_MAX_DRIVES NUMERIC(20, 0)             CONSTRAINT VIRTUAL_ORGANIZATION_WMD_NN  NOT NULL,"
-  "  MAX_FILE_SIZE NUMERIC(20, 0)                CONSTRAINT VIRTUAL_ORGANIZATION_MFS_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT VIRTUAL_ORGANIZATION_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLHN_NN NOT NULL,"
+  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT VIRTUAL_ORGANIZATION_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_LUT_NN  NOT NULL,"
   "  CONSTRAINT VIRTUAL_ORGANIZATION_PK PRIMARY KEY(VIRTUAL_ORGANIZATION_ID),"
   "  CONSTRAINT VIRTUAL_ORGANIZATION_VON_UN UNIQUE(VIRTUAL_ORGANIZATION_NAME)"
   ");"
   "CREATE TABLE STORAGE_CLASS("
   "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
-  "  STORAGE_CLASS_NAME      VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
+  "  STORAGE_CLASS_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
   "  NB_COPIES               NUMERIC(3, 0)       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
   "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT STORAGE_CLASS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL,"
+  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT STORAGE_CLASS_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
   "  CONSTRAINT STORAGE_CLASS_PK PRIMARY KEY(STORAGE_CLASS_ID),"
   "  CONSTRAINT STORAGE_CLASS_SCN_UN UNIQUE(STORAGE_CLASS_NAME),"
@@ -12010,17 +8655,17 @@ namespace catalogue{
   ");"
   "CREATE TABLE TAPE_POOL("
   "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
-  "  TAPE_POOL_NAME          VARCHAR2(100)    CONSTRAINT TAPE_POOL_TPN_NN  NOT NULL,"
+  "  TAPE_POOL_NAME          VARCHAR(100)    CONSTRAINT TAPE_POOL_TPN_NN  NOT NULL,"
   "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_VOI_NN  NOT NULL,"
   "  NB_PARTIAL_TAPES        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
   "  IS_ENCRYPTED            CHAR(1)         CONSTRAINT TAPE_POOL_IE_NN   NOT NULL,"
-  "  SUPPLY                  VARCHAR2(100),"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT TAPE_POOL_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL,"
+  "  SUPPLY                  VARCHAR(100),"
+  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT TAPE_POOL_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
   "  CONSTRAINT TAPE_POOL_PK PRIMARY KEY(TAPE_POOL_ID),"
   "  CONSTRAINT TAPE_POOL_TPN_UN UNIQUE(TAPE_POOL_NAME),"
@@ -12031,12 +8676,12 @@ namespace catalogue{
   "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
   "  COPY_NB                 NUMERIC(3, 0)       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
   "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT ARCHIVE_ROUTE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL,"
+  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ARCHIVE_ROUTE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
   "  CONSTRAINT ARCHIVE_ROUTE_PK PRIMARY KEY(STORAGE_CLASS_ID, COPY_NB),"
   "  CONSTRAINT ARCHIVE_ROUTE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
@@ -12046,46 +8691,46 @@ namespace catalogue{
   ");"
   "CREATE TABLE MEDIA_TYPE("
   "  MEDIA_TYPE_ID          NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_MTI_NN  NOT NULL,"
-  "  MEDIA_TYPE_NAME        VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_MTN_NN  NOT NULL,"
-  "  CARTRIDGE              VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_C_NN    NOT NULL,"
+  "  MEDIA_TYPE_NAME        VARCHAR(100)  CONSTRAINT MEDIA_TYPE_MTN_NN  NOT NULL,"
+  "  CARTRIDGE              VARCHAR(100)  CONSTRAINT MEDIA_TYPE_C_NN    NOT NULL,"
   "  CAPACITY_IN_BYTES      NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_CIB_NN  NOT NULL,"
   "  PRIMARY_DENSITY_CODE   NUMERIC(3, 0),"
   "  SECONDARY_DENSITY_CODE NUMERIC(3, 0),"
   "  NB_WRAPS               NUMERIC(10, 0),"
   "  MIN_LPOS               NUMERIC(20, 0),"
   "  MAX_LPOS               NUMERIC(20, 0),"
-  "  USER_COMMENT           VARCHAR2(1000) CONSTRAINT MEDIA_TYPE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_CLHN_NN NOT NULL,"
+  "  USER_COMMENT           VARCHAR(1000) CONSTRAINT MEDIA_TYPE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME VARCHAR(100)  CONSTRAINT MEDIA_TYPE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME VARCHAR(100)  CONSTRAINT MEDIA_TYPE_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME      NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME  VARCHAR(100)  CONSTRAINT MEDIA_TYPE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)  CONSTRAINT MEDIA_TYPE_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME       NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_LUT_NN  NOT NULL,"
   "  CONSTRAINT MEDIA_TYPE_PK PRIMARY KEY(MEDIA_TYPE_ID),"
   "  CONSTRAINT MEDIA_TYPE_MTN_UN UNIQUE(MEDIA_TYPE_NAME)"
   ");"
   "CREATE TABLE LOGICAL_LIBRARY("
   "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
-  "  LOGICAL_LIBRARY_NAME    VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_LLN_NN  NOT NULL,"
+  "  LOGICAL_LIBRARY_NAME    VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LLN_NN  NOT NULL,"
   "  IS_DISABLED             CHAR(1)         DEFAULT '0' CONSTRAINT LOGICAL_LIBRARY_ID_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT LOGICAL_LIBRARY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL,"
+  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT LOGICAL_LIBRARY_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
   "  CONSTRAINT LOGICAL_LIBRARY_PK PRIMARY KEY(LOGICAL_LIBRARY_ID),"
   "  CONSTRAINT LOGICAL_LIBRARY_LLN_UN UNIQUE(LOGICAL_LIBRARY_NAME),"
   "  CONSTRAINT LOGICAL_LIBRARY_ID_BOOL_CK CHECK(IS_DISABLED IN ('0', '1'))"
   ");"
   "CREATE TABLE TAPE("
-  "  VID                     VARCHAR2(100)    CONSTRAINT TAPE_V_NN    NOT NULL,"
+  "  VID                     VARCHAR(100)    CONSTRAINT TAPE_V_NN    NOT NULL,"
   "  MEDIA_TYPE_ID           NUMERIC(20, 0)      CONSTRAINT TAPE_MTID_NN   NOT NULL,"
-  "  VENDOR                  VARCHAR2(100)    CONSTRAINT TAPE_V2_NN   NOT NULL,"
+  "  VENDOR                  VARCHAR(100)    CONSTRAINT TAPE_V2_NN   NOT NULL,"
   "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
   "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
-  "  ENCRYPTION_KEY_NAME     VARCHAR2(100),"
+  "  ENCRYPTION_KEY_NAME     VARCHAR(100),"
   "  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,"
@@ -12097,24 +8742,24 @@ namespace catalogue{
   "  COPY_NB_1_IN_BYTES      NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_1_IN_BYTES_NN NOT NULL,"
   "  NB_COPY_NB_GT_1         NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_GT_1_NN NOT NULL,"
   "  COPY_NB_GT_1_IN_BYTES   NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_GT_1_IN_BYTES_NN NOT NULL,"
-  "  LABEL_DRIVE             VARCHAR2(100),"
+  "  LABEL_DRIVE             VARCHAR(100),"
   "  LABEL_TIME              NUMERIC(20, 0)    ,"
-  "  LAST_READ_DRIVE         VARCHAR2(100),"
+  "  LAST_READ_DRIVE         VARCHAR(100),"
   "  LAST_READ_TIME          NUMERIC(20, 0)    ,"
-  "  LAST_WRITE_DRIVE        VARCHAR2(100),"
+  "  LAST_WRITE_DRIVE        VARCHAR(100),"
   "  LAST_WRITE_TIME         NUMERIC(20, 0)    ,"
   "  READ_MOUNT_COUNT        NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
   "  WRITE_MOUNT_COUNT       NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR2(1000),"
-  "  TAPE_STATE              VARCHAR2(100)    CONSTRAINT TAPE_TS_NN NOT NULL,"
-  "  STATE_REASON            VARCHAR2(1000),"
+  "  USER_COMMENT            VARCHAR(1000),"
+  "  TAPE_STATE              VARCHAR(100)    CONSTRAINT TAPE_TS_NN NOT NULL,"
+  "  STATE_REASON            VARCHAR(1000),"
   "  STATE_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_SUT_NN NOT NULL,"
-  "  STATE_MODIFIED_BY       VARCHAR2(100)    CONSTRAINT TAPE_SMB_NN NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
+  "  STATE_MODIFIED_BY       VARCHAR(100)    CONSTRAINT TAPE_SMB_NN NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT TAPE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT TAPE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
   "  CONSTRAINT TAPE_PK PRIMARY KEY(VID),"
   "  CONSTRAINT TAPE_LOGICAL_LIBRARY_FK FOREIGN KEY(LOGICAL_LIBRARY_ID) REFERENCES LOGICAL_LIBRARY(LOGICAL_LIBRARY_ID),"
@@ -12128,45 +8773,45 @@ namespace catalogue{
   "CREATE INDEX TAPE_TAPE_POOL_ID_IDX ON TAPE(TAPE_POOL_ID);"
   "CREATE INDEX TAPE_STATE_IDX ON TAPE(TAPE_STATE);"
   "CREATE TABLE MOUNT_POLICY("
-  "  MOUNT_POLICY_NAME          VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
+  "  MOUNT_POLICY_NAME          VARCHAR(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
   "  ARCHIVE_PRIORITY           NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
   "  ARCHIVE_MIN_REQUEST_AGE    NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
   "  RETRIEVE_PRIORITY          NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
   "  RETRIEVE_MIN_REQUEST_AGE   NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
-  "  USER_COMMENT               VARCHAR2(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME     VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME     VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
+  "  USER_COMMENT               VARCHAR(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME     VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME     VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME          NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME      VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME      VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME      VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME      VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME           NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
   "  CONSTRAINT MOUNT_POLICY_PK PRIMARY KEY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE REQUESTER_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR2(100)    CONSTRAINT RQSTER_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_NAME         VARCHAR2(100)    CONSTRAINT RQSTER_RULE_RN_NN   NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR2(100)    CONSTRAINT RQSTER_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR2(1000)   CONSTRAINT RQSTER_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR2(100)    CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR2(100)    CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL,"
+  "  DISK_INSTANCE_NAME     VARCHAR(100)    CONSTRAINT RQSTER_RULE_DIN_NN  NOT NULL,"
+  "  REQUESTER_NAME         VARCHAR(100)    CONSTRAINT RQSTER_RULE_RN_NN   NOT NULL,"
+  "  MOUNT_POLICY_NAME      VARCHAR(100)    CONSTRAINT RQSTER_RULE_MPN_NN  NOT NULL,"
+  "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_RULE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
   "  CONSTRAINT RQSTER_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_NAME),"
   "  CONSTRAINT RQSTER_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
   "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE REQUESTER_GROUP_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_GROUP_NAME   VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_RGN_NN  NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR2(1000)   CONSTRAINT RQSTER_GRP_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL,"
+  "  DISK_INSTANCE_NAME     VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_DIN_NN  NOT NULL,"
+  "  REQUESTER_GROUP_NAME   VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_RGN_NN  NOT NULL,"
+  "  MOUNT_POLICY_NAME      VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_MPN_NN  NOT NULL,"
+  "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_GRP_RULE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
   "  CONSTRAINT RQSTER_GRP_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_GROUP_NAME),"
   "  CONSTRAINT RQSTER_GRP_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
@@ -12174,18 +8819,18 @@ namespace catalogue{
   ");"
   "CREATE TABLE ARCHIVE_FILE("
   "  ARCHIVE_FILE_ID         NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
-  "  DISK_INSTANCE_NAME      VARCHAR2(100)    CONSTRAINT ARCHIVE_FILE_DIN_NN  NOT NULL,"
-  "  DISK_FILE_ID            VARCHAR2(100)    CONSTRAINT ARCHIVE_FILE_DFI_NN  NOT NULL,"
+  "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DIN_NN  NOT NULL,"
+  "  DISK_FILE_ID            VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DFI_NN  NOT NULL,"
   "  DISK_FILE_UID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
   "  DISK_FILE_GID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
   "  SIZE_IN_BYTES           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
-  "  CHECKSUM_BLOB           RAW(200),"
+  "  CHECKSUM_BLOB           BYTEA,"
   "  CHECKSUM_ADLER32        NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
   "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
   "  CREATION_TIME           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
   "  RECONCILIATION_TIME     NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
   "  IS_DELETED              CHAR(1)         DEFAULT '0' CONSTRAINT ARCHIVE_FILE_ID_NN NOT NULL,"
-  "  COLLOCATION_HINT        VARCHAR2(100),"
+  "  COLLOCATION_HINT        VARCHAR(100),"
   "  CONSTRAINT ARCHIVE_FILE_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
   "  CONSTRAINT ARCHIVE_FILE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
   "  CONSTRAINT ARCHIVE_FILE_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID),"
@@ -12194,7 +8839,7 @@ namespace catalogue{
   "CREATE INDEX ARCHIVE_FILE_DIN_IDX ON ARCHIVE_FILE(DISK_INSTANCE_NAME);"
   "CREATE INDEX ARCHIVE_FILE_DFI_IDX ON ARCHIVE_FILE(DISK_FILE_ID);"
   "CREATE TABLE TAPE_FILE("
-  "  VID                      VARCHAR2(100)   CONSTRAINT TAPE_FILE_V_NN    NOT NULL,"
+  "  VID                      VARCHAR(100)   CONSTRAINT TAPE_FILE_V_NN    NOT NULL,"
   "  FSEQ                     NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
   "  BLOCK_ID                 NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
   "  LOGICAL_SIZE_IN_BYTES    NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
@@ -12212,39 +8857,39 @@ namespace catalogue{
   "CREATE INDEX TAPE_FILE_VID_IDX ON TAPE_FILE(VID);"
   "CREATE INDEX TAPE_FILE_ARCHIVE_FILE_ID_IDX ON TAPE_FILE(ARCHIVE_FILE_ID);"
   "CREATE TABLE ACTIVITIES_WEIGHTS ("
-  "  DISK_INSTANCE_NAME       VARCHAR2(100),"
-  "  ACTIVITY                 VARCHAR2(100),"
-  "  WEIGHT                   VARCHAR2(100),"
-  "  USER_COMMENT             VARCHAR2(1000)   CONSTRAINT ACTIV_WEIGHTS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME   VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME   VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL,"
+  "  DISK_INSTANCE_NAME       VARCHAR(100),"
+  "  ACTIVITY                 VARCHAR(100),"
+  "  WEIGHT                   VARCHAR(100),"
+  "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT ACTIV_WEIGHTS_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL,"
   "  CREATION_LOG_TIME        NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME    VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME    VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL,"
   "  LAST_UPDATE_TIME         NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
   ");"
   "CREATE TABLE FILE_RECYCLE_LOG("
   "  FILE_RECYCLE_LOG_ID        NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_ID_NN NOT NULL,"
-  "  VID                        VARCHAR2(100)        CONSTRAINT FILE_RECYCLE_LOG_VID_NN NOT NULL,"
+  "  VID                        VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_VID_NN NOT NULL,"
   "  FSEQ                       NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_FSEQ_NN NOT NULL,"
   "  BLOCK_ID                   NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_BID_NN NOT NULL,"
   "  COPY_NB                    NUMERIC(3, 0)           CONSTRAINT FILE_RECYCLE_LOG_COPY_NB_NN NOT NULL,"
   "  TAPE_FILE_CREATION_TIME    NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_TFCT_NN NOT NULL,"
   "  ARCHIVE_FILE_ID            NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_AFI_NN NOT NULL,"
-  "  DISK_INSTANCE_NAME         VARCHAR2(100)        CONSTRAINT FILE_RECYCLE_LOG_DIN_NN NOT NULL,"
-  "  DISK_FILE_ID               VARCHAR2(100)        CONSTRAINT FILE_RECYCLE_LOG_DFI_NN NOT NULL,"
-  "  DISK_FILE_ID_WHEN_DELETED  VARCHAR2(100)        CONSTRAINT FILE_RECYCLE_LOG_DFIWD_NN NOT NULL,"
+  "  DISK_INSTANCE_NAME         VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DIN_NN NOT NULL,"
+  "  DISK_FILE_ID               VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DFI_NN NOT NULL,"
+  "  DISK_FILE_ID_WHEN_DELETED  VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DFIWD_NN NOT NULL,"
   "  DISK_FILE_UID              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_DFU_NN NOT NULL,"
   "  DISK_FILE_GID              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_DFG_NN NOT NULL,"
   "  SIZE_IN_BYTES              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_SIB_NN NOT NULL,"
-  "  CHECKSUM_BLOB              RAW(200),"
+  "  CHECKSUM_BLOB              BYTEA,"
   "  CHECKSUM_ADLER32           NUMERIC(10, 0)          CONSTRAINT FILE_RECYCLE_LOG_CA_NN NOT NULL,"
   "  STORAGE_CLASS_ID           NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_SCI_NN NOT NULL,"
   "  ARCHIVE_FILE_CREATION_TIME NUMERIC(20, 0)          CONSTRAINT FILE_RECYLE_LOG_CT_NN NOT NULL,"
   "  RECONCILIATION_TIME        NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_RT_NN NOT NULL,"
-  "  COLLOCATION_HINT           VARCHAR2(100),"
-  "  DISK_FILE_PATH             VARCHAR2(2000),"
-  "  REASON_LOG                 VARCHAR2(1000)       CONSTRAINT FILE_RECYCLE_LOG_RL_NN NOT NULL,"
+  "  COLLOCATION_HINT           VARCHAR(100),"
+  "  DISK_FILE_PATH             VARCHAR(2000),"
+  "  REASON_LOG                 VARCHAR(1000)       CONSTRAINT FILE_RECYCLE_LOG_RL_NN NOT NULL,"
   "  RECYCLE_LOG_TIME           NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_RLT_NN NOT NULL,"
   "  CONSTRAINT FILE_RECYCLE_LOG_PK PRIMARY KEY(FILE_RECYCLE_LOG_ID),"
   "  CONSTRAINT FILE_RECYCLE_LOG_VID_FK FOREIGN KEY(VID) REFERENCES TAPE(VID),"
@@ -12253,22 +8898,22 @@ namespace catalogue{
   "CREATE INDEX FILE_RECYCLE_LOG_DFI_IDX ON FILE_RECYCLE_LOG(DISK_FILE_ID);"
   ""
   "CREATE TABLE DRIVE_CONFIG ("
-  "  DRIVE_NAME                  VARCHAR2(100)       CONSTRAINT DRIVE_CONFIG_DN_NN  NOT NULL,"
-  "  CATEGORY                    VARCHAR2(100)       CONSTRAINT DRIVE_CONFIG_C_NN   NOT NULL,"
-  "  KEY_NAME                    VARCHAR2(100)       CONSTRAINT DRIVE_CONFIG_KN_NN  NOT NULL,"
-  "  VALUE                       VARCHAR2(1000)      CONSTRAINT DRIVE_CONFIG_V_NN   NOT NULL,"
-  "  SOURCE                      VARCHAR2(100)       CONSTRAINT DRIVE_CONFIG_S_NN   NOT NULL,"
+  "  DRIVE_NAME                  VARCHAR(100)       CONSTRAINT DRIVE_CONFIG_DN_NN  NOT NULL,"
+  "  CATEGORY                    VARCHAR(100)       CONSTRAINT DRIVE_CONFIG_C_NN   NOT NULL,"
+  "  KEY_NAME                    VARCHAR(100)       CONSTRAINT DRIVE_CONFIG_KN_NN  NOT NULL,"
+  "  VALUE                       VARCHAR(1000)      CONSTRAINT DRIVE_CONFIG_V_NN   NOT NULL,"
+  "  SOURCE                      VARCHAR(100)       CONSTRAINT DRIVE_CONFIG_S_NN   NOT NULL,"
   "  CONSTRAINT DRIVE_CONFIG_DN_PK PRIMARY KEY(KEY_NAME, DRIVE_NAME)"
   ");"
   ""
   "CREATE TABLE TAPE_DRIVE ("
-  "  DRIVE_NAME                  VARCHAR2(100)       CONSTRAINT DRIVE_STATE_DN_NN NOT NULL,"
-  "  HOST                        VARCHAR2(100)       CONSTRAINT DRIVE_STATE_H_NN  NOT NULL,"
-  "  LOGICAL_LIBRARY             VARCHAR2(100)       CONSTRAINT DRIVE_STATE_LL_NN NOT NULL,"
+  "  DRIVE_NAME                  VARCHAR(100)       CONSTRAINT DRIVE_STATE_DN_NN NOT NULL,"
+  "  HOST                        VARCHAR(100)       CONSTRAINT DRIVE_STATE_H_NN  NOT NULL,"
+  "  LOGICAL_LIBRARY             VARCHAR(100)       CONSTRAINT DRIVE_STATE_LL_NN NOT NULL,"
   "  SESSION_ID                  NUMERIC(20, 0),"
   "  BYTES_TRANSFERED_IN_SESSION NUMERIC(20, 0),"
   "  FILES_TRANSFERED_IN_SESSION NUMERIC(20, 0),"
-  "  LATEST_BANDWIDTH            VARCHAR2(100),"
+  "  LATEST_BANDWIDTH            VARCHAR(100),"
   "  SESSION_START_TIME          NUMERIC(20, 0),"
   "  MOUNT_START_TIME            NUMERIC(20, 0),"
   "  TRANSFER_START_TIME         NUMERIC(20, 0),"
@@ -12281,34 +8926,34 @@ namespace catalogue{
   "  START_START_TIME            NUMERIC(20, 0),"
   "  SHUTDOWN_TIME               NUMERIC(20, 0),"
   "  MOUNT_TYPE                  NUMERIC(10, 0)      CONSTRAINT DRIVE_STATE_MT_NN NOT NULL,"
-  "  DRIVE_STATUS                VARCHAR2(100)    DEFAULT 'UNKNOWN' CONSTRAINT DRIVE_STATE_DS_NN NOT NULL,"
+  "  DRIVE_STATUS                VARCHAR(100)    DEFAULT 'UNKNOWN' CONSTRAINT DRIVE_STATE_DS_NN NOT NULL,"
   "  DESIRED_UP                  CHAR(1)         DEFAULT '0' CONSTRAINT DRIVE_STATE_DU_NN  NOT NULL,"
   "  DESIRED_FORCE_DOWN          CHAR(1)         DEFAULT '0' CONSTRAINT DRIVE_STATE_DFD_NN NOT NULL,"
-  "  REASON_UP_DOWN              VARCHAR2(1000),"
-  "  CURRENT_VID                 VARCHAR2(100),"
-  "  CTA_VERSION                 VARCHAR2(100),"
+  "  REASON_UP_DOWN              VARCHAR(1000),"
+  "  CURRENT_VID                 VARCHAR(100),"
+  "  CTA_VERSION                 VARCHAR(100),"
   "  CURRENT_PRIORITY            NUMERIC(20, 0),"
-  "  CURRENT_ACTIVITY            VARCHAR2(100),"
-  "  CURRENT_ACTIVITY_WEIGHT     VARCHAR2(100),"
-  "  CURRENT_TAPE_POOL           VARCHAR2(100),"
+  "  CURRENT_ACTIVITY            VARCHAR(100),"
+  "  CURRENT_ACTIVITY_WEIGHT     VARCHAR(100),"
+  "  CURRENT_TAPE_POOL           VARCHAR(100),"
   "  NEXT_MOUNT_TYPE             NUMERIC(10, 0),"
-  "  NEXT_VID                    VARCHAR2(100),"
-  "  NEXT_TAPE_POOL              VARCHAR2(100),"
+  "  NEXT_VID                    VARCHAR(100),"
+  "  NEXT_TAPE_POOL              VARCHAR(100),"
   "  NEXT_PRIORITY               NUMERIC(20, 0),"
-  "  NEXT_ACTIVITY               VARCHAR2(100),"
-  "  NEXT_ACTIVITY_WEIGHT        VARCHAR2(100),"
-  "  DEV_FILE_NAME               VARCHAR2(100),"
-  "  RAW_LIBRARY_SLOT            VARCHAR2(100),"
-  "  CURRENT_VO                  VARCHAR2(100),"
-  "  NEXT_VO                     VARCHAR2(100),"
-  "  USER_COMMENT                VARCHAR2(1000),"
-  "  CREATION_LOG_USER_NAME      VARCHAR2(100),"
-  "  CREATION_LOG_HOST_NAME      VARCHAR2(100),"
+  "  NEXT_ACTIVITY               VARCHAR(100),"
+  "  NEXT_ACTIVITY_WEIGHT        VARCHAR(100),"
+  "  DEV_FILE_NAME               VARCHAR(100),"
+  "  RAW_LIBRARY_SLOT            VARCHAR(100),"
+  "  CURRENT_VO                  VARCHAR(100),"
+  "  NEXT_VO                     VARCHAR(100),"
+  "  USER_COMMENT                VARCHAR(1000),"
+  "  CREATION_LOG_USER_NAME      VARCHAR(100),"
+  "  CREATION_LOG_HOST_NAME      VARCHAR(100),"
   "  CREATION_LOG_TIME           NUMERIC(20, 0),"
-  "  LAST_UPDATE_USER_NAME       VARCHAR2(100),"
-  "  LAST_UPDATE_HOST_NAME       VARCHAR2(100),"
+  "  LAST_UPDATE_USER_NAME       VARCHAR(100),"
+  "  LAST_UPDATE_HOST_NAME       VARCHAR(100),"
   "  LAST_UPDATE_TIME            NUMERIC(20, 0),"
-  "  DISK_SYSTEM_NAME            VARCHAR2(100)       CONSTRAINT DRIVE_STATE_DSN_NN NOT NULL,"
+  "  DISK_SYSTEM_NAME            VARCHAR(100)       CONSTRAINT DRIVE_STATE_DSN_NN NOT NULL,"
   "  RESERVED_BYTES              NUMERIC(20, 0)         CONSTRAINT DRIVE_STATE_RB_NN  NOT NULL,"
   "  CONSTRAINT DRIVE_STATE_DN_PK PRIMARY KEY(DRIVE_NAME),"
   "  CONSTRAINT DRIVE_STATE_DU_BOOL_CK CHECK(DESIRED_UP IN ('0', '1')),"
@@ -12323,145 +8968,183 @@ namespace catalogue{
   "  STATUS)"
   "VALUES("
   "  4,"
-  "  2,"
+  "  1,"
   "  '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;"
+  "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='PRODUCTION') OR (STATUS='UPGRADING'));"
       },
-  {"mysql",  "CREATE TABLE ARCHIVE_FILE_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT ARCHIVE_FILE_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO ARCHIVE_FILE_ID(ID) VALUES(1);"
-  "CREATE TABLE LOGICAL_LIBRARY_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT LOGICAL_LIBRARY_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO LOGICAL_LIBRARY_ID(ID) VALUES(1);"
-  "CREATE TABLE MEDIA_TYPE_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT MEDIA_TYPE_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO MEDIA_TYPE_ID(ID) VALUES(1);"
-  "CREATE TABLE STORAGE_CLASS_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT STORAGE_CLASS_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO STORAGE_CLASS_ID(ID) VALUES(1);"
-  "CREATE TABLE TAPE_POOL_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT TAPE_POOL_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO TAPE_POOL_ID(ID) VALUES(1);"
-  "CREATE TABLE VIRTUAL_ORGANIZATION_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT VIRTUAL_ORGANIZATION_ID_PK PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO VIRTUAL_ORGANIZATION_ID(ID) VALUES(1);"
-  "CREATE TABLE FILE_RECYCLE_LOG_ID("
-  "  ID BIGINT UNSIGNED,"
-  "  CONSTRAINT FILE_RECYCLE_LOG_ID PRIMARY KEY(ID)"
-  ");"
-  "INSERT INTO FILE_RECYCLE_LOG_ID(ID) VALUES (1);"
+    }  },
+  {"4.2",
+    {
+      {"oracle",  "CREATE SEQUENCE ARCHIVE_FILE_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 4294967296"
+  "  NOMAXVALUE"
+  "  MINVALUE 1"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
+  "CREATE SEQUENCE LOGICAL_LIBRARY_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NOMAXVALUE"
+  "  MINVALUE 1"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
+  "CREATE SEQUENCE MEDIA_TYPE_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NOMAXVALUE"
+  "  MINVALUE 1"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
+  "CREATE SEQUENCE STORAGE_CLASS_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 10000"
+  "  NOMAXVALUE"
+  "  MINVALUE 1"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
+  "CREATE SEQUENCE TAPE_POOL_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NOMAXVALUE"
+  "  MINVALUE 1"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
+  "CREATE SEQUENCE VIRTUAL_ORGANIZATION_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NOMAXVALUE"
+  "  MINVALUE 1"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
+  "CREATE SEQUENCE FILE_RECYCLE_LOG_ID_SEQ"
+  "  INCREMENT BY 1"
+  "  START WITH 1"
+  "  NOMAXVALUE"
+  "  MINVALUE 1"
+  "  NOCYCLE"
+  "  CACHE 20"
+  "  NOORDER;"
+  "CREATE GLOBAL TEMPORARY TABLE TEMP_TAPE_FILE_INSERTION_BATCH("
+  "  VID                   VARCHAR2(100),"
+  "  FSEQ                  NUMERIC(20, 0)  ,"
+  "  BLOCK_ID              NUMERIC(20, 0)  ,"
+  "  LOGICAL_SIZE_IN_BYTES NUMERIC(20, 0)  ,"
+  "  COPY_NB               NUMERIC(3, 0)   ,"
+  "  CREATION_TIME         NUMERIC(20, 0)  ,"
+  "  ARCHIVE_FILE_ID       NUMERIC(20, 0)"
+  ")"
+  "ON COMMIT DELETE ROWS;"
+  "CREATE INDEX TEMP_T_F_I_B_AFI_IDX ON TEMP_TAPE_FILE_INSERTION_BATCH(ARCHIVE_FILE_ID);"
   "CREATE TABLE CTA_CATALOGUE("
-  "  SCHEMA_VERSION_MAJOR    BIGINT UNSIGNED      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
-  "  SCHEMA_VERSION_MINOR    BIGINT UNSIGNED      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
-  "  NEXT_SCHEMA_VERSION_MAJOR BIGINT UNSIGNED,"
-  "  NEXT_SCHEMA_VERSION_MINOR BIGINT UNSIGNED,"
-  "  STATUS                  VARCHAR(100),"
+  "  SCHEMA_VERSION_MAJOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM1_NN NOT NULL,"
+  "  SCHEMA_VERSION_MINOR    NUMERIC(20, 0)      CONSTRAINT CTA_CATALOGUE_SVM2_NN NOT NULL,"
+  "  NEXT_SCHEMA_VERSION_MAJOR NUMERIC(20, 0),"
+  "  NEXT_SCHEMA_VERSION_MINOR NUMERIC(20, 0),"
+  "  STATUS                  VARCHAR2(100),"
   "  IS_PRODUCTION           CHAR(1)         DEFAULT '0' CONSTRAINT CTA_CATALOGUE_IP_NN NOT NULL,"
   "  CONSTRAINT CTA_CATALOGUE_IP_BOOL_CK     CHECK(IS_PRODUCTION IN ('0','1'))"
   ");"
   "CREATE TABLE ADMIN_USER("
-  "  ADMIN_USER_NAME         VARCHAR(100)    CONSTRAINT ADMIN_USER_AUN_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
+  "  ADMIN_USER_NAME         VARCHAR2(100)    CONSTRAINT ADMIN_USER_AUN_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT ADMIN_USER_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT ADMIN_USER_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT ADMIN_USER_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT ADMIN_USER_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT ADMIN_USER_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ADMIN_USER_LUT_NN  NOT NULL,"
   "  CONSTRAINT ADMIN_USER_PK PRIMARY KEY(ADMIN_USER_NAME)"
   ");"
   "CREATE TABLE DISK_SYSTEM("
-  "  DISK_SYSTEM_NAME        VARCHAR(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
-  "  FILE_REGEXP             VARCHAR(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
-  "  FREE_SPACE_QUERY_URL    VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
-  "  REFRESH_INTERVAL        BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
-  "  TARGETED_FREE_SPACE     BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
-  "  SLEEP_TIME              BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
+  "  DISK_SYSTEM_NAME        VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_DSNM_NN NOT NULL,"
+  "  FILE_REGEXP             VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_FR_NN   NOT NULL,"
+  "  FREE_SPACE_QUERY_URL    VARCHAR2(1000)   CONSTRAINT DISK_SYSTEM_FSQU_NN NOT NULL,"
+  "  REFRESH_INTERVAL        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_RI_NN   NOT NULL,"
+  "  TARGETED_FREE_SPACE     NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_TFS_NN  NOT NULL,"
+  "  SLEEP_TIME              NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_ST_NN   NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT DISK_SYSTEM_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT DISK_SYSTEM_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT DISK_SYSTEM_LUT_NN  NOT NULL,"
   "  CONSTRAINT NAME_PK PRIMARY KEY(DISK_SYSTEM_NAME)"
   ");"
   "CREATE TABLE VIRTUAL_ORGANIZATION("
-  "  VIRTUAL_ORGANIZATION_ID BIGINT UNSIGNED      CONSTRAINT VIRTUAL_ORGANIZATION_VOI_NN  NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_NAME VARCHAR(100)  CONSTRAINT VIRTUAL_ORGANIZATION_VON_NN  NOT NULL,"
-  "  READ_MAX_DRIVES BIGINT UNSIGNED              CONSTRAINT VIRTUAL_ORGANIZATION_RMD_NN  NOT NULL,"
-  "  WRITE_MAX_DRIVES BIGINT UNSIGNED             CONSTRAINT VIRTUAL_ORGANIZATION_WMD_NN  NOT NULL,"
-  "  MAX_FILE_SIZE BIGINT UNSIGNED                CONSTRAINT VIRTUAL_ORGANIZATION_MFS_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT VIRTUAL_ORGANIZATION_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT VIRTUAL_ORGANIZATION_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT VIRTUAL_ORGANIZATION_LUT_NN  NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_VOI_NN  NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_NAME VARCHAR2(100)  CONSTRAINT VIRTUAL_ORGANIZATION_VON_NN  NOT NULL,"
+  "  READ_MAX_DRIVES NUMERIC(20, 0)              CONSTRAINT VIRTUAL_ORGANIZATION_RMD_NN  NOT NULL,"
+  "  WRITE_MAX_DRIVES NUMERIC(20, 0)             CONSTRAINT VIRTUAL_ORGANIZATION_WMD_NN  NOT NULL,"
+  "  MAX_FILE_SIZE NUMERIC(20, 0)                CONSTRAINT VIRTUAL_ORGANIZATION_MFS_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT VIRTUAL_ORGANIZATION_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT VIRTUAL_ORGANIZATION_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT VIRTUAL_ORGANIZATION_LUT_NN  NOT NULL,"
   "  CONSTRAINT VIRTUAL_ORGANIZATION_PK PRIMARY KEY(VIRTUAL_ORGANIZATION_ID),"
   "  CONSTRAINT VIRTUAL_ORGANIZATION_VON_UN UNIQUE(VIRTUAL_ORGANIZATION_NAME)"
   ");"
   "CREATE TABLE STORAGE_CLASS("
-  "  STORAGE_CLASS_ID        BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
-  "  STORAGE_CLASS_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
-  "  NB_COPIES               TINYINT UNSIGNED       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT STORAGE_CLASS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
+  "  STORAGE_CLASS_NAME      VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
+  "  NB_COPIES               NUMERIC(3, 0)       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT STORAGE_CLASS_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_LUT_NN  NOT NULL,"
   "  CONSTRAINT STORAGE_CLASS_PK PRIMARY KEY(STORAGE_CLASS_ID),"
   "  CONSTRAINT STORAGE_CLASS_SCN_UN UNIQUE(STORAGE_CLASS_NAME),"
   "  CONSTRAINT STORAGE_CLASS_VOI_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
   ");"
   "CREATE TABLE TAPE_POOL("
-  "  TAPE_POOL_ID            BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
-  "  TAPE_POOL_NAME          VARCHAR(100)    CONSTRAINT TAPE_POOL_TPN_NN  NOT NULL,"
-  "  VIRTUAL_ORGANIZATION_ID BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_VOI_NN  NOT NULL,"
-  "  NB_PARTIAL_TAPES        BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
+  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_TPI_NN  NOT NULL,"
+  "  TAPE_POOL_NAME          VARCHAR2(100)    CONSTRAINT TAPE_POOL_TPN_NN  NOT NULL,"
+  "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_VOI_NN  NOT NULL,"
+  "  NB_PARTIAL_TAPES        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_NPT_NN  NOT NULL,"
   "  IS_ENCRYPTED            CHAR(1)         CONSTRAINT TAPE_POOL_IE_NN   NOT NULL,"
-  "  SUPPLY                  VARCHAR(100),"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT TAPE_POOL_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
+  "  SUPPLY                  VARCHAR2(100),"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT TAPE_POOL_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT TAPE_POOL_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT TAPE_POOL_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT TAPE_POOL_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT TAPE_POOL_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_POOL_LUT_NN  NOT NULL,"
   "  CONSTRAINT TAPE_POOL_PK PRIMARY KEY(TAPE_POOL_ID),"
   "  CONSTRAINT TAPE_POOL_TPN_UN UNIQUE(TAPE_POOL_NAME),"
   "  CONSTRAINT TAPE_POOL_IS_ENCRYPTED_BOOL_CK CHECK(IS_ENCRYPTED IN ('0', '1')),"
   "  CONSTRAINT TAPE_POOL_VO_FK FOREIGN KEY(VIRTUAL_ORGANIZATION_ID) REFERENCES VIRTUAL_ORGANIZATION(VIRTUAL_ORGANIZATION_ID)"
   ");"
   "CREATE TABLE ARCHIVE_ROUTE("
-  "  STORAGE_CLASS_ID        BIGINT UNSIGNED      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
-  "  COPY_NB                 TINYINT UNSIGNED       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
-  "  TAPE_POOL_ID            BIGINT UNSIGNED      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT ARCHIVE_ROUTE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_SCI_NN  NOT NULL,"
+  "  COPY_NB                 NUMERIC(3, 0)       CONSTRAINT ARCHIVE_ROUTE_CN_NN   NOT NULL,"
+  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_TPI_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT ARCHIVE_ROUTE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT ARCHIVE_ROUTE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_ROUTE_LUT_NN  NOT NULL,"
   "  CONSTRAINT ARCHIVE_ROUTE_PK PRIMARY KEY(STORAGE_CLASS_ID, COPY_NB),"
   "  CONSTRAINT ARCHIVE_ROUTE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
   "  CONSTRAINT ARCHIVE_ROUTE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
@@ -12469,77 +9152,77 @@ namespace catalogue{
   "  CONSTRAINT ARCHIVE_ROUTE_SCI_TPI_UN UNIQUE(STORAGE_CLASS_ID, TAPE_POOL_ID)"
   ");"
   "CREATE TABLE MEDIA_TYPE("
-  "  MEDIA_TYPE_ID          BIGINT UNSIGNED    CONSTRAINT MEDIA_TYPE_MTI_NN  NOT NULL,"
-  "  MEDIA_TYPE_NAME        VARCHAR(100)  CONSTRAINT MEDIA_TYPE_MTN_NN  NOT NULL,"
-  "  CARTRIDGE              VARCHAR(100)  CONSTRAINT MEDIA_TYPE_C_NN    NOT NULL,"
-  "  CAPACITY_IN_BYTES      BIGINT UNSIGNED    CONSTRAINT MEDIA_TYPE_CIB_NN  NOT NULL,"
-  "  PRIMARY_DENSITY_CODE   TINYINT UNSIGNED,"
-  "  SECONDARY_DENSITY_CODE TINYINT UNSIGNED,"
-  "  NB_WRAPS               INT UNSIGNED,"
-  "  MIN_LPOS               BIGINT UNSIGNED,"
-  "  MAX_LPOS               BIGINT UNSIGNED,"
-  "  USER_COMMENT           VARCHAR(1000) CONSTRAINT MEDIA_TYPE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR(100)  CONSTRAINT MEDIA_TYPE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR(100)  CONSTRAINT MEDIA_TYPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      BIGINT UNSIGNED    CONSTRAINT MEDIA_TYPE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR(100)  CONSTRAINT MEDIA_TYPE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)  CONSTRAINT MEDIA_TYPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       BIGINT UNSIGNED    CONSTRAINT MEDIA_TYPE_LUT_NN  NOT NULL,"
+  "  MEDIA_TYPE_ID          NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_MTI_NN  NOT NULL,"
+  "  MEDIA_TYPE_NAME        VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_MTN_NN  NOT NULL,"
+  "  CARTRIDGE              VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_C_NN    NOT NULL,"
+  "  CAPACITY_IN_BYTES      NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_CIB_NN  NOT NULL,"
+  "  PRIMARY_DENSITY_CODE   NUMERIC(3, 0),"
+  "  SECONDARY_DENSITY_CODE NUMERIC(3, 0),"
+  "  NB_WRAPS               NUMERIC(10, 0),"
+  "  MIN_LPOS               NUMERIC(20, 0),"
+  "  MAX_LPOS               NUMERIC(20, 0),"
+  "  USER_COMMENT           VARCHAR2(1000) CONSTRAINT MEDIA_TYPE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME      NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME  VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME  VARCHAR2(100)  CONSTRAINT MEDIA_TYPE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME       NUMERIC(20, 0)    CONSTRAINT MEDIA_TYPE_LUT_NN  NOT NULL,"
   "  CONSTRAINT MEDIA_TYPE_PK PRIMARY KEY(MEDIA_TYPE_ID),"
   "  CONSTRAINT MEDIA_TYPE_MTN_UN UNIQUE(MEDIA_TYPE_NAME)"
   ");"
   "CREATE TABLE LOGICAL_LIBRARY("
-  "  LOGICAL_LIBRARY_ID      BIGINT UNSIGNED      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
-  "  LOGICAL_LIBRARY_NAME    VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LLN_NN  NOT NULL,"
+  "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LLI_NN  NOT NULL,"
+  "  LOGICAL_LIBRARY_NAME    VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_LLN_NN  NOT NULL,"
   "  IS_DISABLED             CHAR(1)         DEFAULT '0' CONSTRAINT LOGICAL_LIBRARY_ID_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000)   CONSTRAINT LOGICAL_LIBRARY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000)   CONSTRAINT LOGICAL_LIBRARY_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT LOGICAL_LIBRARY_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT LOGICAL_LIBRARY_LUT_NN  NOT NULL,"
   "  CONSTRAINT LOGICAL_LIBRARY_PK PRIMARY KEY(LOGICAL_LIBRARY_ID),"
   "  CONSTRAINT LOGICAL_LIBRARY_LLN_UN UNIQUE(LOGICAL_LIBRARY_NAME),"
   "  CONSTRAINT LOGICAL_LIBRARY_ID_BOOL_CK CHECK(IS_DISABLED IN ('0', '1'))"
-  ");"
-  "CREATE TABLE TAPE("
-  "  VID                     VARCHAR(100)    CONSTRAINT TAPE_V_NN    NOT NULL,"
-  "  MEDIA_TYPE_ID           BIGINT UNSIGNED      CONSTRAINT TAPE_MTID_NN   NOT NULL,"
-  "  VENDOR                  VARCHAR(100)    CONSTRAINT TAPE_V2_NN   NOT NULL,"
-  "  LOGICAL_LIBRARY_ID      BIGINT UNSIGNED      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
-  "  TAPE_POOL_ID            BIGINT UNSIGNED      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
-  "  ENCRYPTION_KEY_NAME     VARCHAR(100),"
-  "  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,"
+  ");"
+  "CREATE TABLE TAPE("
+  "  VID                     VARCHAR2(100)    CONSTRAINT TAPE_V_NN    NOT NULL,"
+  "  MEDIA_TYPE_ID           NUMERIC(20, 0)      CONSTRAINT TAPE_MTID_NN   NOT NULL,"
+  "  VENDOR                  VARCHAR2(100)    CONSTRAINT TAPE_V2_NN   NOT NULL,"
+  "  LOGICAL_LIBRARY_ID      NUMERIC(20, 0)      CONSTRAINT TAPE_LLI_NN  NOT NULL,"
+  "  TAPE_POOL_ID            NUMERIC(20, 0)      CONSTRAINT TAPE_TPI_NN  NOT NULL,"
+  "  ENCRYPTION_KEY_NAME     VARCHAR2(100),"
+  "  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_FULL                 CHAR(1)         CONSTRAINT TAPE_IF_NN   NOT NULL,"
   "  IS_FROM_CASTOR          CHAR(1)         CONSTRAINT TAPE_IFC_NN  NOT NULL,"
   "  DIRTY                   CHAR(1)         DEFAULT '1' CONSTRAINT TAPE_DIRTY_NN NOT NULL,"
-  "  NB_COPY_NB_1            BIGINT UNSIGNED     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_1_NN NOT NULL,"
-  "  COPY_NB_1_IN_BYTES      BIGINT UNSIGNED     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_1_IN_BYTES_NN NOT NULL,"
-  "  NB_COPY_NB_GT_1         BIGINT UNSIGNED     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_GT_1_NN NOT NULL,"
-  "  COPY_NB_GT_1_IN_BYTES   BIGINT UNSIGNED     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_GT_1_IN_BYTES_NN NOT NULL,"
-  "  LABEL_DRIVE             VARCHAR(100),"
-  "  LABEL_TIME              BIGINT UNSIGNED    ,"
-  "  LAST_READ_DRIVE         VARCHAR(100),"
-  "  LAST_READ_TIME          BIGINT UNSIGNED    ,"
-  "  LAST_WRITE_DRIVE        VARCHAR(100),"
-  "  LAST_WRITE_TIME         BIGINT UNSIGNED    ,"
-  "  READ_MOUNT_COUNT        BIGINT UNSIGNED      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
-  "  WRITE_MOUNT_COUNT       BIGINT UNSIGNED      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
-  "  USER_COMMENT            VARCHAR(1000),"
-  "  TAPE_STATE              VARCHAR(100)    CONSTRAINT TAPE_TS_NN NOT NULL,"
-  "  STATE_REASON            VARCHAR(1000),"
-  "  STATE_UPDATE_TIME       BIGINT UNSIGNED      CONSTRAINT TAPE_SUT_NN NOT NULL,"
-  "  STATE_MODIFIED_BY       VARCHAR(100)    CONSTRAINT TAPE_SMB_NN NOT NULL,"
-  "  CREATION_LOG_USER_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME  VARCHAR(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME       BIGINT UNSIGNED      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME   VARCHAR(100)    CONSTRAINT TAPE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME        BIGINT UNSIGNED      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
+  "  NB_COPY_NB_1            NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_1_NN NOT NULL,"
+  "  COPY_NB_1_IN_BYTES      NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_1_IN_BYTES_NN NOT NULL,"
+  "  NB_COPY_NB_GT_1         NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_NB_COPY_NB_GT_1_NN NOT NULL,"
+  "  COPY_NB_GT_1_IN_BYTES   NUMERIC(20, 0)     DEFAULT 0 CONSTRAINT TAPE_COPY_NB_GT_1_IN_BYTES_NN NOT NULL,"
+  "  LABEL_DRIVE             VARCHAR2(100),"
+  "  LABEL_TIME              NUMERIC(20, 0)    ,"
+  "  LAST_READ_DRIVE         VARCHAR2(100),"
+  "  LAST_READ_TIME          NUMERIC(20, 0)    ,"
+  "  LAST_WRITE_DRIVE        VARCHAR2(100),"
+  "  LAST_WRITE_TIME         NUMERIC(20, 0)    ,"
+  "  READ_MOUNT_COUNT        NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_RMC_NN NOT NULL,"
+  "  WRITE_MOUNT_COUNT       NUMERIC(20, 0)      DEFAULT 0 CONSTRAINT TAPE_WMC_NN NOT NULL,"
+  "  USER_COMMENT            VARCHAR2(1000),"
+  "  TAPE_STATE              VARCHAR2(100)    CONSTRAINT TAPE_TS_NN NOT NULL,"
+  "  STATE_REASON            VARCHAR2(1000),"
+  "  STATE_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_SUT_NN NOT NULL,"
+  "  STATE_MODIFIED_BY       VARCHAR2(100)    CONSTRAINT TAPE_SMB_NN NOT NULL,"
+  "  CREATION_LOG_USER_NAME  VARCHAR2(100)    CONSTRAINT TAPE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME  VARCHAR2(100)    CONSTRAINT TAPE_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME       NUMERIC(20, 0)      CONSTRAINT TAPE_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME   VARCHAR2(100)    CONSTRAINT TAPE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME   VARCHAR2(100)    CONSTRAINT TAPE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME        NUMERIC(20, 0)      CONSTRAINT TAPE_LUT_NN  NOT NULL,"
   "  CONSTRAINT TAPE_PK PRIMARY KEY(VID),"
   "  CONSTRAINT TAPE_LOGICAL_LIBRARY_FK FOREIGN KEY(LOGICAL_LIBRARY_ID) REFERENCES LOGICAL_LIBRARY(LOGICAL_LIBRARY_ID),"
   "  CONSTRAINT TAPE_TAPE_POOL_FK FOREIGN KEY(TAPE_POOL_ID) REFERENCES TAPE_POOL(TAPE_POOL_ID),"
@@ -12552,64 +9235,64 @@ namespace catalogue{
   "CREATE INDEX TAPE_TAPE_POOL_ID_IDX ON TAPE(TAPE_POOL_ID);"
   "CREATE INDEX TAPE_STATE_IDX ON TAPE(TAPE_STATE);"
   "CREATE TABLE MOUNT_POLICY("
-  "  MOUNT_POLICY_NAME          VARCHAR(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
-  "  ARCHIVE_PRIORITY           BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
-  "  ARCHIVE_MIN_REQUEST_AGE    BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
-  "  RETRIEVE_PRIORITY          BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
-  "  RETRIEVE_MIN_REQUEST_AGE   BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
-  "  USER_COMMENT               VARCHAR(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME     VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME     VARCHAR(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME          BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME      VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME      VARCHAR(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME           BIGINT UNSIGNED      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
+  "  MOUNT_POLICY_NAME          VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_MPN_NN  NOT NULL,"
+  "  ARCHIVE_PRIORITY           NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AP_NN   NOT NULL,"
+  "  ARCHIVE_MIN_REQUEST_AGE    NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_AMRA_NN NOT NULL,"
+  "  RETRIEVE_PRIORITY          NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RP_NN   NOT NULL,"
+  "  RETRIEVE_MIN_REQUEST_AGE   NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_RMRA_NN NOT NULL,"
+  "  USER_COMMENT               VARCHAR2(1000)   CONSTRAINT MOUNT_POLICY_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME     VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME     VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME          NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME      VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME      VARCHAR2(100)    CONSTRAINT MOUNT_POLICY_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME           NUMERIC(20, 0)      CONSTRAINT MOUNT_POLICY_LUT_NN  NOT NULL,"
   "  CONSTRAINT MOUNT_POLICY_PK PRIMARY KEY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE REQUESTER_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR(100)    CONSTRAINT RQSTER_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_NAME         VARCHAR(100)    CONSTRAINT RQSTER_RULE_RN_NN   NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR(100)    CONSTRAINT RQSTER_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      BIGINT UNSIGNED      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       BIGINT UNSIGNED      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
+  "  DISK_INSTANCE_NAME     VARCHAR2(100)    CONSTRAINT RQSTER_RULE_DIN_NN  NOT NULL,"
+  "  REQUESTER_NAME         VARCHAR2(100)    CONSTRAINT RQSTER_RULE_RN_NN   NOT NULL,"
+  "  MOUNT_POLICY_NAME      VARCHAR2(100)    CONSTRAINT RQSTER_RULE_MPN_NN  NOT NULL,"
+  "  USER_COMMENT           VARCHAR2(1000)   CONSTRAINT RQSTER_RULE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME VARCHAR2(100)    CONSTRAINT RQSTER_RULE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME VARCHAR2(100)    CONSTRAINT RQSTER_RULE_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_RULE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_RULE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_RULE_LUT_NN  NOT NULL,"
   "  CONSTRAINT RQSTER_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_NAME),"
   "  CONSTRAINT RQSTER_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
   "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE REQUESTER_GROUP_MOUNT_RULE("
-  "  DISK_INSTANCE_NAME     VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_DIN_NN  NOT NULL,"
-  "  REQUESTER_GROUP_NAME   VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_RGN_NN  NOT NULL,"
-  "  MOUNT_POLICY_NAME      VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_MPN_NN  NOT NULL,"
-  "  USER_COMMENT           VARCHAR(1000)   CONSTRAINT RQSTER_GRP_RULE_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME      BIGINT UNSIGNED      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME  VARCHAR(100)    CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME       BIGINT UNSIGNED      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
+  "  DISK_INSTANCE_NAME     VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_DIN_NN  NOT NULL,"
+  "  REQUESTER_GROUP_NAME   VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_RGN_NN  NOT NULL,"
+  "  MOUNT_POLICY_NAME      VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_MPN_NN  NOT NULL,"
+  "  USER_COMMENT           VARCHAR2(1000)   CONSTRAINT RQSTER_GRP_RULE_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME      NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME  VARCHAR2(100)    CONSTRAINT RQSTER_GRP_RULE_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME       NUMERIC(20, 0)      CONSTRAINT RQSTER_GRP_RULE_LUT_NN  NOT NULL,"
   "  CONSTRAINT RQSTER_GRP_RULE_PK PRIMARY KEY(DISK_INSTANCE_NAME, REQUESTER_GROUP_NAME),"
   "  CONSTRAINT RQSTER_GRP_RULE_MNT_PLC_FK FOREIGN KEY(MOUNT_POLICY_NAME)"
   "    REFERENCES MOUNT_POLICY(MOUNT_POLICY_NAME)"
   ");"
   "CREATE TABLE ARCHIVE_FILE("
-  "  ARCHIVE_FILE_ID         BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
-  "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DIN_NN  NOT NULL,"
-  "  DISK_FILE_ID            VARCHAR(100)    CONSTRAINT ARCHIVE_FILE_DFI_NN  NOT NULL,"
-  "  DISK_FILE_UID           INT UNSIGNED      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
-  "  DISK_FILE_GID           INT UNSIGNED      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
-  "  SIZE_IN_BYTES           BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
-  "  CHECKSUM_BLOB           VARBINARY(200),"
-  "  CHECKSUM_ADLER32        INT UNSIGNED      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
-  "  STORAGE_CLASS_ID        BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
-  "  CREATION_TIME           BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
-  "  RECONCILIATION_TIME     BIGINT UNSIGNED      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
+  "  ARCHIVE_FILE_ID         NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_AFI_NN  NOT NULL,"
+  "  DISK_INSTANCE_NAME      VARCHAR2(100)    CONSTRAINT ARCHIVE_FILE_DIN_NN  NOT NULL,"
+  "  DISK_FILE_ID            VARCHAR2(100)    CONSTRAINT ARCHIVE_FILE_DFI_NN  NOT NULL,"
+  "  DISK_FILE_UID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFUID_NN  NOT NULL,"
+  "  DISK_FILE_GID           NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_DFGID_NN  NOT NULL,"
+  "  SIZE_IN_BYTES           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SIB_NN  NOT NULL,"
+  "  CHECKSUM_BLOB           RAW(200),"
+  "  CHECKSUM_ADLER32        NUMERIC(10, 0)      CONSTRAINT ARCHIVE_FILE_CB2_NN  NOT NULL,"
+  "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_SCI_NN  NOT NULL,"
+  "  CREATION_TIME           NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_CT2_NN  NOT NULL,"
+  "  RECONCILIATION_TIME     NUMERIC(20, 0)      CONSTRAINT ARCHIVE_FILE_RT_NN   NOT NULL,"
   "  IS_DELETED              CHAR(1)         DEFAULT '0' CONSTRAINT ARCHIVE_FILE_ID_NN NOT NULL,"
-  "  COLLOCATION_HINT        VARCHAR(100),"
+  "  COLLOCATION_HINT        VARCHAR2(100),"
   "  CONSTRAINT ARCHIVE_FILE_PK PRIMARY KEY(ARCHIVE_FILE_ID),"
   "  CONSTRAINT ARCHIVE_FILE_STORAGE_CLASS_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID),"
   "  CONSTRAINT ARCHIVE_FILE_DIN_DFI_UN UNIQUE(DISK_INSTANCE_NAME, DISK_FILE_ID),"
@@ -12618,13 +9301,13 @@ namespace catalogue{
   "CREATE INDEX ARCHIVE_FILE_DIN_IDX ON ARCHIVE_FILE(DISK_INSTANCE_NAME);"
   "CREATE INDEX ARCHIVE_FILE_DFI_IDX ON ARCHIVE_FILE(DISK_FILE_ID);"
   "CREATE TABLE TAPE_FILE("
-  "  VID                      VARCHAR(100)   CONSTRAINT TAPE_FILE_V_NN    NOT NULL,"
-  "  FSEQ                     BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
-  "  BLOCK_ID                 BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
-  "  LOGICAL_SIZE_IN_BYTES    BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
-  "  COPY_NB                  TINYINT UNSIGNED      CONSTRAINT TAPE_FILE_CN_NN   NOT NULL,"
-  "  CREATION_TIME            BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_CT_NN   NOT NULL,"
-  "  ARCHIVE_FILE_ID          BIGINT UNSIGNED     CONSTRAINT TAPE_FILE_AFI_NN  NOT NULL,"
+  "  VID                      VARCHAR2(100)   CONSTRAINT TAPE_FILE_V_NN    NOT NULL,"
+  "  FSEQ                     NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_F_NN    NOT NULL,"
+  "  BLOCK_ID                 NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_BI_NN   NOT NULL,"
+  "  LOGICAL_SIZE_IN_BYTES    NUMERIC(20, 0)     CONSTRAINT TAPE_FILE_CSIB_NN NOT NULL,"
+  "  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,"
   "  CONSTRAINT TAPE_FILE_PK PRIMARY KEY(VID, FSEQ),"
   "  CONSTRAINT TAPE_FILE_TAPE_FK FOREIGN KEY(VID)"
   "    REFERENCES TAPE(VID),"
@@ -12636,40 +9319,40 @@ namespace catalogue{
   "CREATE INDEX TAPE_FILE_VID_IDX ON TAPE_FILE(VID);"
   "CREATE INDEX TAPE_FILE_ARCHIVE_FILE_ID_IDX ON TAPE_FILE(ARCHIVE_FILE_ID);"
   "CREATE TABLE ACTIVITIES_WEIGHTS ("
-  "  DISK_INSTANCE_NAME       VARCHAR(100),"
-  "  ACTIVITY                 VARCHAR(100),"
-  "  WEIGHT                   VARCHAR(100),"
-  "  USER_COMMENT             VARCHAR(1000)   CONSTRAINT ACTIV_WEIGHTS_UC_NN   NOT NULL,"
-  "  CREATION_LOG_USER_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL,"
-  "  CREATION_LOG_HOST_NAME   VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL,"
-  "  CREATION_LOG_TIME        BIGINT UNSIGNED      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
-  "  LAST_UPDATE_USER_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL,"
-  "  LAST_UPDATE_HOST_NAME    VARCHAR(100)    CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL,"
-  "  LAST_UPDATE_TIME         BIGINT UNSIGNED      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
+  "  DISK_INSTANCE_NAME       VARCHAR2(100),"
+  "  ACTIVITY                 VARCHAR2(100),"
+  "  WEIGHT                   VARCHAR2(100),"
+  "  USER_COMMENT             VARCHAR2(1000)   CONSTRAINT ACTIV_WEIGHTS_UC_NN   NOT NULL,"
+  "  CREATION_LOG_USER_NAME   VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_CLUN_NN NOT NULL,"
+  "  CREATION_LOG_HOST_NAME   VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_CLHN_NN NOT NULL,"
+  "  CREATION_LOG_TIME        NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_CLT_NN  NOT NULL,"
+  "  LAST_UPDATE_USER_NAME    VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_LUUN_NN NOT NULL,"
+  "  LAST_UPDATE_HOST_NAME    VARCHAR2(100)    CONSTRAINT ACTIV_WEIGHTS_LUHN_NN NOT NULL,"
+  "  LAST_UPDATE_TIME         NUMERIC(20, 0)      CONSTRAINT ACTIV_WEIGHTS_LUT_NN  NOT NULL"
   ");"
   "CREATE TABLE FILE_RECYCLE_LOG("
-  "  FILE_RECYCLE_LOG_ID        BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_ID_NN NOT NULL,"
-  "  VID                        VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_VID_NN NOT NULL,"
-  "  FSEQ                       BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_FSEQ_NN NOT NULL,"
-  "  BLOCK_ID                   BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_BID_NN NOT NULL,"
-  "  COPY_NB                    TINYINT UNSIGNED           CONSTRAINT FILE_RECYCLE_LOG_COPY_NB_NN NOT NULL,"
-  "  TAPE_FILE_CREATION_TIME    BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_TFCT_NN NOT NULL,"
-  "  ARCHIVE_FILE_ID            BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_AFI_NN NOT NULL,"
-  "  DISK_INSTANCE_NAME         VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DIN_NN NOT NULL,"
-  "  DISK_FILE_ID               VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DFI_NN NOT NULL,"
-  "  DISK_FILE_ID_WHEN_DELETED  VARCHAR(100)        CONSTRAINT FILE_RECYCLE_LOG_DFIWD_NN NOT NULL,"
-  "  DISK_FILE_UID              BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_DFU_NN NOT NULL,"
-  "  DISK_FILE_GID              BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_DFG_NN NOT NULL,"
-  "  SIZE_IN_BYTES              BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_SIB_NN NOT NULL,"
-  "  CHECKSUM_BLOB              VARBINARY(200),"
-  "  CHECKSUM_ADLER32           INT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_CA_NN NOT NULL,"
-  "  STORAGE_CLASS_ID           BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_SCI_NN NOT NULL,"
-  "  ARCHIVE_FILE_CREATION_TIME BIGINT UNSIGNED          CONSTRAINT FILE_RECYLE_LOG_CT_NN NOT NULL,"
-  "  RECONCILIATION_TIME        BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_RT_NN NOT NULL,"
-  "  COLLOCATION_HINT           VARCHAR(100),"
-  "  DISK_FILE_PATH             VARCHAR(2000),"
-  "  REASON_LOG                 VARCHAR(1000)       CONSTRAINT FILE_RECYCLE_LOG_RL_NN NOT NULL,"
-  "  RECYCLE_LOG_TIME           BIGINT UNSIGNED          CONSTRAINT FILE_RECYCLE_LOG_RLT_NN NOT NULL,"
+  "  FILE_RECYCLE_LOG_ID        NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_ID_NN NOT NULL,"
+  "  VID                        VARCHAR2(100)        CONSTRAINT FILE_RECYCLE_LOG_VID_NN NOT NULL,"
+  "  FSEQ                       NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_FSEQ_NN NOT NULL,"
+  "  BLOCK_ID                   NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_BID_NN NOT NULL,"
+  "  COPY_NB                    NUMERIC(3, 0)           CONSTRAINT FILE_RECYCLE_LOG_COPY_NB_NN NOT NULL,"
+  "  TAPE_FILE_CREATION_TIME    NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_TFCT_NN NOT NULL,"
+  "  ARCHIVE_FILE_ID            NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_AFI_NN NOT NULL,"
+  "  DISK_INSTANCE_NAME         VARCHAR2(100)        CONSTRAINT FILE_RECYCLE_LOG_DIN_NN NOT NULL,"
+  "  DISK_FILE_ID               VARCHAR2(100)        CONSTRAINT FILE_RECYCLE_LOG_DFI_NN NOT NULL,"
+  "  DISK_FILE_ID_WHEN_DELETED  VARCHAR2(100)        CONSTRAINT FILE_RECYCLE_LOG_DFIWD_NN NOT NULL,"
+  "  DISK_FILE_UID              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_DFU_NN NOT NULL,"
+  "  DISK_FILE_GID              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_DFG_NN NOT NULL,"
+  "  SIZE_IN_BYTES              NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_SIB_NN NOT NULL,"
+  "  CHECKSUM_BLOB              RAW(200),"
+  "  CHECKSUM_ADLER32           NUMERIC(10, 0)          CONSTRAINT FILE_RECYCLE_LOG_CA_NN NOT NULL,"
+  "  STORAGE_CLASS_ID           NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_SCI_NN NOT NULL,"
+  "  ARCHIVE_FILE_CREATION_TIME NUMERIC(20, 0)          CONSTRAINT FILE_RECYLE_LOG_CT_NN NOT NULL,"
+  "  RECONCILIATION_TIME        NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_RT_NN NOT NULL,"
+  "  COLLOCATION_HINT           VARCHAR2(100),"
+  "  DISK_FILE_PATH             VARCHAR2(2000),"
+  "  REASON_LOG                 VARCHAR2(1000)       CONSTRAINT FILE_RECYCLE_LOG_RL_NN NOT NULL,"
+  "  RECYCLE_LOG_TIME           NUMERIC(20, 0)          CONSTRAINT FILE_RECYCLE_LOG_RLT_NN NOT NULL,"
   "  CONSTRAINT FILE_RECYCLE_LOG_PK PRIMARY KEY(FILE_RECYCLE_LOG_ID),"
   "  CONSTRAINT FILE_RECYCLE_LOG_VID_FK FOREIGN KEY(VID) REFERENCES TAPE(VID),"
   "  CONSTRAINT FILE_RECYCLE_LOG_SC_FK FOREIGN KEY(STORAGE_CLASS_ID) REFERENCES STORAGE_CLASS(STORAGE_CLASS_ID)"
@@ -12677,63 +9360,63 @@ namespace catalogue{
   "CREATE INDEX FILE_RECYCLE_LOG_DFI_IDX ON FILE_RECYCLE_LOG(DISK_FILE_ID);"
   ""
   "CREATE TABLE DRIVE_CONFIG ("
-  "  DRIVE_NAME                  VARCHAR(100)       CONSTRAINT DRIVE_CONFIG_DN_NN  NOT NULL,"
-  "  CATEGORY                    VARCHAR(100)       CONSTRAINT DRIVE_CONFIG_C_NN   NOT NULL,"
-  "  KEY_NAME                    VARCHAR(100)       CONSTRAINT DRIVE_CONFIG_KN_NN  NOT NULL,"
-  "  VALUE                       VARCHAR(1000)      CONSTRAINT DRIVE_CONFIG_V_NN   NOT NULL,"
-  "  SOURCE                      VARCHAR(100)       CONSTRAINT DRIVE_CONFIG_S_NN   NOT NULL,"
+  "  DRIVE_NAME                  VARCHAR2(100)       CONSTRAINT DRIVE_CONFIG_DN_NN  NOT NULL,"
+  "  CATEGORY                    VARCHAR2(100)       CONSTRAINT DRIVE_CONFIG_C_NN   NOT NULL,"
+  "  KEY_NAME                    VARCHAR2(100)       CONSTRAINT DRIVE_CONFIG_KN_NN  NOT NULL,"
+  "  VALUE                       VARCHAR2(1000)      CONSTRAINT DRIVE_CONFIG_V_NN   NOT NULL,"
+  "  SOURCE                      VARCHAR2(100)       CONSTRAINT DRIVE_CONFIG_S_NN   NOT NULL,"
   "  CONSTRAINT DRIVE_CONFIG_DN_PK PRIMARY KEY(KEY_NAME, DRIVE_NAME)"
   ");"
   ""
   "CREATE TABLE TAPE_DRIVE ("
-  "  DRIVE_NAME                  VARCHAR(100)       CONSTRAINT DRIVE_STATE_DN_NN NOT NULL,"
-  "  HOST                        VARCHAR(100)       CONSTRAINT DRIVE_STATE_H_NN  NOT NULL,"
-  "  LOGICAL_LIBRARY             VARCHAR(100)       CONSTRAINT DRIVE_STATE_LL_NN NOT NULL,"
-  "  SESSION_ID                  BIGINT UNSIGNED,"
-  "  BYTES_TRANSFERED_IN_SESSION BIGINT UNSIGNED,"
-  "  FILES_TRANSFERED_IN_SESSION BIGINT UNSIGNED,"
-  "  LATEST_BANDWIDTH            VARCHAR(100),"
-  "  SESSION_START_TIME          BIGINT UNSIGNED,"
-  "  MOUNT_START_TIME            BIGINT UNSIGNED,"
-  "  TRANSFER_START_TIME         BIGINT UNSIGNED,"
-  "  UNLOAD_START_TIME           BIGINT UNSIGNED,"
-  "  UNMOUNT_START_TIME          BIGINT UNSIGNED,"
-  "  DRAINING_START_TIME         BIGINT UNSIGNED,"
-  "  DOWN_OR_UP_START_TIME       BIGINT UNSIGNED,"
-  "  PROBE_START_TIME            BIGINT UNSIGNED,"
-  "  CLEANUP_START_TIME          BIGINT UNSIGNED,"
-  "  START_START_TIME            BIGINT UNSIGNED,"
-  "  SHUTDOWN_TIME               BIGINT UNSIGNED,"
-  "  MOUNT_TYPE                  INT UNSIGNED      CONSTRAINT DRIVE_STATE_MT_NN NOT NULL,"
-  "  DRIVE_STATUS                VARCHAR(100)    DEFAULT 'UNKNOWN' CONSTRAINT DRIVE_STATE_DS_NN NOT NULL,"
+  "  DRIVE_NAME                  VARCHAR2(100)       CONSTRAINT DRIVE_STATE_DN_NN NOT NULL,"
+  "  HOST                        VARCHAR2(100)       CONSTRAINT DRIVE_STATE_H_NN  NOT NULL,"
+  "  LOGICAL_LIBRARY             VARCHAR2(100)       CONSTRAINT DRIVE_STATE_LL_NN NOT NULL,"
+  "  SESSION_ID                  NUMERIC(20, 0),"
+  "  BYTES_TRANSFERED_IN_SESSION NUMERIC(20, 0),"
+  "  FILES_TRANSFERED_IN_SESSION NUMERIC(20, 0),"
+  "  LATEST_BANDWIDTH            VARCHAR2(100),"
+  "  SESSION_START_TIME          NUMERIC(20, 0),"
+  "  MOUNT_START_TIME            NUMERIC(20, 0),"
+  "  TRANSFER_START_TIME         NUMERIC(20, 0),"
+  "  UNLOAD_START_TIME           NUMERIC(20, 0),"
+  "  UNMOUNT_START_TIME          NUMERIC(20, 0),"
+  "  DRAINING_START_TIME         NUMERIC(20, 0),"
+  "  DOWN_OR_UP_START_TIME       NUMERIC(20, 0),"
+  "  PROBE_START_TIME            NUMERIC(20, 0),"
+  "  CLEANUP_START_TIME          NUMERIC(20, 0),"
+  "  START_START_TIME            NUMERIC(20, 0),"
+  "  SHUTDOWN_TIME               NUMERIC(20, 0),"
+  "  MOUNT_TYPE                  NUMERIC(10, 0)      CONSTRAINT DRIVE_STATE_MT_NN NOT NULL,"
+  "  DRIVE_STATUS                VARCHAR2(100)    DEFAULT 'UNKNOWN' CONSTRAINT DRIVE_STATE_DS_NN NOT NULL,"
   "  DESIRED_UP                  CHAR(1)         DEFAULT '0' CONSTRAINT DRIVE_STATE_DU_NN  NOT NULL,"
   "  DESIRED_FORCE_DOWN          CHAR(1)         DEFAULT '0' CONSTRAINT DRIVE_STATE_DFD_NN NOT NULL,"
-  "  REASON_UP_DOWN              VARCHAR(1000),"
-  "  CURRENT_VID                 VARCHAR(100),"
-  "  CTA_VERSION                 VARCHAR(100),"
-  "  CURRENT_PRIORITY            BIGINT UNSIGNED,"
-  "  CURRENT_ACTIVITY            VARCHAR(100),"
-  "  CURRENT_ACTIVITY_WEIGHT     VARCHAR(100),"
-  "  CURRENT_TAPE_POOL           VARCHAR(100),"
-  "  NEXT_MOUNT_TYPE             INT UNSIGNED,"
-  "  NEXT_VID                    VARCHAR(100),"
-  "  NEXT_TAPE_POOL              VARCHAR(100),"
-  "  NEXT_PRIORITY               BIGINT UNSIGNED,"
-  "  NEXT_ACTIVITY               VARCHAR(100),"
-  "  NEXT_ACTIVITY_WEIGHT        VARCHAR(100),"
-  "  DEV_FILE_NAME               VARCHAR(100),"
-  "  RAW_LIBRARY_SLOT            VARCHAR(100),"
-  "  CURRENT_VO                  VARCHAR(100),"
-  "  NEXT_VO                     VARCHAR(100),"
-  "  USER_COMMENT                VARCHAR(1000),"
-  "  CREATION_LOG_USER_NAME      VARCHAR(100),"
-  "  CREATION_LOG_HOST_NAME      VARCHAR(100),"
-  "  CREATION_LOG_TIME           BIGINT UNSIGNED,"
-  "  LAST_UPDATE_USER_NAME       VARCHAR(100),"
-  "  LAST_UPDATE_HOST_NAME       VARCHAR(100),"
-  "  LAST_UPDATE_TIME            BIGINT UNSIGNED,"
-  "  DISK_SYSTEM_NAME            VARCHAR(100)       CONSTRAINT DRIVE_STATE_DSN_NN NOT NULL,"
-  "  RESERVED_BYTES              BIGINT UNSIGNED         CONSTRAINT DRIVE_STATE_RB_NN  NOT NULL,"
+  "  REASON_UP_DOWN              VARCHAR2(1000),"
+  "  CURRENT_VID                 VARCHAR2(100),"
+  "  CTA_VERSION                 VARCHAR2(100),"
+  "  CURRENT_PRIORITY            NUMERIC(20, 0),"
+  "  CURRENT_ACTIVITY            VARCHAR2(100),"
+  "  CURRENT_ACTIVITY_WEIGHT     VARCHAR2(100),"
+  "  CURRENT_TAPE_POOL           VARCHAR2(100),"
+  "  NEXT_MOUNT_TYPE             NUMERIC(10, 0),"
+  "  NEXT_VID                    VARCHAR2(100),"
+  "  NEXT_TAPE_POOL              VARCHAR2(100),"
+  "  NEXT_PRIORITY               NUMERIC(20, 0),"
+  "  NEXT_ACTIVITY               VARCHAR2(100),"
+  "  NEXT_ACTIVITY_WEIGHT        VARCHAR2(100),"
+  "  DEV_FILE_NAME               VARCHAR2(100),"
+  "  RAW_LIBRARY_SLOT            VARCHAR2(100),"
+  "  CURRENT_VO                  VARCHAR2(100),"
+  "  NEXT_VO                     VARCHAR2(100),"
+  "  USER_COMMENT                VARCHAR2(1000),"
+  "  CREATION_LOG_USER_NAME      VARCHAR2(100),"
+  "  CREATION_LOG_HOST_NAME      VARCHAR2(100),"
+  "  CREATION_LOG_TIME           NUMERIC(20, 0),"
+  "  LAST_UPDATE_USER_NAME       VARCHAR2(100),"
+  "  LAST_UPDATE_HOST_NAME       VARCHAR2(100),"
+  "  LAST_UPDATE_TIME            NUMERIC(20, 0),"
+  "  DISK_SYSTEM_NAME            VARCHAR2(100)       CONSTRAINT DRIVE_STATE_DSN_NN NOT NULL,"
+  "  RESERVED_BYTES              NUMERIC(20, 0)         CONSTRAINT DRIVE_STATE_RB_NN  NOT NULL,"
   "  CONSTRAINT DRIVE_STATE_DN_PK PRIMARY KEY(DRIVE_NAME),"
   "  CONSTRAINT DRIVE_STATE_DU_BOOL_CK CHECK(DESIRED_UP IN ('0', '1')),"
   "  CONSTRAINT DRIVE_STATE_DFD_BOOL_CK CHECK(DESIRED_FORCE_DOWN IN ('0', '1')),"
@@ -12749,8 +9432,9 @@ namespace catalogue{
   "  4,"
   "  2,"
   "  '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 (STATUS='UPGRADING'));"
+  "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;"
       },
   {"sqlite",  "CREATE TABLE ARCHIVE_FILE_ID("
   "  ID INTEGER PRIMARY KEY AUTOINCREMENT"
diff --git a/catalogue/CMakeLists.txt b/catalogue/CMakeLists.txt
index 6287f9e439a3fc64bb62a843bf9d793f83fe04a4..d57af1e81cbc787de63519746139621509fbc978 100644
--- a/catalogue/CMakeLists.txt
+++ b/catalogue/CMakeLists.txt
@@ -36,9 +36,6 @@ set (CATALOGUE_LIB_SRC_FILES
   CmdLineTool.cpp
   InMemoryCatalogue.cpp
   InMemoryCatalogueFactory.cpp
-  MysqlCatalogue.cpp
-  MysqlCatalogueFactory.cpp
-  MysqlCatalogueSchema.cpp
   OracleCatalogue.cpp
   OracleCatalogueFactory.cpp
   PostgresCatalogue.cpp
@@ -82,7 +79,7 @@ add_custom_target(create_catalogue_schema_directory ALL
     COMMAND ${CMAKE_COMMAND} -E make_directory ${catalogue_schema_directory} DEPENDS
 ${CMAKE_SOURCE_DIR}/cmake/CTAVersions.cmake)
 
-add_custom_command (OUTPUT sqlite_catalogue_schema.sql mysql_catalogue_schema.sql oracle_catalogue_schema.sql postgres_catalogue_schema.sql
+add_custom_command (OUTPUT sqlite_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
@@ -94,17 +91,6 @@ add_custom_command (OUTPUT sqlite_catalogue_schema.sql mysql_catalogue_schema.sq
     | sed 's/UINT64TYPE/INTEGER/g'
     | sed 's/CHECKSUM_BLOB_TYPE/BLOB\(200\)/g'
     | tee sqlite_catalogue_schema.sql ${catalogue_schema_directory}/sqlite_catalogue_schema.sql > /dev/null
-  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'
-    | sed 's/UINT32TYPE/INT UNSIGNED/g'
-    | sed 's/UINT64TYPE/BIGINT UNSIGNED/g'
-    | sed 's/CHECKSUM_BLOB_TYPE/VARBINARY\(200\)/g'
-    | tee mysql_catalogue_schema.sql ${catalogue_schema_directory}/mysql_catalogue_schema.sql > /dev/null
   COMMAND cat
     ${CMAKE_CURRENT_SOURCE_DIR}/oracle_catalogue_schema_header.sql
     ${CMAKE_CURRENT_SOURCE_DIR}/common_catalogue_schema.sql
@@ -134,8 +120,6 @@ add_custom_command (OUTPUT sqlite_catalogue_schema.sql mysql_catalogue_schema.sq
     ${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
-    ${CMAKE_CURRENT_SOURCE_DIR}/mysql_catalogue_schema_trailer.sql
     ${CMAKE_CURRENT_SOURCE_DIR}/postgres_catalogue_schema_header.sql
     ${CMAKE_CURRENT_SOURCE_DIR}/postgres_catalogue_schema_trailer.sql
     ${CMAKE_CURRENT_SOURCE_DIR}/oracle_catalogue_schema_header.sql
@@ -154,15 +138,6 @@ add_custom_command(OUTPUT SqliteCatalogueSchema.cpp
   COMMAND sed '/CTA_SQL_SCHEMA/r sqlite_catalogue_schema.cpp' ${CMAKE_CURRENT_SOURCE_DIR}/SqliteCatalogueSchema.before_SQL.cpp > SqliteCatalogueSchema.cpp
   DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/SqliteCatalogueSchema.before_SQL.cpp sqlite_catalogue_schema.cpp)
 
-# For Mysql
-add_custom_command(OUTPUT mysql_catalogue_schema.cpp
-  COMMAND sed 's/^/\ \ \"/' mysql_catalogue_schema.sql | sed 's/$$/\"/' > mysql_catalogue_schema.cpp
-  DEPENDS mysql_catalogue_schema.sql)
-
-add_custom_command(OUTPUT MysqlCatalogueSchema.cpp
-  COMMAND sed -e '/CTA_SQL_SCHEMA/r mysql_catalogue_schema.cpp' ${CMAKE_CURRENT_SOURCE_DIR}/MysqlCatalogueSchema.before_SQL.cpp > MysqlCatalogueSchema.cpp
-  DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/MysqlCatalogueSchema.before_SQL.cpp mysql_catalogue_schema.cpp)
-
 # For Postgres
 add_custom_command(OUTPUT postgres_catalogue_schema.cpp
   COMMAND sed 's/^/\ \ \"/' postgres_catalogue_schema.sql | sed 's/$$/\"/' > postgres_catalogue_schema.cpp
@@ -220,8 +195,7 @@ add_executable(cta-catalogue-schema-create
   CreateSchemaCmdMain.cpp
   OracleCatalogueSchema.cpp
   SqliteCatalogueSchema.cpp
-  PostgresCatalogueSchema.cpp
-  MysqlCatalogueSchema.cpp)
+  PostgresCatalogueSchema.cpp)
 
 set (SCHEMA_CHECKER_LIB_SRC_FILES
   SQLiteSchemaInserter.cpp
@@ -236,7 +210,6 @@ set (SCHEMA_CHECKER_LIB_SRC_FILES
   OracleCatalogueSchema.cpp
   SqliteCatalogueSchema.cpp
   PostgresCatalogueSchema.cpp
-  MysqlCatalogueSchema.cpp
 )
 
 add_library (ctaschemachecker SHARED
diff --git a/catalogue/CatalogueFactoryFactory.cpp b/catalogue/CatalogueFactoryFactory.cpp
index f7229d3df1e5cdfa836443b269efa65e2013a167..cc779fb282362ed9f054753b6ed737a4edb282af 100644
--- a/catalogue/CatalogueFactoryFactory.cpp
+++ b/catalogue/CatalogueFactoryFactory.cpp
@@ -15,9 +15,10 @@
  *                 along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <string>
+
 #include "catalogue/CatalogueFactoryFactory.hpp"
 #include "catalogue/InMemoryCatalogueFactory.hpp"
-#include "catalogue/MysqlCatalogueFactory.hpp"
 #include "catalogue/OracleCatalogueFactory.hpp"
 #include "catalogue/PostgresqlCatalogueFactory.hpp"
 #include "common/make_unique.hpp"
@@ -35,11 +36,9 @@ std::unique_ptr<CatalogueFactory> CatalogueFactoryFactory::create(
   const uint64_t nbArchiveFileListingConns,
   const uint32_t maxTriesToConnect) {
   try {
-    switch(login.dbType) {
+    switch (login.dbType) {
     case rdbms::Login::DBTYPE_IN_MEMORY:
       return cta::make_unique<InMemoryCatalogueFactory>(log, nbConns, nbArchiveFileListingConns, maxTriesToConnect);
-    case rdbms::Login::DBTYPE_MYSQL:
-      return cta::make_unique<MysqlCatalogueFactory>(log, login, nbConns, nbArchiveFileListingConns, maxTriesToConnect);
     case rdbms::Login::DBTYPE_ORACLE:
       return cta::make_unique<OracleCatalogueFactory>(log, login, nbConns, nbArchiveFileListingConns,
         maxTriesToConnect);
@@ -61,5 +60,5 @@ std::unique_ptr<CatalogueFactory> CatalogueFactoryFactory::create(
   }
 }
 
-} // namespace catalogue
-} // namespace cta
+}  // namespace catalogue
+}  // namespace cta
diff --git a/catalogue/CreateAllSchemasCppFile.sh b/catalogue/CreateAllSchemasCppFile.sh
index f1931590fe527aeb7c266c358f08b37539c4c3e1..9aef67d1ddbd87cc006ea5b45c22c2fb78e8d56c 100755
--- a/catalogue/CreateAllSchemasCppFile.sh
+++ b/catalogue/CreateAllSchemasCppFile.sh
@@ -41,7 +41,7 @@ die() {
   exit 1
 }
 
-databaseTypes=('oracle' 'mysql' 'sqlite' 'postgres')
+databaseTypes=('oracle' 'sqlite' 'postgres')
 schemaPostfix='_catalogue_schema.sql'
 cd $1
 tempFilePath="./temp"
diff --git a/catalogue/CreateSchemaCmd.cpp b/catalogue/CreateSchemaCmd.cpp
index 7a4e22a70e9c2b91303045c6f8a0d6058c467d01..30f0afcf1c56e8f2fd817287aa5ead8441e62a9d 100644
--- a/catalogue/CreateSchemaCmd.cpp
+++ b/catalogue/CreateSchemaCmd.cpp
@@ -17,7 +17,6 @@
 
 #include "catalogue/CreateSchemaCmd.hpp"
 #include "catalogue/CreateSchemaCmdLineArgs.hpp"
-#include "catalogue/MysqlCatalogueSchema.hpp"
 #include "catalogue/OracleCatalogueSchema.hpp"
 #include "catalogue/PostgresCatalogueSchema.hpp"
 #include "catalogue/SqliteCatalogueSchema.hpp"
@@ -79,12 +78,6 @@ int CreateSchemaCmd::exceptionThrowingMain(const int argc, char *const *const ar
        executeNonQueries(conn, schema.sql);
     }
     break;
-  case rdbms::Login::DBTYPE_MYSQL:
-    {
-       MysqlCatalogueSchema schema;
-       executeNonQueries(conn, schema.sql);
-    }
-    break;
   case rdbms::Login::DBTYPE_ORACLE:
     {
       OracleCatalogueSchema schema;
diff --git a/catalogue/DatabaseMetadataGetter.cpp b/catalogue/DatabaseMetadataGetter.cpp
index 5e5128ba0a60bf531de51b7137b15a03e8f80442..643e5981114b4af794eac5046d1aa3900d822fd0 100644
--- a/catalogue/DatabaseMetadataGetter.cpp
+++ b/catalogue/DatabaseMetadataGetter.cpp
@@ -21,9 +21,9 @@
 namespace cta {
 namespace catalogue {
 
-  
+
 MetadataGetter::~MetadataGetter(){}
-  
+
 void MetadataGetter::removeObjectNameContaining(std::list<std::string>& objects, const std::list<std::string> &wordsToTriggerRemoval){
   objects.remove_if([&wordsToTriggerRemoval](const std::string &object){
     return std::find_if(wordsToTriggerRemoval.begin(), wordsToTriggerRemoval.end(),[&object](const std::string &wordTriggeringRemoval){
@@ -51,7 +51,7 @@ void MetadataGetter::removeObjectNameMatches(std::list<std::string> &objects, co
     return regex.has_match(object);
   });
 }
-  
+
 DatabaseMetadataGetter::DatabaseMetadataGetter(cta::rdbms::Conn& conn):m_conn(conn){}
 
 SchemaVersion DatabaseMetadataGetter::getCatalogueVersion(){
@@ -81,7 +81,7 @@ SchemaVersion DatabaseMetadataGetter::getCatalogueVersion(){
         "CTA_CATALOGUE.STATUS AS STATUS "
       "FROM "
         "CTA_CATALOGUE";
-    
+
     auto stmt2 = m_conn.createStmt(sql2);
     try{
       auto rset2 = stmt2.executeQuery();
@@ -188,12 +188,6 @@ std::list<std::string> OracleDatabaseMetadataGetter::getTableNames(){
   return tableNames;
 }
 
-MySQLDatabaseMetadataGetter::MySQLDatabaseMetadataGetter(cta::rdbms::Conn& conn):DatabaseMetadataGetter(conn) {}
-MySQLDatabaseMetadataGetter::~MySQLDatabaseMetadataGetter(){}
-cta::rdbms::Login::DbType MySQLDatabaseMetadataGetter::getDbType(){
-  return cta::rdbms::Login::DbType::DBTYPE_MYSQL;
-}
-
 PostgresDatabaseMetadataGetter::PostgresDatabaseMetadataGetter(cta::rdbms::Conn& conn):DatabaseMetadataGetter(conn) {}
 PostgresDatabaseMetadataGetter::~PostgresDatabaseMetadataGetter(){}
 cta::rdbms::Login::DbType PostgresDatabaseMetadataGetter::getDbType(){
@@ -208,8 +202,6 @@ DatabaseMetadataGetter * DatabaseMetadataGetterFactory::create(const rdbms::Logi
       return new SQLiteDatabaseMetadataGetter(conn);
     case DbType::DBTYPE_ORACLE:
       return new OracleDatabaseMetadataGetter(conn);
-    case DbType::DBTYPE_MYSQL:
-      return new MySQLDatabaseMetadataGetter(conn);
     case DbType::DBTYPE_POSTGRESQL:
       return new PostgresDatabaseMetadataGetter(conn);
     default:
@@ -244,4 +236,4 @@ std::list<std::string> SchemaMetadataGetter::getConstraintNames(const std::strin
   return constraintNames;
 }
 
-}}
\ No newline at end of file
+}}
diff --git a/catalogue/DatabaseMetadataGetter.hpp b/catalogue/DatabaseMetadataGetter.hpp
index c7a5e7e5d2eaa3f0a391b50634d650516858a84d..aaabde0eda54ed4a615ecd75ff4f7c9802468b41 100644
--- a/catalogue/DatabaseMetadataGetter.hpp
+++ b/catalogue/DatabaseMetadataGetter.hpp
@@ -25,12 +25,12 @@
 
 namespace cta {
 namespace catalogue {
-  
+
 /**
  * Interface class to get database metadata
- */  
+ */
 class MetadataGetter{
-  
+
 protected:
   void removeObjectNameContaining(std::list<std::string>& objects, const std::list<std::string> &wordsToTriggerRemoval);
   void removeObjectNameNotContaining(std::list<std::string>& objects, const std::list<std::string> &wordsNotToTriggerRemoval);
@@ -46,8 +46,8 @@ public:
 
 /**
  * This class is used to get the Metadata (table names, columns, indexes) of the database accessed via the connection given in parameters
- * It will simply call the methods from the connection (Conn) instance and adapt or not the metadata returned.  
- */  
+ * It will simply call the methods from the connection (Conn) instance and adapt or not the metadata returned.
+ */
 class DatabaseMetadataGetter: public MetadataGetter {
   protected:
     rdbms::Conn& m_conn;
@@ -95,16 +95,6 @@ class OracleDatabaseMetadataGetter: public DatabaseMetadataGetter{
   virtual ~OracleDatabaseMetadataGetter();
 };
 
-/**
- * Specific MySQL database metadata getter
- */
-class MySQLDatabaseMetadataGetter: public DatabaseMetadataGetter{
-  public:
-    MySQLDatabaseMetadataGetter(cta::rdbms::Conn &conn);
-    cta::rdbms::Login::DbType getDbType() override;
-    virtual ~MySQLDatabaseMetadataGetter();
-};
-
 /**
  * Specific Postgres database metadata getter
  */
@@ -142,4 +132,4 @@ public:
   virtual std::list<std::string> getConstraintNames(const std::string& tableName) override;
 };
 
-}}
\ No newline at end of file
+}}
diff --git a/catalogue/MysqlCatalogue.cpp b/catalogue/MysqlCatalogue.cpp
deleted file mode 100644
index f2fdc87f1fae2485f68b384e9fcfcb6bfe15d1bf..0000000000000000000000000000000000000000
--- a/catalogue/MysqlCatalogue.cpp
+++ /dev/null
@@ -1,911 +0,0 @@
-/*
- * @project        The CERN Tape Archive (CTA)
- * @copyright      Copyright(C) 2015-2021 CERN
- * @license        This program is free software: you can redistribute it and/or modify
- *                 it under the terms of the GNU General Public License as published by
- *                 the Free Software Foundation, either version 3 of the License, or
- *                 (at your option) any later version.
- *
- *                 This program is distributed in the hope that it will be useful,
- *                 but WITHOUT ANY WARRANTY; without even the implied warranty of
- *                 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *                 GNU General Public License for more details.
- *
- *                 You should have received a copy of the GNU General Public License
- *                 along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "catalogue/ArchiveFileRow.hpp"
-#include "catalogue/ArchiveFileRowWithoutTimestamps.hpp"
-#include "catalogue/MysqlCatalogueSchema.hpp"
-#include "catalogue/MysqlCatalogue.hpp"
-#include "common/exception/Exception.hpp"
-#include "common/exception/UserError.hpp"
-#include "common/make_unique.hpp"
-#include "common/threading/MutexLocker.hpp"
-#include "common/Timer.hpp"
-#include "common/utils/utils.hpp"
-#include "rdbms/AutoRollback.hpp"
-#include "rdbms/ConstraintError.hpp"
-#include "rdbms/PrimaryKeyError.hpp"
-#include "common/log/TimingList.hpp"
-
-namespace cta {
-namespace catalogue {
-
-//------------------------------------------------------------------------------
-// constructor
-//------------------------------------------------------------------------------
-MysqlCatalogue::MysqlCatalogue(
-  log::Logger &log,
-  const rdbms::Login &login,
-  const uint64_t nbConns,
-  const uint64_t nbArchiveFileListingConns):
-  RdbmsCatalogue(
-    log,
-    rdbms::Login(rdbms::Login::DBTYPE_MYSQL, 
-                 login.username, login.password, login.database,
-                 login.hostname, login.port),
-    nbConns,
-    nbArchiveFileListingConns) {
-}
-
-//------------------------------------------------------------------------------
-// destructor
-//------------------------------------------------------------------------------
-MysqlCatalogue::~MysqlCatalogue() {
-}
-
-//------------------------------------------------------------------------------
-// createAndPopulateTempTableFxid
-//------------------------------------------------------------------------------
-std::string MysqlCatalogue::createAndPopulateTempTableFxid(rdbms::Conn &conn, const optional<std::vector<std::string>> &diskFileIds) const {
-  const std::string tempTableName = "TEMP_DISK_FXIDS";
-
-  if(diskFileIds) {
-    try {
-      std::string sql = "CREATE TEMPORARY TABLE " + tempTableName + "(DISK_FILE_ID VARCHAR(100))";
-      try {
-        conn.executeNonQuery(sql);
-      } catch(exception::Exception &ex) {
-        // MySQL does not drop temporary tables until the end of the session; trying to create another
-        // temporary table in the same unit test will fail. If this happens, truncate the table and carry on.
-        sql = "TRUNCATE TABLE " + tempTableName;
-        conn.executeNonQuery(sql);
-      }
-
-      sql = "INSERT INTO " + tempTableName + " VALUES(:DISK_FILE_ID)";
-      auto stmt = conn.createStmt(sql);
-      for(auto &diskFileId : diskFileIds.value()) {
-        stmt.bindString(":DISK_FILE_ID", diskFileId);
-        stmt.executeNonQuery();
-      }
-    } catch(exception::Exception &ex) {
-      ex.getMessage().str(std::string(__FUNCTION__) + ": " + ex.getMessage().str());
-      throw;
-    }
-  }
-  return tempTableName;
-}
-
-//------------------------------------------------------------------------------
-// getNextArchiveFileId
-//------------------------------------------------------------------------------
-uint64_t MysqlCatalogue::getNextArchiveFileId(rdbms::Conn &conn) {
-  try {
-    rdbms::AutoRollback autoRollback(conn);
-
-    conn.executeNonQuery("START TRANSACTION");
-
-    {
-      const char *const sql =
-        "UPDATE ARCHIVE_FILE_ID SET ID = LAST_INSERT_ID(ID + 1)";
-      auto stmt = conn.createStmt(sql);
-      stmt.executeNonQuery();
-    }
-
-    uint64_t archiveFileId = 0;
-    {
-      const char *const sql =
-        "SELECT LAST_INSERT_ID() AS ID ";
-      auto stmt = conn.createStmt(sql);
-      auto rset = stmt.executeQuery();
-      if(!rset.next()) {
-        throw exception::Exception("ARCHIVE_FILE_ID table is empty");
-      }
-      archiveFileId = rset.columnUint64("ID");
-      if(rset.next()) {
-        throw exception::Exception("Found more than one ID counter in the ARCHIVE_FILE_ID table");
-      }
-    }
-    conn.commit();
-
-    return archiveFileId;
-  } catch(exception::UserError &) {
-    throw;
-  } catch(exception::Exception &ex) {
-    ex.getMessage().str(std::string(__FUNCTION__) + ": " + ex.getMessage().str());
-    throw;
-  }
-}
-
-//------------------------------------------------------------------------------
-// getNextLogicalLibraryId
-//------------------------------------------------------------------------------
-uint64_t MysqlCatalogue::getNextLogicalLibraryId(rdbms::Conn &conn) {
-  try {
-    rdbms::AutoRollback autoRollback(conn);
-
-    conn.executeNonQuery("START TRANSACTION");
-
-    {
-      const char *const sql =
-        "UPDATE LOGICAL_LIBRARY_ID SET ID = LAST_INSERT_ID(ID + 1)";
-      auto stmt = conn.createStmt(sql);
-      stmt.executeNonQuery();
-    }
-
-    uint64_t logicalLibraryId = 0;
-    {
-      const char *const sql =
-        "SELECT LAST_INSERT_ID() AS ID ";
-      auto stmt = conn.createStmt(sql);
-      auto rset = stmt.executeQuery();
-      if(!rset.next()) {
-        throw exception::Exception("LOGICAL_LIBRARY_ID table is empty");
-      }
-      logicalLibraryId = rset.columnUint64("ID");
-      if(rset.next()) {
-        throw exception::Exception("Found more than one ID counter in the LOGICAL_LIBRARY_ID table");
-      }
-    }
-    conn.commit();
-
-    return logicalLibraryId;
-  } catch(exception::UserError &) {
-    throw;
-  } catch(exception::Exception &ex) {
-    ex.getMessage().str(std::string(__FUNCTION__) + ": " + ex.getMessage().str());
-    throw;
-  }
-}
-
-//------------------------------------------------------------------------------
-// getNextVirtualOrganizationId
-//------------------------------------------------------------------------------
-uint64_t MysqlCatalogue::getNextVirtualOrganizationId(rdbms::Conn& conn) {
-  try {
-    rdbms::AutoRollback autoRollback(conn);
-
-    conn.executeNonQuery("START TRANSACTION");
-
-    {
-      const char *const sql =
-        "UPDATE VIRTUAL_ORGANIZATION_ID SET ID = LAST_INSERT_ID(ID + 1)";
-      auto stmt = conn.createStmt(sql);
-      stmt.executeNonQuery();
-    }
-
-    uint64_t virtualOrganizationId = 0;
-    {
-      const char *const sql =
-        "SELECT LAST_INSERT_ID() AS ID ";
-      auto stmt = conn.createStmt(sql);
-      auto rset = stmt.executeQuery();
-      if(!rset.next()) {
-        throw exception::Exception("VIRTUAL_ORGANIZATION_ID table is empty");
-      }
-      virtualOrganizationId = rset.columnUint64("ID");
-      if(rset.next()) {
-        throw exception::Exception("Found more than one ID counter in the VIRTUAL_ORGANIZATION_ID table");
-      }
-    }
-    conn.commit();
-
-    return virtualOrganizationId;
-  } catch(exception::UserError &) {
-    throw;
-  } catch(exception::Exception &ex) {
-    ex.getMessage().str(std::string(__FUNCTION__) + ": " + ex.getMessage().str());
-    throw;
-  }
-}
-
-//------------------------------------------------------------------------------
-// getNextMediaTypeId
-//------------------------------------------------------------------------------
-uint64_t MysqlCatalogue::getNextMediaTypeId(rdbms::Conn &conn) {
-  try {
-    rdbms::AutoRollback autoRollback(conn);
-
-    conn.executeNonQuery("START TRANSACTION");
-
-    {
-      const char *const sql = "UPDATE MEDIA_TYPE_ID SET ID = LAST_INSERT_ID(ID + 1)";
-      auto stmt = conn.createStmt(sql);
-      stmt.executeNonQuery();
-    }
-
-    uint64_t id = 0;
-    {
-      const char *const sql = "SELECT LAST_INSERT_ID() AS ID ";
-      auto stmt = conn.createStmt(sql);
-      auto rset = stmt.executeQuery();
-      if(!rset.next()) {
-        throw exception::Exception("MEDIA_TYPE_ID table is empty");
-      }
-      id = rset.columnUint64("ID");
-      if(rset.next()) {
-        throw exception::Exception("Found more than one ID counter in the MEDIA_TYPE_ID table");
-      }
-    }
-    conn.commit();
-
-    return id;
-  } catch(exception::UserError &) {
-    throw;
-  } catch(exception::Exception &ex) {
-    ex.getMessage().str(std::string(__FUNCTION__) + ": " + ex.getMessage().str());
-    throw;
-  }
-}
-
-//------------------------------------------------------------------------------
-// getNextStorageClassId
-//------------------------------------------------------------------------------
-uint64_t MysqlCatalogue::getNextStorageClassId(rdbms::Conn &conn) {
-  try {
-    rdbms::AutoRollback autoRollback(conn);
-
-    conn.executeNonQuery("START TRANSACTION");
-
-    {
-      const char *const sql =
-        "UPDATE STORAGE_CLASS_ID SET ID = LAST_INSERT_ID(ID + 1)";
-      auto stmt = conn.createStmt(sql);
-      stmt.executeNonQuery();
-    }
-
-    uint64_t storageClassId = 0;
-    {
-      const char *const sql =
-        "SELECT LAST_INSERT_ID() AS ID ";
-      auto stmt = conn.createStmt(sql);
-      auto rset = stmt.executeQuery();
-      if(!rset.next()) {
-        throw exception::Exception("STORAGE_CLASS_ID table is empty");
-      }
-      storageClassId = rset.columnUint64("ID");
-      if(rset.next()) {
-        throw exception::Exception("Found more than one ID counter in the STORAGE_CLASS_ID table");
-      }
-    }
-    conn.commit();
-
-    return storageClassId;
-  } catch(exception::UserError &) {
-    throw;
-  } catch(exception::Exception &ex) {
-    ex.getMessage().str(std::string(__FUNCTION__) + ": " + ex.getMessage().str());
-    throw;
-  }
-}
-
-//------------------------------------------------------------------------------
-// getNextTapePoolId
-//------------------------------------------------------------------------------
-uint64_t MysqlCatalogue::getNextTapePoolId(rdbms::Conn &conn) {
-  try {
-    rdbms::AutoRollback autoRollback(conn);
-
-    conn.executeNonQuery("START TRANSACTION");
-
-    {
-      const char *const sql =
-        "UPDATE TAPE_POOL_ID SET ID = LAST_INSERT_ID(ID + 1)";
-      auto stmt = conn.createStmt(sql);
-      stmt.executeNonQuery();
-    }
-
-    uint64_t tapePoolId = 0;
-    {
-      const char *const sql =
-        "SELECT LAST_INSERT_ID() AS ID ";
-      auto stmt = conn.createStmt(sql);
-      auto rset = stmt.executeQuery();
-      if(!rset.next()) {
-        throw exception::Exception("TAPE_POOL_ID table is empty");
-      }
-      tapePoolId = rset.columnUint64("ID");
-      if(rset.next()) {
-        throw exception::Exception("Found more than one ID counter in the TAPE_POOL_ID table");
-      }
-    }
-    conn.commit();
-
-    return tapePoolId;
-  } catch(exception::UserError &) {
-    throw;
-  } catch(exception::Exception &ex) {
-    ex.getMessage().str(std::string(__FUNCTION__) + ": " + ex.getMessage().str());
-    throw;
-  }
-}
-
-//------------------------------------------------------------------------------
-// getNextFileRecyleLogId
-//------------------------------------------------------------------------------
-uint64_t MysqlCatalogue::getNextFileRecyleLogId(rdbms::Conn& conn) {
-  try {
-    rdbms::AutoRollback autoRollback(conn);
-
-    conn.executeNonQuery("START TRANSACTION");
-
-    {
-      const char *const sql =
-        "UPDATE FILE_RECYCLE_LOG_ID SET ID = LAST_INSERT_ID(ID + 1)";
-      auto stmt = conn.createStmt(sql);
-      stmt.executeNonQuery();
-    }
-
-    uint64_t fileRecycleLogId = 0;
-    {
-      const char *const sql =
-        "SELECT LAST_INSERT_ID() AS ID ";
-      auto stmt = conn.createStmt(sql);
-      auto rset = stmt.executeQuery();
-      if(!rset.next()) {
-        throw exception::Exception("FILE_RECYCLE_LOG_ID table is empty");
-      }
-      fileRecycleLogId = rset.columnUint64("ID");
-      if(rset.next()) {
-        throw exception::Exception("Found more than one ID counter in the FILE_RECYCLE_LOG_ID table");
-      }
-    }
-    conn.commit();
-
-    return fileRecycleLogId;
-  } catch(exception::UserError &) {
-    throw;
-  } catch(exception::Exception &ex) {
-    ex.getMessage().str(std::string(__FUNCTION__) + ": " + ex.getMessage().str());
-    throw;
-  }
-}
-
-//------------------------------------------------------------------------------
-// selectTapeForUpdateAndGetLastFSeq
-//------------------------------------------------------------------------------
-uint64_t MysqlCatalogue::selectTapeForUpdateAndGetLastFSeq(rdbms::Conn &conn, const std::string &vid) {
-  try {
-    const char *const sql =
-      "SELECT "
-        "LAST_FSEQ AS LAST_FSEQ "
-      "FROM "
-        "TAPE "
-      "WHERE "
-        "VID = :VID "
-      "FOR UPDATE";
-    auto stmt = conn.createStmt(sql);
-    stmt.bindString(":VID", vid);
-    auto rset = stmt.executeQuery();
-    if (!rset.next()) {
-      throw exception::Exception(std::string("The tape with VID " + vid + " does not exist"));
-    }
-
-    return rset.columnUint64("LAST_FSEQ");
-  } catch(exception::UserError &) {
-    throw;
-  } catch(exception::Exception &ex) {
-    ex.getMessage().str(std::string(__FUNCTION__) + ": " + ex.getMessage().str());
-    throw;
-  }
-}
-
-//------------------------------------------------------------------------------
-// filesWrittenToTape
-//------------------------------------------------------------------------------
-void MysqlCatalogue::filesWrittenToTape(const std::set<TapeItemWrittenPointer> &events) {
-  try {
-    if(events.empty()) {
-      return;
-    }
-
-    auto firstEventItor = events.cbegin();
-    const auto &firstEvent = **firstEventItor;;
-    checkTapeItemWrittenFieldsAreSet(__FUNCTION__, firstEvent);
-
-    auto conn = m_connPool.getConn();
-    rdbms::AutoRollback autoRollback(conn);
-
-    conn.executeNonQuery("START TRANSACTION");
-
-    const uint64_t lastFSeq = selectTapeForUpdateAndGetLastFSeq(conn, firstEvent.vid);
-    uint64_t expectedFSeq = lastFSeq + 1;
-    uint64_t totalLogicalBytesWritten = 0;
-
-    for(const auto &eventP: events) {
-      const auto & event = *eventP;
-      checkTapeItemWrittenFieldsAreSet(__FUNCTION__, event);
-
-      if(event.vid != firstEvent.vid) {
-        throw exception::Exception(std::string("VID mismatch: expected=") + firstEvent.vid + " actual=" + event.vid);
-      }
-
-      if(expectedFSeq != event.fSeq) {
-        exception::TapeFseqMismatch ex;
-        ex.getMessage() << "FSeq mismatch for tape " << firstEvent.vid << ": expected=" << expectedFSeq << " actual=" <<
-          firstEvent.fSeq;
-        throw ex;
-      }
-      expectedFSeq++;
-      
-      
-      try {
-        // If this is a file (as opposed to a placeholder), do the full processing.
-        const auto &fileEvent=dynamic_cast<const TapeFileWritten &>(event); 
-        totalLogicalBytesWritten += fileEvent.size;
-      } catch (std::bad_cast&) {}
-    }
-
-    auto lastEventItor = events.cend();
-    lastEventItor--;
-    const TapeItemWritten &lastEvent = **lastEventItor;
-    updateTape(conn, lastEvent.vid, lastEvent.fSeq, totalLogicalBytesWritten, lastEvent.tapeDrive);
-
-    for(const auto &event : events) {
-      try {
-        // If this is a file (as opposed to a placeholder), do the full processing.
-        const auto &fileEvent=dynamic_cast<const TapeFileWritten &>(*event); 
-        fileWrittenToTape(conn, fileEvent);
-      } catch (std::bad_cast&) {}
-    }
-    conn.commit();
-  } catch(exception::UserError &) {
-    throw;
-  } catch(exception::Exception &ex) {
-    ex.getMessage().str(std::string(__FUNCTION__) + ": " + ex.getMessage().str());
-    throw;
-  }
-}
-
-//------------------------------------------------------------------------------
-// fileWrittenToTape
-//------------------------------------------------------------------------------
-void MysqlCatalogue::fileWrittenToTape(rdbms::Conn &conn, const TapeFileWritten &event) {
-  try {
-    checkTapeFileWrittenFieldsAreSet(__FUNCTION__, event);
-
-    // Try to insert a row into the ARCHIVE_FILE table - it is normal this will
-    // fail if another tape copy has already been written to tape
-    try {
-      ArchiveFileRowWithoutTimestamps row;
-      row.archiveFileId = event.archiveFileId;
-      row.diskFileId = event.diskFileId;
-      row.diskInstance = event.diskInstance;
-      row.size = event.size;
-      row.checksumBlob = event.checksumBlob;
-      row.storageClassName = event.storageClassName;
-      row.diskFileOwnerUid = event.diskFileOwnerUid;
-      row.diskFileGid = event.diskFileGid;
-      insertArchiveFile(conn, row);
-    } catch(rdbms::PrimaryKeyError &) {
-      // Ignore this error
-    }
-
-    const time_t now = time(nullptr);
-    const auto archiveFileRow = getArchiveFileRowById(conn, event.archiveFileId);
-
-    if(nullptr == archiveFileRow) {
-      // This should never happen
-      exception::Exception ex;
-      ex.getMessage() << "Failed to find archive file: archiveFileId=" << event.archiveFileId;
-      throw ex;
-    }
-
-    std::ostringstream fileContext;
-    fileContext << "archiveFileId=" << event.archiveFileId << ", diskInstanceName=" << event.diskInstance <<
-      ", diskFileId=" << event.diskFileId;
-
-    if(archiveFileRow->size != event.size) {
-      catalogue::FileSizeMismatch ex;
-      ex.getMessage() << "File size mismatch: expected=" << archiveFileRow->size << ", actual=" << event.size << ": "
-        << fileContext.str();
-      throw ex;
-    }
-
-    archiveFileRow->checksumBlob.validate(event.checksumBlob);
-
-    // Insert the tape file
-    common::dataStructures::TapeFile tapeFile;
-    tapeFile.vid            = event.vid;
-    tapeFile.fSeq           = event.fSeq;
-    tapeFile.blockId        = event.blockId;
-    tapeFile.fileSize       = event.size;
-    tapeFile.copyNb         = event.copyNb;
-    tapeFile.creationTime   = now;
-    insertTapeFile(conn, tapeFile, event.archiveFileId);
-  } catch(exception::UserError &) {
-    throw;
-  } catch(exception::Exception &ex) {
-    ex.getMessage().str(std::string(__FUNCTION__) + ": " + ex.getMessage().str());
-    throw;
-  }
-}
-
-//------------------------------------------------------------------------------
-// deleteArchiveFile
-//------------------------------------------------------------------------------
-void MysqlCatalogue::DO_NOT_USE_deleteArchiveFile_DO_NOT_USE(const std::string &diskInstanceName, const uint64_t archiveFileId,
-  log::LogContext &lc) {
-  try {
-    const char *selectSql =
-      "SELECT "
-        "ARCHIVE_FILE.ARCHIVE_FILE_ID AS ARCHIVE_FILE_ID,"
-        "ARCHIVE_FILE.DISK_INSTANCE_NAME AS DISK_INSTANCE_NAME,"
-        "ARCHIVE_FILE.DISK_FILE_ID AS DISK_FILE_ID,"
-        "ARCHIVE_FILE.DISK_FILE_UID AS DISK_FILE_UID,"
-        "ARCHIVE_FILE.DISK_FILE_GID AS DISK_FILE_GID,"
-        "ARCHIVE_FILE.SIZE_IN_BYTES AS SIZE_IN_BYTES,"
-        "ARCHIVE_FILE.CHECKSUM_BLOB AS CHECKSUM_BLOB,"
-        "ARCHIVE_FILE.CHECKSUM_ADLER32 AS CHECKSUM_ADLER32,"
-        "STORAGE_CLASS.STORAGE_CLASS_NAME AS STORAGE_CLASS_NAME,"
-        "ARCHIVE_FILE.CREATION_TIME AS ARCHIVE_FILE_CREATION_TIME,"
-        "ARCHIVE_FILE.RECONCILIATION_TIME AS RECONCILIATION_TIME,"
-        "TAPE_FILE.VID AS VID,"
-        "TAPE_FILE.FSEQ AS FSEQ,"
-        "TAPE_FILE.BLOCK_ID AS BLOCK_ID,"
-        "TAPE_FILE.LOGICAL_SIZE_IN_BYTES AS LOGICAL_SIZE_IN_BYTES,"
-        "TAPE_FILE.COPY_NB AS COPY_NB,"
-        "TAPE_FILE.CREATION_TIME AS TAPE_FILE_CREATION_TIME "
-      "FROM "
-        "ARCHIVE_FILE "
-      "INNER JOIN STORAGE_CLASS ON "
-        "ARCHIVE_FILE.STORAGE_CLASS_ID = STORAGE_CLASS.STORAGE_CLASS_ID "
-      "INNER JOIN TAPE_FILE ON "
-        "ARCHIVE_FILE.ARCHIVE_FILE_ID = TAPE_FILE.ARCHIVE_FILE_ID "
-      "WHERE "
-        "ARCHIVE_FILE.ARCHIVE_FILE_ID = :ARCHIVE_FILE_ID "
-      "FOR UPDATE";
-    utils::Timer t;
-    auto conn = m_connPool.getConn();
-    rdbms::AutoRollback autoRollback(conn);
-    const auto getConnTime = t.secs(utils::Timer::resetCounter);
-    auto selectStmt = conn.createStmt(selectSql);
-    const auto createStmtTime = t.secs();
-    selectStmt.bindUint64(":ARCHIVE_FILE_ID", archiveFileId);
-    t.reset();
-    rdbms::Rset selectRset = selectStmt.executeQuery();
-    const auto selectFromArchiveFileTime = t.secs();
-    std::unique_ptr<common::dataStructures::ArchiveFile> archiveFile;
-    std::set<std::string> vidsToSetDirty;
-    while(selectRset.next()) {
-      if(nullptr == archiveFile.get()) {
-        archiveFile = cta::make_unique<common::dataStructures::ArchiveFile>();
-
-        archiveFile->archiveFileID = selectRset.columnUint64("ARCHIVE_FILE_ID");
-        archiveFile->diskInstance = selectRset.columnString("DISK_INSTANCE_NAME");
-        archiveFile->diskFileId = selectRset.columnString("DISK_FILE_ID");
-        archiveFile->diskFileInfo.owner_uid = selectRset.columnUint64("DISK_FILE_UID");
-        archiveFile->diskFileInfo.gid = selectRset.columnUint64("DISK_FILE_GID");
-        archiveFile->fileSize = selectRset.columnUint64("SIZE_IN_BYTES");
-        archiveFile->checksumBlob.deserializeOrSetAdler32(selectRset.columnBlob("CHECKSUM_BLOB"), selectRset.columnUint64("CHECKSUM_ADLER32"));
-        archiveFile->storageClass = selectRset.columnString("STORAGE_CLASS_NAME");
-        archiveFile->creationTime = selectRset.columnUint64("ARCHIVE_FILE_CREATION_TIME");
-        archiveFile->reconciliationTime = selectRset.columnUint64("RECONCILIATION_TIME");
-      }
-
-      // If there is a tape file
-      if(!selectRset.columnIsNull("VID")) {
-        // Add the tape file to the archive file's in-memory structure
-        common::dataStructures::TapeFile tapeFile;
-        tapeFile.vid = selectRset.columnString("VID");
-        vidsToSetDirty.insert(tapeFile.vid);
-        tapeFile.fSeq = selectRset.columnUint64("FSEQ");
-        tapeFile.blockId = selectRset.columnUint64("BLOCK_ID");
-        tapeFile.fileSize = selectRset.columnUint64("LOGICAL_SIZE_IN_BYTES");
-        tapeFile.copyNb = selectRset.columnUint64("COPY_NB");
-        tapeFile.creationTime = selectRset.columnUint64("TAPE_FILE_CREATION_TIME");
-        tapeFile.checksumBlob = archiveFile->checksumBlob; // Duplicated for convenience
-
-        archiveFile->tapeFiles.push_back(tapeFile);
-      }
-    }
-
-    if(nullptr == archiveFile.get()) {
-      log::ScopedParamContainer spc(lc);
-      spc.add("fileId", archiveFileId);
-      lc.log(log::WARNING, "Ignoring request to delete archive file because it does not exist in the catalogue");
-      return;
-    }
-
-    if(diskInstanceName != archiveFile->diskInstance) {
-      log::ScopedParamContainer spc(lc);
-      spc.add("fileId", std::to_string(archiveFile->archiveFileID))
-         .add("diskInstance", archiveFile->diskInstance)
-         .add("requestDiskInstance", diskInstanceName)
-         .add("diskFileId", archiveFile->diskFileId)
-         .add("diskFileInfo.owner_uid", archiveFile->diskFileInfo.owner_uid)
-         .add("diskFileInfo.gid", archiveFile->diskFileInfo.gid)
-         .add("fileSize", std::to_string(archiveFile->fileSize))
-         .add("creationTime", std::to_string(archiveFile->creationTime))
-         .add("reconciliationTime", std::to_string(archiveFile->reconciliationTime))
-         .add("storageClass", archiveFile->storageClass)
-         .add("getConnTime", getConnTime)
-         .add("createStmtTime", createStmtTime)
-         .add("selectFromArchiveFileTime", selectFromArchiveFileTime);
-      for(auto it=archiveFile->tapeFiles.begin(); it!=archiveFile->tapeFiles.end(); it++) {
-        std::stringstream tapeCopyLogStream;
-        tapeCopyLogStream << "copy number: " << it->copyNb
-          << " vid: " << it->vid
-          << " fSeq: " << it->fSeq
-          << " blockId: " << it->blockId
-          << " creationTime: " << it->creationTime
-          << " fileSize: " << it->fileSize
-          << " copyNb: " << it->copyNb;
-        spc.add("TAPE FILE", tapeCopyLogStream.str());
-        archiveFile->checksumBlob.addFirstChecksumToLog(spc);
-      }
-      lc.log(log::WARNING, "Failed to delete archive file because the disk instance of the request does not match that "
-        "of the archived file");
-
-      exception::UserError ue;
-      ue.getMessage() << "Failed to delete archive file with ID " << archiveFileId << " because the disk instance of "
-        "the request does not match that of the archived file: archiveFileId=" << archiveFileId << " requestDiskInstance=" << diskInstanceName << " archiveFileDiskInstance=" <<     archiveFile->diskInstance;
-      throw ue;
-    }
-
-    t.reset();
-
-    conn.executeNonQuery("START TRANSACTION");
-
-    {
-      const char *const sql = "DELETE FROM TAPE_FILE WHERE ARCHIVE_FILE_ID = :ARCHIVE_FILE_ID";
-      auto stmt = conn.createStmt(sql);
-      stmt.bindUint64(":ARCHIVE_FILE_ID", archiveFileId);
-      stmt.executeNonQuery();
-    }
-    
-    const auto deleteFromTapeFileTime = t.secs(utils::Timer::resetCounter);
-
-    for(auto &vidToSetDirty: vidsToSetDirty){
-      //We deleted the TAPE_FILE so the tapes containing them should be set as dirty
-      setTapeDirty(conn,vidToSetDirty);
-    }
-    
-    const auto setTapeDirtyTime = t.secs(utils::Timer::resetCounter);
-
-    {
-      const char *const sql = "DELETE FROM ARCHIVE_FILE WHERE ARCHIVE_FILE_ID = :ARCHIVE_FILE_ID";
-      auto stmt = conn.createStmt(sql);
-      stmt.bindUint64(":ARCHIVE_FILE_ID", archiveFileId);
-      stmt.executeNonQuery();
-    }
-    const auto deleteFromArchiveFileTime = t.secs(utils::Timer::resetCounter);
-    conn.commit();
-    const auto commitTime = t.secs();
-
-    log::ScopedParamContainer spc(lc);
-    spc.add("fileId", std::to_string(archiveFile->archiveFileID))
-       .add("diskInstance", archiveFile->diskInstance)
-       .add("diskFileId", archiveFile->diskFileId)
-       .add("diskFileInfo.owner_uid", archiveFile->diskFileInfo.owner_uid)
-       .add("diskFileInfo.gid", archiveFile->diskFileInfo.gid)
-       .add("fileSize", std::to_string(archiveFile->fileSize))
-       .add("creationTime", std::to_string(archiveFile->creationTime))
-       .add("reconciliationTime", std::to_string(archiveFile->reconciliationTime))
-       .add("storageClass", archiveFile->storageClass)
-       .add("getConnTime", getConnTime)
-       .add("createStmtTime", createStmtTime)
-       .add("selectFromArchiveFileTime", selectFromArchiveFileTime)
-       .add("deleteFromTapeFileTime", deleteFromTapeFileTime)
-       .add("deleteFromArchiveFileTime", deleteFromArchiveFileTime)
-       .add("setTapeDirtyTime",setTapeDirtyTime)
-       .add("commitTime", commitTime);
-    archiveFile->checksumBlob.addFirstChecksumToLog(spc);
-    for(auto it=archiveFile->tapeFiles.begin(); it!=archiveFile->tapeFiles.end(); it++) {
-      std::stringstream tapeCopyLogStream;
-      tapeCopyLogStream << "copy number: " << it->copyNb
-        << " vid: " << it->vid
-        << " fSeq: " << it->fSeq
-        << " blockId: " << it->blockId
-        << " creationTime: " << it->creationTime
-        << " fileSize: " << it->fileSize
-        << " copyNb: " << static_cast<int>(it->copyNb); //this shouldn't be here: repeated field
-      spc.add("TAPE FILE", tapeCopyLogStream.str());
-    }
-    lc.log(log::INFO, "Archive file deleted from CTA catalogue");
-  } catch(exception::UserError &) {
-    throw;
-  } catch(exception::Exception &ex) {
-    ex.getMessage().str(std::string(__FUNCTION__) + ": " + ex.getMessage().str());
-    throw;
-  }
-}
-
-//------------------------------------------------------------------------------
-// copyArchiveFileToRecycleBinAndDelete
-//------------------------------------------------------------------------------
-void MysqlCatalogue::copyArchiveFileToFileRecyleLogAndDelete(rdbms::Conn & conn, const common::dataStructures::DeleteArchiveRequest &request, log::LogContext & lc){
-  try {
-    utils::Timer t;
-    log::TimingList tl;
-    //We currently do an INSERT INTO and a DELETE FROM
-    //in a single transaction
-    conn.executeNonQuery("START TRANSACTION");
-    copyArchiveFileToFileRecycleLog(conn,request);
-    tl.insertAndReset("insertToRecycleBinTime",t);
-    setTapeDirty(conn,request.archiveFileID);
-    tl.insertAndReset("setTapeDirtyTime",t);
-    deleteTapeFiles(conn,request);
-    tl.insertAndReset("deleteTapeFilesTime",t);
-    RdbmsCatalogue::deleteArchiveFile(conn,request);
-    tl.insertAndReset("deleteArchiveFileTime",t);
-    conn.commit();
-    tl.insertAndReset("commitTime",t);
-    log::ScopedParamContainer spc(lc);
-    spc.add("archiveFileId",request.archiveFileID);
-    spc.add("diskFileId",request.diskFileId);
-    spc.add("diskFilePath",request.diskFilePath);
-    spc.add("diskInstance",request.diskInstance);
-    tl.addToLog(spc);
-    lc.log(log::INFO,"In MysqlCatalogue::copyArchiveFileToRecycleBinAndDelete: ArchiveFile moved to the recycle-bin.");
-  } catch(exception::UserError &) {
-    throw;
-  } catch(exception::Exception &ex) {
-    ex.getMessage().str(std::string(__FUNCTION__) + ": " + ex.getMessage().str());
-    throw;
-  }
-}
-
-//------------------------------------------------------------------------------
-// deleteTapeFilesAndArchiveFileFromRecycleBin
-//------------------------------------------------------------------------------
-void MysqlCatalogue::deleteTapeFilesAndArchiveFileFromRecycleBin(rdbms::Conn & conn, const uint64_t archiveFileId, log::LogContext &lc) {
-  try {
-    utils::Timer t;
-    log::TimingList tl;
-    //We currently do two delete in one transaction
-    conn.executeNonQuery("START TRANSACTION");
-    deleteTapeFilesFromRecycleBin(conn,archiveFileId);
-    tl.insertAndReset("deleteTapeFilesTime",t);
-    deleteArchiveFileFromRecycleBin(conn,archiveFileId);
-    tl.insertAndReset("deleteArchiveFileTime",t);
-    conn.commit();
-    tl.insertAndReset("commitTime",t);
-    log::ScopedParamContainer spc(lc);
-    spc.add("archiveFileId",archiveFileId);
-    tl.addToLog(spc);
-    lc.log(log::INFO,"In MysqlCatalogue::deleteTapeFilesAndArchiveFileFromRecycleBin: tape files and archiveFiles deleted from the recycle-bin.");
-  } catch(exception::UserError &) {
-    throw;
-  } catch(exception::Exception &ex) {
-    ex.getMessage().str(std::string(__FUNCTION__) + ": " + ex.getMessage().str());
-    throw;
-  }
-}
-
-//------------------------------------------------------------------------------
-// copyTapeFileToFileRecyleLogAndDelete
-//------------------------------------------------------------------------------
-void MysqlCatalogue::copyTapeFileToFileRecyleLogAndDelete(rdbms::Conn & conn, const cta::common::dataStructures::ArchiveFile &file,
-                                                          const std::string &reason, log::LogContext & lc) {
-  try {
-    utils::Timer t;
-    log::TimingList tl;
-    //We currently do an INSERT INTO and a DELETE FROM
-    //in a single transaction
-    conn.executeNonQuery("START TRANSACTION");
-    copyTapeFilesToFileRecycleLog(conn, file, reason);
-    tl.insertAndReset("insertToRecycleBinTime",t);
-    setTapeDirty(conn, file.archiveFileID);
-    tl.insertAndReset("setTapeDirtyTime",t);
-    deleteTapeFiles(conn,file);
-    tl.insertAndReset("deleteTapeFilesTime",t);
-    conn.commit();
-    tl.insertAndReset("commitTime",t);
-    log::ScopedParamContainer spc(lc);
-    spc.add("archiveFileId", file.archiveFileID);
-    spc.add("diskFileId", file.diskFileId);
-    spc.add("diskFilePath", file.diskFileInfo.path);
-    spc.add("diskInstance", file.diskInstance);
-    tl.addToLog(spc);
-    lc.log(log::INFO,"In MysqlCatalogue::copyArchiveFileToRecycleBinAndDelete: ArchiveFile moved to the recycle-bin.");
-    
-  } catch(exception::UserError &) {
-    throw;
-  } catch(exception::Exception &ex) {
-    ex.getMessage().str(std::string(__FUNCTION__) + ": " + ex.getMessage().str());
-    throw;
-  } 
-}
-
-//------------------------------------------------------------------------------
-// restoreEntryInRecycleLog
-//------------------------------------------------------------------------------
-void MysqlCatalogue::restoreEntryInRecycleLog(rdbms::Conn & conn, FileRecycleLogItor &fileRecycleLogItor, 
-  const std::string &newFid, log::LogContext & lc) {
-  try {
-    utils::Timer t;
-    log::TimingList tl;
-
-    if (!fileRecycleLogItor.hasMore()) {
-      throw cta::exception::UserError("No file in the recycle bin matches the parameters passed");
-    }
-    auto fileRecycleLog = fileRecycleLogItor.next();  
-    if (fileRecycleLogItor.hasMore()) {
-      //stop restoring more than one file at once
-      throw cta::exception::UserError("More than one recycle bin file matches the parameters passed");
-    }
-
-    conn.executeNonQuery("START TRANSACTION");
-
-    std::unique_ptr<common::dataStructures::ArchiveFile> archiveFilePtr = getArchiveFileById(conn, fileRecycleLog.archiveFileId);
-    if (!archiveFilePtr) {
-      restoreArchiveFileInRecycleLog(conn, fileRecycleLog, newFid, lc);
-    } else {
-      if (archiveFilePtr->tapeFiles.find(fileRecycleLog.copyNb) != archiveFilePtr->tapeFiles.end()) {
-        //copy with same copy_nb exists, cannot restore
-        UserSpecifiedExistingDeletedFileCopy ex;
-        ex.getMessage() << "Cannot restore file copy with archiveFileId " << std::to_string(fileRecycleLog.archiveFileId) 
-        << " and copy_nb " << std::to_string(fileRecycleLog.copyNb) << " because a tapefile with same archiveFileId and copy_nb already exists";
-        throw ex;
-      }
-    }
-
-    
-    restoreFileCopyInRecycleLog(conn, fileRecycleLog, lc);
-    
-    conn.commit();
-
-    log::ScopedParamContainer spc(lc);
-    tl.insertAndReset("commitTime",t);
-    tl.addToLog(spc);
-    lc.log(log::INFO,"In MysqlCatalogue::restoreEntryInRecycleLog: all file copies successfully restored.");
-  } catch(exception::UserError &) {
-    throw;
-  } catch(exception::Exception &ex) {
-    ex.getMessage().str(std::string(__FUNCTION__) + ": " + ex.getMessage().str());
-    throw;
-  }
-}
-
-//------------------------------------------------------------------------------
-// restoreFileCopyInRecycleLog
-//------------------------------------------------------------------------------
-void MysqlCatalogue::restoreFileCopyInRecycleLog(rdbms::Conn & conn, const common::dataStructures::FileRecycleLog &fileRecycleLog, log::LogContext & lc) {
-  try {
-    utils::Timer t;
-    log::TimingList tl;
-    cta::common::dataStructures::TapeFile tapeFile;
-    tapeFile.vid = fileRecycleLog.vid;
-    tapeFile.fSeq = fileRecycleLog.fSeq;
-    tapeFile.copyNb = fileRecycleLog.copyNb;
-    tapeFile.blockId = fileRecycleLog.blockId;
-    tapeFile.fileSize = fileRecycleLog.sizeInBytes;
-    tapeFile.creationTime = fileRecycleLog.tapeFileCreationTime;
-
-    insertTapeFile(conn, tapeFile, fileRecycleLog.archiveFileId);
-    tl.insertAndReset("insertTapeFileTime",t);
-    
-    deleteTapeFileCopyFromRecycleBin(conn, fileRecycleLog);
-    tl.insertAndReset("deleteTapeFileCopyFromRecycleBinTime",t);
-    
-    log::ScopedParamContainer spc(lc);
-    spc.add("vid", tapeFile.vid);
-    spc.add("archiveFileId", fileRecycleLog.archiveFileId);
-    spc.add("fSeq", tapeFile.fSeq);
-    spc.add("copyNb", tapeFile.copyNb);
-    spc.add("fileSize", tapeFile.fileSize);
-    tl.addToLog(spc);
-    lc.log(log::INFO,"In MysqlCatalogue::restoreFileCopyInRecycleLog: File restored from the recycle log.");
-  } catch(exception::UserError &) {
-    throw;
-  } catch(exception::Exception &ex) {
-    ex.getMessage().str(std::string(__FUNCTION__) + ": " + ex.getMessage().str());
-    throw;
-  }
-}
-
-} // namespace catalogue
-} // namespace cta
diff --git a/catalogue/MysqlCatalogue.hpp b/catalogue/MysqlCatalogue.hpp
deleted file mode 100644
index 8be5fc4f438708ba07ad33c29710f69f94b5ba14..0000000000000000000000000000000000000000
--- a/catalogue/MysqlCatalogue.hpp
+++ /dev/null
@@ -1,259 +0,0 @@
-/*
- * @project        The CERN Tape Archive (CTA)
- * @copyright      Copyright(C) 2015-2021 CERN
- * @license        This program is free software: you can redistribute it and/or modify
- *                 it under the terms of the GNU General Public License as published by
- *                 the Free Software Foundation, either version 3 of the License, or
- *                 (at your option) any later version.
- *
- *                 This program is distributed in the hope that it will be useful,
- *                 but WITHOUT ANY WARRANTY; without even the implied warranty of
- *                 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *                 GNU General Public License for more details.
- *
- *                 You should have received a copy of the GNU General Public License
- *                 along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include "catalogue/RdbmsCatalogue.hpp"
-#include "rdbms/Login.hpp"
-
-namespace cta {
-namespace catalogue {
-
-class CatalogueFactory;
-
-/**
- * A MySQL implementation of the CTA catalogue.
- */
-class MysqlCatalogue: public RdbmsCatalogue {
-public:
-
-  /**
-   * Constructor.
-   *
-   * @param log Object representing the API to the CTA logging system.
-   * @param login Login object to connect MySQL server.
-   * @param nbConns The maximum number of concurrent connections to the
-   * underlying relational database for all operations accept listing archive
-   * files which can be relatively long operations.
-   * @param nbArchiveFileListingConns The maximum number of concurrent
-   * connections to the underlying relational database for the sole purpose of
-   * listing archive files.
-   */
-  MysqlCatalogue(
-    log::Logger &log,
-    const rdbms::Login &login,
-    const uint64_t nbConns,
-    const uint64_t nbArchiveFileListingConns);
-
-  /**
-   * Destructor.
-   */
-  ~MysqlCatalogue() override;
-
-protected:
-
-  /**
-   * Creates a temporary table from the list of disk file IDs provided in the search criteria.
-   *
-   * @param conn The database connection.
-   * @param diskFileIds List of disk file IDs (fxid).
-   * @return Name of the temporary table
-   */
-  std::string createAndPopulateTempTableFxid(rdbms::Conn &conn, const optional<std::vector<std::string>> &diskFileIds) const override;
-
-  /**
-   * Returns a unique archive ID that can be used by a new archive file within
-   * the catalogue.
-   *
-   * This method must be implemented by the sub-classes of RdbmsCatalogue
-   * because different database technologies propose different solutions to the
-   * problem of generating ever increasing numeric identifiers.
-   *
-   * @param conn The database connection.
-   * @return A unique archive ID that can be used by a new archive file within
-   * the catalogue.
-   */
-  uint64_t getNextArchiveFileId(rdbms::Conn &conn) override;
-
-  /**
-   * Returns a unique logical library ID that can be used by a new logical
-   * library within the catalogue.
-   *
-   * This method must be implemented by the sub-classes of RdbmsCatalogue
-   * because different database technologies propose different solution to the
-   * problem of generating ever increasing numeric identifiers.
-   *
-   * @param conn The database connection.
-   * @return a unique logical library ID that can be used by a new logical
-   * library storage class within the catalogue.
-   */
-  uint64_t getNextLogicalLibraryId(rdbms::Conn &conn) override;
-  
-  /**
-   * Returns a unique virtual organization ID that can be used by a new Virtual Organization
-   * within the catalogue.
-   * 
-   * This method must be implemented by the sub-classes of RdbmsCatalogue
-   * because different database technologies propose different solution to the
-   * problem of generating ever increasing numeric identifiers.
-   * 
-   * @param conn The database connection
-   * @return a unique virtual organization ID that can be used by a new Virtual Organization
-   * within the catalogue.
-   */
-  uint64_t getNextVirtualOrganizationId(rdbms::Conn &conn) override;
-
-  /**
-   * Returns a unique media type ID that can be used by a new media type within
-   * the catalogue.
-   *
-   * This method must be implemented by the sub-classes of RdbmsCatalogue
-   * because different database technologies propose different solution to the
-   * problem of generating ever increasing numeric identifiers.
-   *
-   * @param conn The database connection.
-   * @return a unique media type ID that can be used by a new media type
-   * within the catalogue.
-   */
-  uint64_t getNextMediaTypeId(rdbms::Conn &conn) override;
-
-  /**
-   * Returns a unique storage class ID that can be used by a new storage class
-   * within the catalogue.
-   *
-   * This method must be implemented by the sub-classes of RdbmsCatalogue
-   * because different database technologies propose different solution to the
-   * problem of generating ever increasing numeric identifiers.
-   *
-   * @param conn The database connection.
-   * @return a unique storage class ID that can be used by a new storage class
-   * within the catalogue.
-   */
-  uint64_t getNextStorageClassId(rdbms::Conn &conn) override;
-
-  /**
-   * Returns a unique tape pool ID that can be used by a new tape pool within
-   * the catalogue.
-   *
-   * This method must be implemented by the sub-classes of RdbmsCatalogue
-   * because different database technologies propose different solution to the
-   * problem of generating ever increasing numeric identifiers.
-   *
-   * @param conn The database connection.
-   * @return a unique tape pool ID that can be used by a new tape pool within
-   * the catalogue.
-   */
-  uint64_t getNextTapePoolId(rdbms::Conn &conn) override;
-  
-  /**
-   * Returns a unique file recycle log ID that can be used by a new entry of file recycle log within
-   * the catalogue.
-   *
-   * This method must be implemented by the sub-classes of RdbmsCatalogue
-   * because different database technologies propose different solution to the
-   * problem of generating ever increasing numeric identifiers.
-   *
-   * @param conn The database connection.
-   * @return a unique file recycle log ID that can be used by a new entry of file recycle log within
-   * the catalogue.
-   */
-  uint64_t getNextFileRecyleLogId(rdbms::Conn & conn) override;
-
-  /**
-   * Notifies the catalogue that the specified files have been written to tape.
-   *
-   * @param events The tape file written events.
-   */
-  void filesWrittenToTape(const std::set<TapeItemWrittenPointer> &events) override;
-
-  /**
-   * !!!!!!!!!!!!!!!!!!! THIS METHOD SHOULD NOT BE USED !!!!!!!!!!!!!!!!!!!!!!!
-   * Deletes the specified archive file and its associated tape copies from the
-   * catalogue.
-   *
-   * Please note that the name of the disk instance is specified in order to
-   * prevent a disk instance deleting an archive file that belongs to another
-   * disk instance.
-   *
-   * Please note that this method is idempotent.  If the file to be deleted does
-   * not exist in the CTA catalogue then this method returns without error.
-   *
-   * @param instanceName The name of the instance from where the deletion request
-   * originated
-   * @param archiveFileId The unique identifier of the archive file.
-   * @param lc The log context.
-   * @return The metadata of the deleted archive file including the metadata of
-   * the associated and also deleted tape copies.
-   */
-  void DO_NOT_USE_deleteArchiveFile_DO_NOT_USE(const std::string &instanceName, const uint64_t archiveFileId,
-    log::LogContext &lc) override;
-
-  /**
-   * Copy the archiveFile and the associated tape files from the ARCHIVE_FILE and TAPE_FILE tables to the FILE_RECYCLE_LOG table
-   * and deletes the ARCHIVE_FILE and TAPE_FILE entries.
-   * @param conn the database connection
-   * @param request the request that contains the necessary informations to identify the archiveFile to copy to the FILE_RECYCLE_LOG table
-   * @param lc the log context
-   */
-  void copyArchiveFileToFileRecyleLogAndDelete(rdbms::Conn & conn,const common::dataStructures::DeleteArchiveRequest &request, log::LogContext & lc) override;
-  
-  /**
-   * Delete the TapeFiles and the ArchiveFile from the recycle-bin in one transaction
-   * @param conn the database connection
-   * @param archiveFileId the archiveFileId of the file to delete from the recycle-bin
-   */
-  void deleteTapeFilesAndArchiveFileFromRecycleBin(rdbms::Conn & conn, const uint64_t archiveFileId, log::LogContext & lc) override;
-  
-  /**
-   * Copy the tape files from the TAPE_FILE tables to the FILE_RECYCLE_LOG table
-   * and deletes the TAPE_FILE entry.
-   * @param conn the database connection
-   * @param file the file to be deleted
-   * @param reason The reason for deleting the tape file copy
-   * @param lc the log context
-   */
-  void copyTapeFileToFileRecyleLogAndDelete(rdbms::Conn & conn, const cta::common::dataStructures::ArchiveFile &file, 
-                                            const std::string &reason, log::LogContext & lc) override;
-
-  /**
-   * Copy the files in fileRecycleLogItor to the TAPE_FILE table and deletes the corresponding FILE_RECYCLE_LOG table entries
-   * @param conn the database connection
-   * @param fileRecycleLogItor the collection of fileRecycleLogs we want to restore
-   * @param lc the log context
-   */
-  void restoreEntryInRecycleLog(rdbms::Conn & conn, FileRecycleLogItor &fileRecycleLogItor, const std::string &newFid, log::LogContext & lc) override;
-
-  /**
-   * Copy the fileRecycleLog to the TAPE_FILE table and deletes the corresponding FILE_RECYCLE_LOG table entry
-   * @param conn the database connection
-   * @param fileRecycleLog the fileRecycleLog we want to restore
-   * @param lc the log context
-   */
-  void restoreFileCopyInRecycleLog(rdbms::Conn & conn, const common::dataStructures::FileRecycleLog &fileRecycleLogItor, log::LogContext & lc);
-
-private:
-
-  /**
-   * Notifies the catalogue that a file has been written to tape.
-   *
-   * @param conn The database connection.
-   * @param event The tape file written event.
-   */
-  void fileWrittenToTape(rdbms::Conn &conn, const TapeFileWritten &event);
-
-  /**
-   * Selects the specified tape for update and returns its last FSeq.
-   *
-   * @param conn The database connection.
-   * @param vid The volume identifier of the tape.
-   * @return The last FSeq of the tape.
-   */
-  uint64_t selectTapeForUpdateAndGetLastFSeq(rdbms::Conn &conn, const std::string &vid);
-}; // class MysqlCatalogue
-
-} // namespace catalogue
-} // namespace cta
diff --git a/catalogue/MysqlCatalogueFactory.cpp b/catalogue/MysqlCatalogueFactory.cpp
deleted file mode 100644
index 396f5f59e832deed217a61e91ad42741036a60a9..0000000000000000000000000000000000000000
--- a/catalogue/MysqlCatalogueFactory.cpp
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * @project        The CERN Tape Archive (CTA)
- * @copyright      Copyright(C) 2015-2021 CERN
- * @license        This program is free software: you can redistribute it and/or modify
- *                 it under the terms of the GNU General Public License as published by
- *                 the Free Software Foundation, either version 3 of the License, or
- *                 (at your option) any later version.
- *
- *                 This program is distributed in the hope that it will be useful,
- *                 but WITHOUT ANY WARRANTY; without even the implied warranty of
- *                 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *                 GNU General Public License for more details.
- *
- *                 You should have received a copy of the GNU General Public License
- *                 along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "catalogue/CatalogueRetryWrapper.hpp"
-#include "catalogue/MysqlCatalogueFactory.hpp"
-#include "catalogue/MysqlCatalogue.hpp"
-#include "common/exception/Exception.hpp"
-#include "common/make_unique.hpp"
-
-namespace cta {
-namespace catalogue {
-
-//------------------------------------------------------------------------------
-// constructor
-//------------------------------------------------------------------------------
-MysqlCatalogueFactory::MysqlCatalogueFactory(
-  log::Logger &log,
-  const rdbms::Login &login,
-  const uint64_t nbConns,
-  const uint64_t nbArchiveFileListingConns,
-  const uint32_t maxTriesToConnect):
-  m_log(log),
-  m_login(login),
-  m_nbConns(nbConns),
-  m_nbArchiveFileListingConns(nbArchiveFileListingConns),
-  m_maxTriesToConnect(maxTriesToConnect) {
-  if(rdbms::Login::DBTYPE_MYSQL != login.dbType) {
-    exception::Exception ex;
-    ex.getMessage() << __FUNCTION__ << "failed: Incorrect database type: expected=DBTYPE_MYSQL actual=" <<
-      login.dbTypeToString(login.dbType);
-    throw ex;
-  }
-}
-
-//------------------------------------------------------------------------------
-// create
-//------------------------------------------------------------------------------
-std::unique_ptr<Catalogue> MysqlCatalogueFactory::create() {
-  try {
-    auto c = cta::make_unique<MysqlCatalogue>(m_log, m_login, m_nbConns, m_nbArchiveFileListingConns);
-    return cta::make_unique<CatalogueRetryWrapper>(m_log, std::move(c), m_maxTriesToConnect);
-  } catch(exception::Exception &ex) {
-    throw exception::Exception(std::string(__FUNCTION__) + " failed: " + ex.getMessage().str());
-  }
-}
-
-} // namespace catalogue
-} // namespace cta
diff --git a/catalogue/MysqlCatalogueFactory.hpp b/catalogue/MysqlCatalogueFactory.hpp
deleted file mode 100644
index 02df6e68afc9c4d6c4c5cdef41ce1ea4e6fcd404..0000000000000000000000000000000000000000
--- a/catalogue/MysqlCatalogueFactory.hpp
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * @project        The CERN Tape Archive (CTA)
- * @copyright      Copyright(C) 2015-2021 CERN
- * @license        This program is free software: you can redistribute it and/or modify
- *                 it under the terms of the GNU General Public License as published by
- *                 the Free Software Foundation, either version 3 of the License, or
- *                 (at your option) any later version.
- *
- *                 This program is distributed in the hope that it will be useful,
- *                 but WITHOUT ANY WARRANTY; without even the implied warranty of
- *                 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *                 GNU General Public License for more details.
- *
- *                 You should have received a copy of the GNU General Public License
- *                 along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include "catalogue/CatalogueFactory.hpp"
-#include "rdbms/Login.hpp"
-
-namespace cta {
-namespace catalogue {
-
-/**
- * Factory of Catalogue objects.
- */
-class MysqlCatalogueFactory: public CatalogueFactory {
-public:
-
-  /**
-   * Constructor
-   *
-   * @param log Object representing the API to the CTA logging system.
-   * @param login The database login details to be used to create new
-   * connections.
-   * @param nbConns The maximum number of concurrent connections to the
-   * underlying relational database for all operations accept listing archive
-   * files which can be relatively long operations.
-   * @param nbArchiveFileListingConns The maximum number of concurrent
-   * connections to the underlying relational database for the sole purpose of
-   * listing archive files.
-   * @param maxTriesToConnext The maximum number of times a single method should
-   * try to connect to the database in the event of LostDatabaseConnection
-   * exceptions being thrown.
-   */
-  MysqlCatalogueFactory(
-    log::Logger &log,
-    const rdbms::Login &login,
-    const uint64_t nbConns,
-    const uint64_t nbArchiveFileListingConns,
-    const uint32_t maxTriesToConnect);
-
-  /**
-   * Returns a newly created CTA catalogue object.
-   */
-  std::unique_ptr<Catalogue> create() override;
-
-private:
-
-  /**
-   * Object representing the API to the CTA logging system.
-   */
-  log::Logger &m_log;
-
-  /**
-   * The database login details to be used to create new connections.
-   */
-  rdbms::Login m_login;
-
-  /**
-   * The maximum number of concurrent connections to the underlying relational
-   * database for all operations accept listing archive files which can be
-   * relatively long operations.
-   */
-  uint64_t m_nbConns;
-
-  /**
-   * The maximum number of concurrent connections to the underlying relational
-   * database for the sole purpose of listing archive files.
-   */
-  uint64_t m_nbArchiveFileListingConns;
-
-  /**
-   * The maximum number of times a single method should try to connect to the
-   * database in the event of LostDatabaseConnection
-   * exceptions being thrown.
-   */
-  uint32_t m_maxTriesToConnect;
-
-}; // class MysqlCatalogueFactory
-
-} // namespace catalogue
-} // namespace cta
diff --git a/catalogue/MysqlCatalogueSchema.before_SQL.cpp b/catalogue/MysqlCatalogueSchema.before_SQL.cpp
deleted file mode 100644
index bc384650fccbaddc4b782851d5d105be7ada574e..0000000000000000000000000000000000000000
--- a/catalogue/MysqlCatalogueSchema.before_SQL.cpp
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * @project        The CERN Tape Archive (CTA)
- * @copyright      Copyright(C) 2015-2021 CERN
- * @license        This program is free software: you can redistribute it and/or modify
- *                 it under the terms of the GNU General Public License as published by
- *                 the Free Software Foundation, either version 3 of the License, or
- *                 (at your option) any later version.
- *
- *                 This program is distributed in the hope that it will be useful,
- *                 but WITHOUT ANY WARRANTY; without even the implied warranty of
- *                 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *                 GNU General Public License for more details.
- *
- *                 You should have received a copy of the GNU General Public License
- *                 along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "catalogue/MysqlCatalogueSchema.hpp"
-
-namespace cta {
-namespace catalogue {
-
-//------------------------------------------------------------------------------
-// constructor
-//------------------------------------------------------------------------------
-MysqlCatalogueSchema::MysqlCatalogueSchema(): CatalogueSchema(
-  // CTA_SQL_SCHEMA - The contents of sqlite_catalogue_schema.cpp go here
-  ) {
-}
-
-} // namespace catalogue
-} // namespace cta
diff --git a/catalogue/MysqlCatalogueSchema.hpp b/catalogue/MysqlCatalogueSchema.hpp
deleted file mode 100644
index be5ab2a88b9d3a8dd4f5dca7ccf1f98704252b53..0000000000000000000000000000000000000000
--- a/catalogue/MysqlCatalogueSchema.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * @project        The CERN Tape Archive (CTA)
- * @copyright      Copyright(C) 2015-2021 CERN
- * @license        This program is free software: you can redistribute it and/or modify
- *                 it under the terms of the GNU General Public License as published by
- *                 the Free Software Foundation, either version 3 of the License, or
- *                 (at your option) any later version.
- *
- *                 This program is distributed in the hope that it will be useful,
- *                 but WITHOUT ANY WARRANTY; without even the implied warranty of
- *                 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *                 GNU General Public License for more details.
- *
- *                 You should have received a copy of the GNU General Public License
- *                 along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include "CatalogueSchema.hpp"
-
-#include <string>
-#include <vector>
-
-namespace cta {
-namespace catalogue {
-
-/**
- * Structure containing the SQL to create the schema of the CTA catalogue
- * database in an SQLite database.
- *
- * The CMakeLists.txt file of this directory instructs cmake to generate
- * MysqlCatalogueSchema.cpp from:
- *   - MysqlCatalogueSchema.before_SQL.cpp
- *   - sqlite_catalogue_schema.sql
- *
- * The MysqlCatalogueSchema.before_SQL.cpp file is not compilable and is therefore
- * difficult for Integrated Developent Environments (IDEs) to handle.
- *
- * The purpose of this class is to help IDEs by isolating the "non-compilable"
- * issues into a small cpp file.
- */
-struct MysqlCatalogueSchema: public CatalogueSchema {
-  /**
-   * Constructor.
-   */
-  MysqlCatalogueSchema();
-
-  /**
-   * Return a list of trigger commands
-   */
-  std::vector<std::string> triggers();
-};
-
-} // namespace catalogue
-} // namespace cta
diff --git a/catalogue/PostgresCatalogue.cpp b/catalogue/PostgresCatalogue.cpp
index 28ef06bdbcb884cb0db3eb4e6427a4db4e90c11d..6fe435bca68063797e2cada8475961ba93cd8029 100644
--- a/catalogue/PostgresCatalogue.cpp
+++ b/catalogue/PostgresCatalogue.cpp
@@ -383,10 +383,10 @@ void PostgresCatalogue::filesWrittenToTape(const std::set<TapeItemWrittenPointer
     // We have a mix of files and items. Only files will be recorded, but items
     // allow checking fSeq coherency.
     // determine the number of files
-    size_t filesCount=std::count_if(events.cbegin(), events.cend(), 
+    size_t filesCount=std::count_if(events.cbegin(), events.cend(),
         [](const TapeItemWrittenPointer &e) -> bool {return typeid(*e)==typeid(TapeFileWritten);});
     TapeFileBatch tapeFileBatch(filesCount);
-    
+
     std::set<TapeFileWritten> fileEvents;
 
     for (const auto &eventP: events) {
@@ -397,7 +397,7 @@ void PostgresCatalogue::filesWrittenToTape(const std::set<TapeItemWrittenPointer
       if (event.vid != firstEvent.vid) {
         throw exception::Exception(std::string("VID mismatch: expected=") + firstEvent.vid + " actual=" + event.vid);
       }
-      
+
       if (expectedFSeq != event.fSeq) {
         exception::TapeFseqMismatch ex;
         ex.getMessage() << "FSeq mismatch for tape " << firstEvent.vid << ": expected=" << expectedFSeq << " actual=" <<
@@ -405,15 +405,15 @@ void PostgresCatalogue::filesWrittenToTape(const std::set<TapeItemWrittenPointer
         throw ex;
       }
       expectedFSeq++;
-      
+
       try {
         // If this is a file (as opposed to a placeholder), do the full processing.
         const auto &fileEvent=dynamic_cast<const TapeFileWritten &>(event);
 
         checkTapeFileWrittenFieldsAreSet(__FUNCTION__, fileEvent);
-        
+
         totalLogicalBytesWritten += fileEvent.size;
-        
+
         fileEvents.insert(fileEvent);
       } catch (std::bad_cast&) {}
     }
@@ -502,7 +502,7 @@ void PostgresCatalogue::filesWrittenToTape(const std::set<TapeItemWrittenPointer
       "-- :COPY_NB,"                                                                 "\n"
       "-- :CREATION_TIME,"                                                           "\n"
       "-- :ARCHIVE_FILE_ID;"                                                         "\n";
-    
+
     auto stmt = conn.createStmt(sql);
     rdbms::wrapper::PostgresStmt &postgresStmt = dynamic_cast<rdbms::wrapper::PostgresStmt &>(stmt.getStmt());
     postgresStmt.setColumn(tapeFileBatch.vid);
@@ -512,30 +512,30 @@ void PostgresCatalogue::filesWrittenToTape(const std::set<TapeItemWrittenPointer
     postgresStmt.setColumn(tapeFileBatch.copyNb);
     postgresStmt.setColumn(tapeFileBatch.creationTime);
     postgresStmt.setColumn(tapeFileBatch.archiveFileId);
-    
+
     postgresStmt.executeCopyInsert(tapeFileBatch.nbRows);
-    
+
     auto recycledFiles = insertOldCopiesOfFilesIfAnyOnFileRecycleLog(conn);
-    
+
     {
       //Insert the tapefiles from the TEMP_TAPE_FILE_INSERTION_BATCH
-      const char * const insertTapeFileSql = 
+      const char * const insertTapeFileSql =
       "INSERT INTO TAPE_FILE (VID, FSEQ, BLOCK_ID, LOGICAL_SIZE_IN_BYTES,"            "\n"
       "COPY_NB, CREATION_TIME, ARCHIVE_FILE_ID) "                                     "\n"
       "SELECT VID, FSEQ, BLOCK_ID, LOGICAL_SIZE_IN_BYTES,"                            "\n"
       "COPY_NB, CREATION_TIME, ARCHIVE_FILE_ID FROM TEMP_TAPE_FILE_INSERTION_BATCH;"  "\n";
       conn.executeNonQuery(insertTapeFileSql);
     }
-    
+
     for(auto & recycledFile: recycledFiles){
-      const char * const deleteTapeFileSql = 
+      const char * const deleteTapeFileSql =
       "DELETE FROM TAPE_FILE WHERE TAPE_FILE.VID = :VID AND TAPE_FILE.FSEQ = :FSEQ";
       auto deleteTapeFileStmt = conn.createStmt(deleteTapeFileSql);
       deleteTapeFileStmt.bindString(":VID",recycledFile.vid);
       deleteTapeFileStmt.bindUint64(":FSEQ",recycledFile.fSeq);
       deleteTapeFileStmt.executeNonQuery();
     }
-    
+
     autoRollback.cancel();
     conn.commit();
   } catch(exception::UserError &) {
@@ -644,8 +644,8 @@ void PostgresCatalogue::idempotentBatchInsertArchiveFiles(rdbms::Conn &conn,
         "A.DISK_FILE_UID,"
         "A.DISK_FILE_GID,"
         "A.SIZE_IN_BYTES,"
-        "A.CHECKSUM_BLOB," 
-        "A.CHECKSUM_ADLER32," 
+        "A.CHECKSUM_BLOB,"
+        "A.CHECKSUM_ADLER32,"
         "S.STORAGE_CLASS_ID,"
         "A.CREATION_TIME,"
         "A.RECONCILIATION_TIME "
@@ -935,14 +935,14 @@ void PostgresCatalogue::DO_NOT_USE_deleteArchiveFile_DO_NOT_USE(const std::strin
       stmt.bindUint64(":ARCHIVE_FILE_ID", archiveFileId);
       stmt.executeNonQuery();
     }
-    
+
     const auto deleteFromTapeFileTime = t.secs(utils::Timer::resetCounter);
-    
+
     for(auto &vidToSetDirty: vidsToSetDirty){
       //We deleted the TAPE_FILE so the tapes containing them should be set as dirty
       setTapeDirty(conn,vidToSetDirty);
     }
-    
+
     const auto setTapeDirtyTime = t.secs(utils::Timer::resetCounter);
 
     {
@@ -1038,7 +1038,7 @@ void PostgresCatalogue::copyArchiveFileToFileRecyleLogAndDelete(rdbms::Conn & co
     spc.add("diskFilePath",request.diskFilePath);
     spc.add("diskInstance",request.diskInstance);
     tl.addToLog(spc);
-    lc.log(log::INFO,"In MysqlCatalogue::copyArchiveFileToRecycleBinAndDelete: ArchiveFile moved to the recycle-bin.");
+    lc.log(log::INFO,"In PostgresCatalogue::copyArchiveFileToRecycleBinAndDelete: ArchiveFile moved to the recycle-bin.");
   } catch(exception::UserError &) {
     throw;
   } catch(exception::Exception &ex) {
@@ -1077,7 +1077,7 @@ void PostgresCatalogue::deleteTapeFilesAndArchiveFileFromRecycleBin(rdbms::Conn&
 //------------------------------------------------------------------------------
 // copyTapeFileToFileRecyleLogAndDelete
 //------------------------------------------------------------------------------
-void PostgresCatalogue::copyTapeFileToFileRecyleLogAndDelete(rdbms::Conn & conn, const cta::common::dataStructures::ArchiveFile &file, 
+void PostgresCatalogue::copyTapeFileToFileRecyleLogAndDelete(rdbms::Conn & conn, const cta::common::dataStructures::ArchiveFile &file,
                                                             const std::string &reason, log::LogContext & lc) {
   try {
     utils::Timer t;
@@ -1100,19 +1100,19 @@ void PostgresCatalogue::copyTapeFileToFileRecyleLogAndDelete(rdbms::Conn & conn,
     spc.add("diskInstance", file.diskInstance);
     tl.addToLog(spc);
     lc.log(log::INFO,"In PostgresCatalogue::copyArchiveFileToRecycleBinAndDelete: ArchiveFile moved to the recycle-bin.");
-    
+
   } catch(exception::UserError &) {
     throw;
   } catch(exception::Exception &ex) {
     ex.getMessage().str(std::string(__FUNCTION__) + ": " + ex.getMessage().str());
     throw;
-  } 
+  }
 }
 
 //------------------------------------------------------------------------------
 // restoreEntryInRecycleLog
 //------------------------------------------------------------------------------
-void PostgresCatalogue::restoreEntryInRecycleLog(rdbms::Conn & conn, FileRecycleLogItor &fileRecycleLogItor, 
+void PostgresCatalogue::restoreEntryInRecycleLog(rdbms::Conn & conn, FileRecycleLogItor &fileRecycleLogItor,
   const std::string &newFid, log::LogContext & lc) {
   try {
     utils::Timer t;
@@ -1121,7 +1121,7 @@ void PostgresCatalogue::restoreEntryInRecycleLog(rdbms::Conn & conn, FileRecycle
     if (!fileRecycleLogItor.hasMore()) {
       throw cta::exception::UserError("No file in the recycle bin matches the parameters passed");
     }
-    auto fileRecycleLog = fileRecycleLogItor.next();  
+    auto fileRecycleLog = fileRecycleLogItor.next();
     if (fileRecycleLogItor.hasMore()) {
       //stop restoring more than one file at once
       throw cta::exception::UserError("More than one recycle bin file matches the parameters passed");
@@ -1136,7 +1136,7 @@ void PostgresCatalogue::restoreEntryInRecycleLog(rdbms::Conn & conn, FileRecycle
       if (archiveFilePtr->tapeFiles.find(fileRecycleLog.copyNb) != archiveFilePtr->tapeFiles.end()) {
         //copy with same copy_nb exists, cannot restore
         UserSpecifiedExistingDeletedFileCopy ex;
-        ex.getMessage() << "Cannot restore file copy with archiveFileId " << std::to_string(fileRecycleLog.archiveFileId) 
+        ex.getMessage() << "Cannot restore file copy with archiveFileId " << std::to_string(fileRecycleLog.archiveFileId)
         << " and copy_nb " << std::to_string(fileRecycleLog.copyNb) << " because a tapefile with same archiveFileId and copy_nb already exists";
         throw ex;
       }
@@ -1174,10 +1174,10 @@ void PostgresCatalogue::restoreFileCopyInRecycleLog(rdbms::Conn & conn, const co
 
     insertTapeFile(conn, tapeFile, fileRecycleLog.archiveFileId);
     tl.insertAndReset("insertTapeFileTime",t);
-    
+
     deleteTapeFileCopyFromRecycleBin(conn, fileRecycleLog);
     tl.insertAndReset("deleteTapeFileCopyFromRecycleBinTime",t);
-    
+
     log::ScopedParamContainer spc(lc);
     spc.add("vid", tapeFile.vid);
     spc.add("archiveFileId", fileRecycleLog.archiveFileId);
diff --git a/catalogue/README.md b/catalogue/README.md
index de9d07b6cd1cc4078365ea90f3867623863ca47a..a7eb9a14da494d24bb01ffc37220230e762e85b0 100644
--- a/catalogue/README.md
+++ b/catalogue/README.md
@@ -14,10 +14,9 @@ The CTA catalogue supports the following database management systems:
 
   1. Oracle.
   2. PostgreSQL.
-  3. MySQL.
   4. SQLite.
 
-SQLite is only used for implementing C++ unit-tests and in this capacity is configured to run as an “in memory” database.  Oracle is used at CERN for the production deployments of CTA because it has a team of database administrators behind it who ensure it’s smooth running and recovery in case of disaster.  PostgreSQL is actually the target database management system for CTA because it is open source.    MySQL is supported to enable IHEP in China to run CTA.  IHEP in China implemented the support for MySQL.
+SQLite is only used for implementing C++ unit-tests and in this capacity is configured to run as an “in memory” database.  Oracle is used at CERN for the production deployments of CTA because it has a team of database administrators behind it who ensure it’s smooth running and recovery in case of disaster.  PostgreSQL is actually the target database management system for CTA because it is open source.
 
 Database management systems differ in at least the following 3 areas with respect to developing software systems on top of them:
 
@@ -40,14 +39,12 @@ Starting at the bottom of the three layers, the database schema of the CTA catal
 The source of the schema is located here:
 
   1. [common_catalogue_schema.sql](https://gitlab.cern.ch/cta/CTA/-/blob/master/catalogue/common_catalogue_schema.sql)
-  2. [mysql_catalogue_schema_header.sql](https://gitlab.cern.ch/cta/CTA/-/blob/master/catalogue/mysql_catalogue_schema_header.sql)
-  3. [mysql_catalogue_schema_trailer.sql](https://gitlab.cern.ch/cta/CTA/-/blob/master/catalogue/mysql_catalogue_schema_trailer.sql)
-  4. [oracle_catalogue_schema_header.sql](https://gitlab.cern.ch/cta/CTA/-/blob/master/catalogue/oracle_catalogue_schema_header.sql)
-  5. [oracle_catalogue_schema_trailer.sql](https://gitlab.cern.ch/cta/CTA/-/blob/master/catalogue/oracle_catalogue_schema_trailer.sql)
-  6. [postgres_catalogue_schema_header.sql](https://gitlab.cern.ch/cta/CTA/-/blob/master/catalogue/postgres_catalogue_schema_header.sql)
-  7. [postgres_catalogue_schema_trailer.sql](https://gitlab.cern.ch/cta/CTA/-/blob/master/catalogue/postgres_catalogue_schema_trailer.sql)
-  8. [sqlite_catalogue_schema_header.sql](https://gitlab.cern.ch/cta/CTA/-/blob/master/catalogue/sqlite_catalogue_schema_header.sql)
-  9. [sqlite_catalogue_schema_trailer.sql](https://gitlab.cern.ch/cta/CTA/-/blob/master/catalogue/sqlite_catalogue_schema_trailer.sql)
+  2. [oracle_catalogue_schema_header.sql](https://gitlab.cern.ch/cta/CTA/-/blob/master/catalogue/oracle_catalogue_schema_header.sql)
+  3. [oracle_catalogue_schema_trailer.sql](https://gitlab.cern.ch/cta/CTA/-/blob/master/catalogue/oracle_catalogue_schema_trailer.sql)
+  4. [postgres_catalogue_schema_header.sql](https://gitlab.cern.ch/cta/CTA/-/blob/master/catalogue/postgres_catalogue_schema_header.sql)
+  5. [postgres_catalogue_schema_trailer.sql](https://gitlab.cern.ch/cta/CTA/-/blob/master/catalogue/postgres_catalogue_schema_trailer.sql)
+  6. [sqlite_catalogue_schema_header.sql](https://gitlab.cern.ch/cta/CTA/-/blob/master/catalogue/sqlite_catalogue_schema_header.sql)
+  7. [sqlite_catalogue_schema_trailer.sql](https://gitlab.cern.ch/cta/CTA/-/blob/master/catalogue/sqlite_catalogue_schema_trailer.sql)
 
 Do not be alarmed by the number of SQL files.  99% of the schema is in `common_catalogue_schema.sql`.  The rest of the files contain very small amounts of SQL that show the differences between different database management systems.
 
@@ -70,14 +67,13 @@ Moving to the top layer, the classes representing the CTA catalogue are located
 
   • [catalogue](https://gitlab.cern.ch/cta/CTA/-/tree/master/catalogue)
 
-The six main classes to note are:
+The five main classes to note are:
 
   1. `Catalogue`
   2. `RdbmsCatalogue`
   3. `OracleCatalogue`
   4. `PostgresCatalogue`
-  5. `MysqlCatalogue`
-  6. `InMemoryCatalogue`
+  5. `InMemoryCatalogue`
 
 The `Catalogue` class is an interface class.  Its purpose is to allow the CTA catalogue to be implemented by any form of persistent store and not just relational database management systems.  The `RdbmsCatalogue` class inherits from `Catalogue` and implements the majority of the CTA catalogue logic.  The design goal is to implement as much of the logic in common code as is possible and to only implement specialised code when absolutely necessary.  The `InMemoryCatalogue` class is used solely for implementing C++ unit tests.  The remaining classes contain the code required to work with specific database management systems.
 
@@ -123,12 +119,12 @@ In order to modify the Catalogue schema, please follow the following steps.
     - common_catalogue_schema.sql
     - *databasetype*_catalogue_schema_trailer.sql
 
-    Where *databasetype* is either **oracle** or **postgres** or **sqlite** or **mysql**.
+    Where *databasetype* is either **oracle** or **postgres** or **sqlite**.
 
 4. Run the build of CTA
     --> It will modify the files located in the folder created at step 2.
 
-5. Try the new schema you created in an empty database. Your schema should work with Oracle, PostgreSQL, MySQL and SQLite.
+5. Try the new schema you created in an empty database. Your schema should work with Oracle, PostgreSQL and SQLite.
 
 **TIP**
         You can use the **cta-catalogue-schema-create** tool to create the new schema
diff --git a/catalogue/SchemaChecker.cpp b/catalogue/SchemaChecker.cpp
index 08015cc61a4afbbc3e1bd23bdad18dd1b87f0875..71b1ef07ba8349e0a6a16b6f24a001153d18a5cc 100644
--- a/catalogue/SchemaChecker.cpp
+++ b/catalogue/SchemaChecker.cpp
@@ -47,11 +47,7 @@ SchemaCheckerResult SchemaChecker::displayingCompareSchema(std::ostream & stdOut
   totalResult += resIndex;
   resIndex.displayErrors(stdErr);
   stdOut <<"  "<<resIndex.statusToString(resIndex.getStatus())<<std::endl;
-  if(m_dbType == rdbms::Login::DbType::DBTYPE_MYSQL){
-    stdOut << "Checking tables and columns..." << std::endl;
-  } else {
     stdOut << "Checking tables, columns and constraints..." << std::endl;
-  }
   cta::catalogue::SchemaCheckerResult resTables = m_schemaComparer->compareTables();
   totalResult += resTables;
   resTables.displayErrors(stdErr);
diff --git a/catalogue/SchemaComparer.cpp b/catalogue/SchemaComparer.cpp
index e7c258f524e71fe94b04ffbf4d9998d79e6d6ded..145800e588178f5a28ee0e2b88e9c1fae196717f 100644
--- a/catalogue/SchemaComparer.cpp
+++ b/catalogue/SchemaComparer.cpp
@@ -26,7 +26,7 @@ namespace catalogue {
 SchemaComparer::SchemaComparer(const std::string& databaseToCheckName, DatabaseMetadataGetter &catalogueMetadataGetter)
   : m_databaseToCheckName(databaseToCheckName),
     m_databaseMetadataGetter(catalogueMetadataGetter),
-    m_compareTableConstraints((m_databaseMetadataGetter.getDbType() != cta::rdbms::Login::DBTYPE_MYSQL)) {}
+    m_compareTableConstraints(true) {}
 
 void SchemaComparer::setSchemaSqlStatementsReader(std::unique_ptr<SchemaSqlStatementsReader> schemaSqlStatementsReader) {
   m_schemaSqlStatementsReader = std::move(schemaSqlStatementsReader);
diff --git a/catalogue/SchemaSqlStatementsReader.cpp b/catalogue/SchemaSqlStatementsReader.cpp
index 6aadcf92673ec78bff745ad060e9e51540658aec..2a8357da493e5a98e264dafd094c683a984e05ed 100644
--- a/catalogue/SchemaSqlStatementsReader.cpp
+++ b/catalogue/SchemaSqlStatementsReader.cpp
@@ -15,26 +15,28 @@
  *                 along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <memory>
 #include <fstream>
-#include <iostream>
+#include <list>
+#include <map>
+#include <memory>
+#include <string>
 
 #include "SchemaSqlStatementsReader.hpp"
 #include "SqliteCatalogueSchema.hpp"
 #include "PostgresCatalogueSchema.hpp"
-#include "MysqlCatalogueSchema.hpp"
 #include "OracleCatalogueSchema.hpp"
 #include "common/exception/Exception.hpp"
 #include "common/utils/utils.hpp"
 
 #include "AllCatalogueSchema.hpp"
 
-namespace cta{ namespace catalogue{
+namespace cta {
+namespace catalogue {
 
 //////////////////////////////////////////////////////////////////
 // SchemaSqlStatementsReader
 //////////////////////////////////////////////////////////////////
-SchemaSqlStatementsReader::SchemaSqlStatementsReader(){
+SchemaSqlStatementsReader::SchemaSqlStatementsReader() {
 }
 
 SchemaSqlStatementsReader::SchemaSqlStatementsReader(const cta::rdbms::Login::DbType dbType) : m_dbType(dbType) {
@@ -46,40 +48,37 @@ SchemaSqlStatementsReader::SchemaSqlStatementsReader(const SchemaSqlStatementsRe
 SchemaSqlStatementsReader::~SchemaSqlStatementsReader() {
 }
 
-std::list<std::string> SchemaSqlStatementsReader::getStatements(){
+std::list<std::string> SchemaSqlStatementsReader::getStatements() {
   std::unique_ptr<CatalogueSchema> schema;
-  switch(m_dbType) {
-  case rdbms::Login::DBTYPE_IN_MEMORY:
-  case rdbms::Login::DBTYPE_SQLITE:
-    schema.reset(new SqliteCatalogueSchema);
-    break;
-  case rdbms::Login::DBTYPE_POSTGRESQL:
-    schema.reset(new PostgresCatalogueSchema);
-    break;
-  case rdbms::Login::DBTYPE_MYSQL:
-    schema.reset(new MysqlCatalogueSchema);
-    break;
-  case rdbms::Login::DBTYPE_ORACLE:
-    schema.reset(new OracleCatalogueSchema);
-    break;
-  case rdbms::Login::DBTYPE_NONE:
-    throw exception::Exception("Cannot get statements without a database type");
-  }
-  return getAllStatementsFromSchema(schema->sql);
+  switch (m_dbType) {
+    case rdbms::Login::DBTYPE_IN_MEMORY:
+    case rdbms::Login::DBTYPE_SQLITE:
+      schema.reset(new SqliteCatalogueSchema);
+      break;
+    case rdbms::Login::DBTYPE_POSTGRESQL:
+      schema.reset(new PostgresCatalogueSchema);
+      break;
+    case rdbms::Login::DBTYPE_ORACLE:
+      schema.reset(new OracleCatalogueSchema);
+      break;
+    case rdbms::Login::DBTYPE_NONE:
+      throw exception::Exception("Cannot get statements without a database type");
+    }
+    return getAllStatementsFromSchema(schema->sql);
 }
 
-std::list<std::string> SchemaSqlStatementsReader::getAllStatementsFromSchema(const std::string& schema){
+std::list<std::string> SchemaSqlStatementsReader::getAllStatementsFromSchema(const std::string& schema) {
   std::list<std::string> statements;
   std::string::size_type searchPos = 0;
   std::string::size_type findResult = std::string::npos;
   try {
-    while(std::string::npos != (findResult = schema.find(';', searchPos))) {
+    while (std::string::npos != (findResult = schema.find(';', searchPos))) {
       // Calculate the length of the current statement without the trailing ';'
       const std::string::size_type stmtLen = findResult - searchPos;
       const std::string sqlStmt = utils::trimString(schema.substr(searchPos, stmtLen));
       searchPos = findResult + 1;
 
-      if(0 < sqlStmt.size()) { // Ignore empty statements
+      if (0 < sqlStmt.size()) {  // Ignore empty statements
         statements.push_back(sqlStmt+";");
       }
     }
@@ -90,19 +89,17 @@ std::list<std::string> SchemaSqlStatementsReader::getAllStatementsFromSchema(con
 }
 
 std::string SchemaSqlStatementsReader::getDatabaseType() {
-  switch(m_dbType){
-  case rdbms::Login::DBTYPE_IN_MEMORY:
-  case rdbms::Login::DBTYPE_SQLITE:
-    return "sqlite";
-  case rdbms::Login::DBTYPE_POSTGRESQL:
-    return "postgres";
-  case rdbms::Login::DBTYPE_MYSQL:
-    return "mysql";
-  case rdbms::Login::DBTYPE_ORACLE:
-    return "oracle";
-  case rdbms::Login::DBTYPE_NONE:
-    throw exception::Exception("The database type should not be DBTYPE_NONE");
-  default:
+  switch (m_dbType) {
+    case rdbms::Login::DBTYPE_IN_MEMORY:
+    case rdbms::Login::DBTYPE_SQLITE:
+      return "sqlite";
+    case rdbms::Login::DBTYPE_POSTGRESQL:
+      return "postgres";
+    case rdbms::Login::DBTYPE_ORACLE:
+      return "oracle";
+    case rdbms::Login::DBTYPE_NONE:
+      throw exception::Exception("The database type should not be DBTYPE_NONE");
+    default:
     {
       exception::Exception ex;
       ex.getMessage() << "Unknown database type: value=" << m_dbType;
@@ -114,17 +111,20 @@ std::string SchemaSqlStatementsReader::getDatabaseType() {
 //////////////////////////////////////////////////////////////////
 // DirectoryVersionsSqlStatementsReader
 //////////////////////////////////////////////////////////////////
-DirectoryVersionsSqlStatementsReader::DirectoryVersionsSqlStatementsReader(const cta::rdbms::Login::DbType dbType,const std::string &catalogueVersion,const std::string &allSchemasVersionPath):SchemaSqlStatementsReader(dbType),m_catalogueVersion(catalogueVersion),m_allSchemasVersionPath(allSchemasVersionPath) {
+DirectoryVersionsSqlStatementsReader::DirectoryVersionsSqlStatementsReader(const cta::rdbms::Login::DbType dbType,
+  const std::string &catalogueVersion, const std::string &allSchemasVersionPath)
+  : SchemaSqlStatementsReader(dbType), m_catalogueVersion(catalogueVersion), m_allSchemasVersionPath(allSchemasVersionPath) {
 }
 
-DirectoryVersionsSqlStatementsReader::DirectoryVersionsSqlStatementsReader(const DirectoryVersionsSqlStatementsReader& orig) :
-  SchemaSqlStatementsReader(orig), m_catalogueVersion(orig.m_catalogueVersion), m_allSchemasVersionPath(orig.m_allSchemasVersionPath) {
+DirectoryVersionsSqlStatementsReader::DirectoryVersionsSqlStatementsReader(const DirectoryVersionsSqlStatementsReader& orig)
+  : SchemaSqlStatementsReader(orig), m_catalogueVersion(orig.m_catalogueVersion),
+  m_allSchemasVersionPath(orig.m_allSchemasVersionPath) {
 }
 
 DirectoryVersionsSqlStatementsReader::~DirectoryVersionsSqlStatementsReader() {
 }
 
-std::list<std::string> DirectoryVersionsSqlStatementsReader::getStatements(){
+std::list<std::string> DirectoryVersionsSqlStatementsReader::getStatements() {
   return getAllStatementsFromSchema(readSchemaFromFile());
 }
 
@@ -132,10 +132,11 @@ std::list<std::string> DirectoryVersionsSqlStatementsReader::getStatements(){
 std::string DirectoryVersionsSqlStatementsReader::readSchemaFromFile() {
   std::string schemaFilePath = getSchemaFilePath();
   std::ifstream schemaFile(schemaFilePath);
-  if(schemaFile.fail()){
-    throw cta::exception::Exception("In DirectoryVersionsSqlStatementsReader::readSchemaFromFile(), unable to open the file located in "+schemaFilePath);
+  if (schemaFile.fail()) {
+    throw cta::exception::Exception("In DirectoryVersionsSqlStatementsReader::readSchemaFromFile(), unable to open the file located in "
+      + schemaFilePath);
   }
-  std::string content((std::istreambuf_iterator<char>(schemaFile)),(std::istreambuf_iterator<char>()));
+  std::string content((std::istreambuf_iterator<char>(schemaFile)), (std::istreambuf_iterator<char>()));
   return content;
 }
 
@@ -147,25 +148,27 @@ std::string DirectoryVersionsSqlStatementsReader::getSchemaFilePath() {
 //////////////////////////////////////////////////////////////////
 // MapSqlStatementsReader
 //////////////////////////////////////////////////////////////////
-MapSqlStatementsReader::MapSqlStatementsReader(const cta::rdbms::Login::DbType dbType, const std::string &catalogueVersion):SchemaSqlStatementsReader(dbType),m_catalogueVersion(catalogueVersion){}
+MapSqlStatementsReader::MapSqlStatementsReader(const cta::rdbms::Login::DbType dbType, const std::string &catalogueVersion)
+  : SchemaSqlStatementsReader(dbType), m_catalogueVersion(catalogueVersion){}
 
-MapSqlStatementsReader::MapSqlStatementsReader(const MapSqlStatementsReader& orig):SchemaSqlStatementsReader(orig), m_catalogueVersion(orig.m_catalogueVersion) {
+MapSqlStatementsReader::MapSqlStatementsReader(const MapSqlStatementsReader& orig)
+  : SchemaSqlStatementsReader(orig), m_catalogueVersion(orig.m_catalogueVersion) {
 }
 
 MapSqlStatementsReader::~MapSqlStatementsReader() {
 }
 
-std::list<std::string> MapSqlStatementsReader::getStatements(){
-  std::map<std::string,std::string> mapVersionSchemas;
+std::list<std::string> MapSqlStatementsReader::getStatements() {
+  std::map<std::string, std::string> mapVersionSchemas;
   try {
     mapVersionSchemas = AllCatalogueSchema::mapSchema.at(m_catalogueVersion);
-  } catch(const std::out_of_range &ex){
+  } catch (const std::out_of_range &ex) {
     throw cta::exception::Exception("No schema has been found for version number "+m_catalogueVersion);
   }
   try {
     std::string schema = mapVersionSchemas.at(getDatabaseType());
     return getAllStatementsFromSchema(schema);
-  } catch(const std::out_of_range &ex){
+  } catch (const std::out_of_range &ex) {
     throw cta::exception::Exception("No schema has been found for database type "+getDatabaseType());
   }
 }
@@ -176,8 +179,9 @@ std::list<std::string> MapSqlStatementsReader::getStatements(){
 
 CppSchemaStatementsReader::CppSchemaStatementsReader(const cta::catalogue::CatalogueSchema& schema):m_schema(schema) {}
 
-std::list<std::string> CppSchemaStatementsReader::getStatements(){
+std::list<std::string> CppSchemaStatementsReader::getStatements() {
   return getAllStatementsFromSchema(m_schema.sql);
 }
 
-}}
+}  // namespace catalogue
+}  // namespace cta
diff --git a/catalogue/SqliteCatalogue.cpp b/catalogue/SqliteCatalogue.cpp
index fbcc428854fe82ab44c4226ca2d1b08c9cdb6351..e7cae607471c3d169ed241a33b859f7e1b9ef0b7 100644
--- a/catalogue/SqliteCatalogue.cpp
+++ b/catalogue/SqliteCatalogue.cpp
@@ -124,20 +124,20 @@ void SqliteCatalogue::DO_NOT_USE_deleteArchiveFile_DO_NOT_USE(const std::string
       stmt.bindUint64(":ARCHIVE_FILE_ID", archiveFileId);
       stmt.executeNonQuery();
     }
-    
+
     const auto deleteFromTapeFileTime = t.secs(utils::Timer::resetCounter);
-    
+
     std::set<std::string> vidsToSetDirty;
     //We will insert the vids to set dirty in a set so that
-    //we limit the calls to setTapeDirty to the number of tapes that contained the deleted tape files 
+    //we limit the calls to setTapeDirty to the number of tapes that contained the deleted tape files
     for(auto &tapeFile: archiveFile->tapeFiles){
       vidsToSetDirty.insert(tapeFile.vid);
     }
-    
+
     for(auto &vidToSetDirty: vidsToSetDirty){
        setTapeDirty(conn,vidToSetDirty);
     }
-    
+
     const auto setTapeDirtyTime = t.secs(utils::Timer::resetCounter);
 
     {
@@ -493,11 +493,11 @@ void SqliteCatalogue::filesWrittenToTape(const std::set<TapeItemWrittenPointer>
         throw ex;
       }
       expectedFSeq++;
-      
-      
+
+
       try {
         // If this is a file (as opposed to a placeholder), do the full processing.
-        const auto &fileEvent=dynamic_cast<const TapeFileWritten &>(event); 
+        const auto &fileEvent=dynamic_cast<const TapeFileWritten &>(event);
         totalLogicalBytesWritten += fileEvent.size;
       } catch (std::bad_cast&) {}
     }
@@ -510,7 +510,7 @@ void SqliteCatalogue::filesWrittenToTape(const std::set<TapeItemWrittenPointer>
     for(const auto &event : events) {
       try {
         // If this is a file (as opposed to a placeholder), do the full processing.
-        const auto &fileEvent=dynamic_cast<const TapeFileWritten &>(*event); 
+        const auto &fileEvent=dynamic_cast<const TapeFileWritten &>(*event);
         fileWrittenToTape(conn, fileEvent);
       } catch (std::bad_cast&) {}
     }
@@ -614,7 +614,7 @@ void SqliteCatalogue::copyArchiveFileToFileRecyleLogAndDelete(rdbms::Conn & conn
     spc.add("diskFilePath",request.diskFilePath);
     spc.add("diskInstance",request.diskInstance);
     tl.addToLog(spc);
-    lc.log(log::INFO,"In MysqlCatalogue::copyArchiveFileToRecycleBinAndDelete: ArchiveFile moved to the recycle-bin.");
+    lc.log(log::INFO,"In SqliteCatalogue::copyArchiveFileToRecycleBinAndDelete: ArchiveFile moved to the recycle-bin.");
   } catch(exception::UserError &) {
     throw;
   } catch(exception::Exception &ex) {
@@ -653,7 +653,7 @@ void SqliteCatalogue::deleteTapeFilesAndArchiveFileFromRecycleBin(rdbms::Conn& c
 //------------------------------------------------------------------------------
 // copyTapeFileToFileRecyleLogAndDelete
 //------------------------------------------------------------------------------
-void SqliteCatalogue::copyTapeFileToFileRecyleLogAndDelete(rdbms::Conn & conn, const cta::common::dataStructures::ArchiveFile &file, 
+void SqliteCatalogue::copyTapeFileToFileRecyleLogAndDelete(rdbms::Conn & conn, const cta::common::dataStructures::ArchiveFile &file,
                                                           const std::string &reason, log::LogContext & lc) {
   try {
     utils::Timer t;
@@ -676,13 +676,13 @@ void SqliteCatalogue::copyTapeFileToFileRecyleLogAndDelete(rdbms::Conn & conn, c
     spc.add("diskInstance", file.diskInstance);
     tl.addToLog(spc);
     lc.log(log::INFO,"In SqliteCatalogue::copyArchiveFileToRecycleBinAndDelete: ArchiveFile moved to the recycle-bin.");
-    
+
   } catch(exception::UserError &) {
     throw;
   } catch(exception::Exception &ex) {
     ex.getMessage().str(std::string(__FUNCTION__) + ": " + ex.getMessage().str());
     throw;
-  } 
+  }
 }
 
 //------------------------------------------------------------------------------
@@ -703,7 +703,7 @@ void SqliteCatalogue::restoreEntryInRecycleLog(rdbms::Conn & conn, FileRecycleLo
     }
 
     conn.executeNonQuery("BEGIN TRANSACTION");
-    
+
     std::unique_ptr<common::dataStructures::ArchiveFile> archiveFilePtr = getArchiveFileById(conn, fileRecycleLog.archiveFileId);
     if (!archiveFilePtr) {
       restoreArchiveFileInRecycleLog(conn, fileRecycleLog, newFid, lc);
@@ -711,7 +711,7 @@ void SqliteCatalogue::restoreEntryInRecycleLog(rdbms::Conn & conn, FileRecycleLo
       if (archiveFilePtr->tapeFiles.find(fileRecycleLog.copyNb) != archiveFilePtr->tapeFiles.end()) {
         //copy with same copy_nb exists, cannot restore
         UserSpecifiedExistingDeletedFileCopy ex;
-        ex.getMessage() << "Cannot restore file copy with archiveFileId " << std::to_string(fileRecycleLog.archiveFileId) 
+        ex.getMessage() << "Cannot restore file copy with archiveFileId " << std::to_string(fileRecycleLog.archiveFileId)
         << " and copy_nb " << std::to_string(fileRecycleLog.copyNb) << " because a tapefile with same archiveFileId and copy_nb already exists";
         throw ex;
       }
@@ -749,10 +749,10 @@ void SqliteCatalogue::restoreFileCopyInRecycleLog(rdbms::Conn &conn, const commo
 
     insertTapeFile(conn, tapeFile, fileRecycleLog.archiveFileId);
     tl.insertAndReset("insertTapeFileTime",t);
-    
+
     deleteTapeFileCopyFromRecycleBin(conn, fileRecycleLog);
     tl.insertAndReset("deleteTapeFileCopyFromRecycleBinTime",t);
-    
+
     log::ScopedParamContainer spc(lc);
     spc.add("vid", tapeFile.vid);
     spc.add("archiveFileId", fileRecycleLog.archiveFileId);
diff --git a/catalogue/VerifySchemaCmd.cpp b/catalogue/VerifySchemaCmd.cpp
index d1f3492715c0292d226331da16cfb727fa0cd025..48d81b72c48d71b7dc25bc0b1697b1792815bf78 100644
--- a/catalogue/VerifySchemaCmd.cpp
+++ b/catalogue/VerifySchemaCmd.cpp
@@ -17,7 +17,6 @@
 
 #include "catalogue/VerifySchemaCmd.hpp"
 #include "catalogue/VerifySchemaCmdLineArgs.hpp"
-#include "catalogue/MysqlCatalogueSchema.hpp"
 #include "catalogue/OracleCatalogueSchema.hpp"
 #include "catalogue/PostgresCatalogueSchema.hpp"
 #include "catalogue/SqliteCatalogueSchema.hpp"
@@ -65,20 +64,20 @@ int VerifySchemaCmd::exceptionThrowingMain(const int argc, char *const *const ar
   const uint64_t maxNbConns = 1;
   rdbms::ConnPool connPool(login, maxNbConns);
   auto conn = connPool.getConn();
-  
+
   const bool ctaCatalogueTableExists = tableExists("CTA_CATALOGUE", conn);
 
   if(!ctaCatalogueTableExists) {
     std::cerr << "Cannot verify the database schema because the CTA_CATALOGUE table does not exists" << std::endl;
     return 1;
   }
-  
+
   SchemaChecker::Builder schemaCheckerBuilder("catalogue",login.dbType,conn);
   std::unique_ptr<SchemaChecker> schemaChecker(schemaCheckerBuilder
                         .useMapStatementsReader()
                         .useSQLiteSchemaComparer()
                         .build());
-  
+
   SchemaCheckerResult result = schemaChecker->displayingCompareSchema(std::cout,std::cerr);
   result += schemaChecker->warnParallelTables();
   result += schemaChecker->warnSchemaUpgrading();
@@ -91,72 +90,6 @@ int VerifySchemaCmd::exceptionThrowingMain(const int argc, char *const *const ar
     return 1;
   }
   return 0;
-  /*
-    std::unique_ptr<CatalogueSchema> schema;
-    switch(login.dbType) {
-    case rdbms::Login::DBTYPE_IN_MEMORY:
-    case rdbms::Login::DBTYPE_SQLITE:
-      schema.reset(new SqliteCatalogueSchema);
-      break;
-    case rdbms::Login::DBTYPE_POSTGRESQL:
-      schema.reset(new PostgresCatalogueSchema);
-      break;
-    case rdbms::Login::DBTYPE_MYSQL:
-      schema.reset(new MysqlCatalogueSchema);
-      break;
-    case rdbms::Login::DBTYPE_ORACLE:
-      schema.reset(new OracleCatalogueSchema);
-      break;
-    case rdbms::Login::DBTYPE_NONE:
-      throw exception::Exception("Cannot verify a catalogue without a database type");
-    default:
-      {
-        exception::Exception ex;
-        ex.getMessage() << "Unknown database type: value=" << login.dbType;
-        throw ex;
-      }
-    }
-
-    if (nullptr == schema) {
-      exception::Exception ex;
-      ex.getMessage() << "The catalogue schema uninitialized";
-        throw ex;
-    }
-
-    std::cerr << "Checking schema version..." << std::endl;
-    log::DummyLogger dummyLog("dummy", "dummy");
-    const auto catalogueFactory = CatalogueFactoryFactory::create(dummyLog, login, maxNbConns, maxNbConns);
-    const auto catalogue = catalogueFactory->create();  
-    const auto schemaDbVersion = catalogue->getSchemaVersion();
-    const auto schemaVersion = schema->getSchemaVersion(); 
-    const VerifyStatus verifySchemaStatus = verifySchemaVersion(schemaVersion, schemaDbVersion);
-
-    std::cerr << "Checking table names..." << std::endl;
-    const auto schemaTableNames = schema->getSchemaTableNames();
-    const auto dbTableNames = conn.getTableNames();
-    const VerifyStatus verifyTablesStatus = verifyTableNames(schemaTableNames, dbTableNames);
-
-    std::cerr << "Checking columns in tables..." << std::endl;
-    const VerifyStatus verifyColumnsStatus = verifyColumns(schemaTableNames, dbTableNames, *schema, conn);
-
-    std::cerr << "Checking index names..." << std::endl;
-    const auto schemaIndexNames = schema->getSchemaIndexNames();
-    const auto dbIndexNames = conn.getIndexNames();
-    const VerifyStatus verifyIndexesStatus = verifyIndexNames(schemaIndexNames, dbIndexNames);
-
-    std::cerr << "Checking sequence names..." << std::endl;
-    const auto schemaSequenceNames = schema->getSchemaSequenceNames();
-    const auto dbSequenceNames = conn.getSequenceNames();
-    const VerifyStatus verifySequencesStatus = verifySequenceNames(schemaSequenceNames, dbSequenceNames);
-
-    if (verifySchemaStatus    == VerifyStatus::ERROR ||
-        verifyTablesStatus    == VerifyStatus::ERROR || 
-        verifyIndexesStatus   == VerifyStatus::ERROR ||
-        verifySequencesStatus == VerifyStatus::ERROR || 
-        verifyColumnsStatus   == VerifyStatus::ERROR ) {
-      return 1;
-    }
-    return 0;*/
 }
 
 //------------------------------------------------------------------------------
@@ -182,21 +115,21 @@ void VerifySchemaCmd::printUsage(std::ostream &os) {
 //------------------------------------------------------------------------------
 // verifySchemaVersion
 //------------------------------------------------------------------------------
-VerifySchemaCmd::VerifyStatus VerifySchemaCmd::verifySchemaVersion(const std::map<std::string, uint64_t> &schemaVersion, 
+VerifySchemaCmd::VerifyStatus VerifySchemaCmd::verifySchemaVersion(const std::map<std::string, uint64_t> &schemaVersion,
   const std::map<std::string, uint64_t> &schemaDbVersion) const {
   try {
     VerifyStatus status = VerifyStatus::UNKNOWN;
     for (const auto &schemaInfo : schemaVersion) {
       if (schemaDbVersion.count(schemaInfo.first)) {
         if (schemaInfo.second != schemaDbVersion.at(schemaInfo.first)) {
-          std::cerr << "  ERROR: the schema version mismatch: SCHEMA[" 
-                    << schemaInfo.first << "] = "  << schemaInfo.second 
-                    << ", DB[" << schemaInfo.first << "] = " 
+          std::cerr << "  ERROR: the schema version mismatch: SCHEMA["
+                    << schemaInfo.first << "] = "  << schemaInfo.second
+                    << ", DB[" << schemaInfo.first << "] = "
                     << schemaDbVersion.at(schemaInfo.first) << std::endl;
           status = VerifyStatus::ERROR;
         }
       } else {
-        std::cerr << "  ERROR: the schema version value for " << schemaInfo.first 
+        std::cerr << "  ERROR: the schema version value for " << schemaInfo.first
                   <<"  not found in the Catalogue DB" << std::endl;
         status = VerifyStatus::ERROR;
       }
@@ -228,7 +161,7 @@ VerifySchemaCmd::VerifyStatus VerifySchemaCmd::verifyColumns(const std::list<std
         for (const auto &dbColumn : dbColumns) {
           if (!schemaColumns.count(dbColumn.first)) {
             std::cerr << "  ERROR: the DB column " << dbColumn.first
-                      << " for table " << tableName 
+                      << " for table " << tableName
                       << " not found in the catalogue schema" << std::endl;
             status = VerifyStatus::ERROR;
           }
@@ -237,24 +170,24 @@ VerifySchemaCmd::VerifyStatus VerifySchemaCmd::verifyColumns(const std::list<std
         for (const auto &schemaColumn : schemaColumns) {
             if (dbColumns.count(schemaColumn.first)) {
             if (schemaColumn.second != dbColumns.at(schemaColumn.first)) {
-              std::cerr << "  ERROR: type mismatch for the column: DB[" 
-                        << schemaColumn.first << "] = "  << dbColumns.at(schemaColumn.first) 
-                        << ", SCHEMA[" << schemaColumn.first << "] = " 
-                        << schemaColumn.second 
+              std::cerr << "  ERROR: type mismatch for the column: DB["
+                        << schemaColumn.first << "] = "  << dbColumns.at(schemaColumn.first)
+                        << ", SCHEMA[" << schemaColumn.first << "] = "
+                        << schemaColumn.second
                         << " for table " << tableName << std::endl;
               status = VerifyStatus::ERROR;
             }
           } else {
-            std::cerr << "  ERROR: the schema column " << schemaColumn.first 
-                      << " not found in the DB" 
+            std::cerr << "  ERROR: the schema column " << schemaColumn.first
+                      << " not found in the DB"
                       << " for table " << tableName << std::endl;
             status = VerifyStatus::ERROR;
           }
         }
       } else {
-        std::cerr << "  ERROR: the schema table " << tableName 
+        std::cerr << "  ERROR: the schema table " << tableName
                   << " not found in the DB" << std::endl;
-        status = VerifyStatus::ERROR; 
+        status = VerifyStatus::ERROR;
       }
     }
     if (status != VerifyStatus::INFO && status != VerifyStatus::ERROR) {
@@ -270,7 +203,7 @@ VerifySchemaCmd::VerifyStatus VerifySchemaCmd::verifyColumns(const std::list<std
 //------------------------------------------------------------------------------
 // verifyTableNames
 //------------------------------------------------------------------------------
-VerifySchemaCmd::VerifyStatus VerifySchemaCmd::verifyTableNames(const std::list<std::string> &schemaTableNames, 
+VerifySchemaCmd::VerifyStatus VerifySchemaCmd::verifyTableNames(const std::list<std::string> &schemaTableNames,
   const std::list<std::string> &dbTableNames) const {
   try {
     VerifyStatus status = VerifyStatus::UNKNOWN;
@@ -299,11 +232,11 @@ VerifySchemaCmd::VerifyStatus VerifySchemaCmd::verifyTableNames(const std::list<
     throw exception::Exception(std::string(__FUNCTION__) + " failed: " + ex.getMessage().str());
   }
 }
-  
+
 //------------------------------------------------------------------------------
 // verifyIndexNames
 //------------------------------------------------------------------------------
-VerifySchemaCmd::VerifyStatus VerifySchemaCmd::verifyIndexNames(const std::list<std::string> &schemaIndexNames, 
+VerifySchemaCmd::VerifyStatus VerifySchemaCmd::verifyIndexNames(const std::list<std::string> &schemaIndexNames,
   const std::list<std::string> &dbIndexNames) const {
   try {
     VerifyStatus status = VerifyStatus::UNKNOWN;
@@ -336,7 +269,7 @@ VerifySchemaCmd::VerifyStatus VerifySchemaCmd::verifyIndexNames(const std::list<
 //------------------------------------------------------------------------------
 // verifySequenceNames
 //------------------------------------------------------------------------------
-VerifySchemaCmd::VerifyStatus VerifySchemaCmd::verifySequenceNames(const std::list<std::string> &schemaSequenceNames, 
+VerifySchemaCmd::VerifyStatus VerifySchemaCmd::verifySequenceNames(const std::list<std::string> &schemaSequenceNames,
   const std::list<std::string> &dbSequenceNames) const {
   try {
     VerifyStatus status = VerifyStatus::UNKNOWN;
diff --git a/catalogue/cta-catalogue.conf.example b/catalogue/cta-catalogue.conf.example
index 25f1aa3c17377834469c3c1ab9dcde8b8afc5056..10c834e57de80e197313a719e631b17849ec7592 100644
--- a/catalogue/cta-catalogue.conf.example
+++ b/catalogue/cta-catalogue.conf.example
@@ -26,10 +26,6 @@
 #
 # or:
 #
-#    mysql://username:password@hostname[:port]/database
-#
-# or:
-#
 #    oracle:username/password@database
 #
 # or:
diff --git a/catalogue/migrations/liquibase/mysql/.gitkeep b/catalogue/migrations/liquibase/mysql/.gitkeep
deleted file mode 100644
index 8b137891791fe96927ad78e64b0aad7bded08bdc..0000000000000000000000000000000000000000
--- a/catalogue/migrations/liquibase/mysql/.gitkeep
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/catalogue/migrations/liquibase/properties-examples/example-liquibase-mysql.properties b/catalogue/migrations/liquibase/properties-examples/example-liquibase-mysql.properties
deleted file mode 100644
index e63ce42003eec8ea3f9646e8fc4293a896591a07..0000000000000000000000000000000000000000
--- a/catalogue/migrations/liquibase/properties-examples/example-liquibase-mysql.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-url:jdbc:mysql://HOST:PORT/DATABASE_NAME?autoReconnect=true&useSSL=TRUE
-username:USERNAME
-password:PASSWORD
-driver:com.mysql.cj.jdbc.Driver
-classpath:mysql-connector-java.jar
\ No newline at end of file
diff --git a/catalogue/mysql_catalogue_schema_header.sql b/catalogue/mysql_catalogue_schema_header.sql
deleted file mode 100644
index 7623a32ca45c58e18999f0ce3b17e21520950095..0000000000000000000000000000000000000000
--- a/catalogue/mysql_catalogue_schema_header.sql
+++ /dev/null
@@ -1,35 +0,0 @@
-CREATE TABLE ARCHIVE_FILE_ID(
-  ID UINT64TYPE,
-  CONSTRAINT ARCHIVE_FILE_ID_PK PRIMARY KEY(ID)
-);
-INSERT INTO ARCHIVE_FILE_ID(ID) VALUES(1);
-CREATE TABLE LOGICAL_LIBRARY_ID(
-  ID UINT64TYPE,
-  CONSTRAINT LOGICAL_LIBRARY_ID_PK PRIMARY KEY(ID)
-);
-INSERT INTO LOGICAL_LIBRARY_ID(ID) VALUES(1);
-CREATE TABLE MEDIA_TYPE_ID(
-  ID UINT64TYPE,
-  CONSTRAINT MEDIA_TYPE_ID_PK PRIMARY KEY(ID)
-);
-INSERT INTO MEDIA_TYPE_ID(ID) VALUES(1);
-CREATE TABLE STORAGE_CLASS_ID(
-  ID UINT64TYPE,
-  CONSTRAINT STORAGE_CLASS_ID_PK PRIMARY KEY(ID)
-);
-INSERT INTO STORAGE_CLASS_ID(ID) VALUES(1);
-CREATE TABLE TAPE_POOL_ID(
-  ID UINT64TYPE,
-  CONSTRAINT TAPE_POOL_ID_PK PRIMARY KEY(ID)
-);
-INSERT INTO TAPE_POOL_ID(ID) VALUES(1);
-CREATE TABLE VIRTUAL_ORGANIZATION_ID(
-  ID UINT64TYPE,
-  CONSTRAINT VIRTUAL_ORGANIZATION_ID_PK PRIMARY KEY(ID)
-);
-INSERT INTO VIRTUAL_ORGANIZATION_ID(ID) VALUES(1);
-CREATE TABLE FILE_RECYCLE_LOG_ID(
-  ID UINT64TYPE,
-  CONSTRAINT FILE_RECYCLE_LOG_ID PRIMARY KEY(ID)
-);
-INSERT INTO FILE_RECYCLE_LOG_ID(ID) VALUES (1);
diff --git a/catalogue/mysql_catalogue_schema_trailer.sql b/catalogue/mysql_catalogue_schema_trailer.sql
deleted file mode 100644
index a84403905448d54749f91a15e5036e93dc50bc0e..0000000000000000000000000000000000000000
--- a/catalogue/mysql_catalogue_schema_trailer.sql
+++ /dev/null
@@ -1,2 +0,0 @@
-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 (STATUS='UPGRADING'));
diff --git a/cmake/Findmysql.cmake b/cmake/Findmysql.cmake
deleted file mode 100644
index 31a0e322fbd1d8c46da783d35d82cf17d45e8219..0000000000000000000000000000000000000000
--- a/cmake/Findmysql.cmake
+++ /dev/null
@@ -1,36 +0,0 @@
-# @project        The CERN Tape Archive (CTA)
-# @copyright      Copyright(C) 2015-2021 CERN
-# @license        This program is free software: you can redistribute it and/or modify
-#                 it under the terms of the GNU General Public License as published by
-#                 the Free Software Foundation, either version 3 of the License, or
-#                 (at your option) any later version.
-#
-#                 This program is distributed in the hope that it will be useful,
-#                 but WITHOUT ANY WARRANTY; without even the implied warranty of
-#                 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#                 GNU General Public License for more details.
-#
-#                 You should have received a copy of the GNU General Public License
-#                 along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# This module will set the following variables:
-#     MYSQL_FOUND
-#     MYSQL_INCLUDE_DIRS
-#     MYSQL_LIBRARIES
-
-find_path(MYSQL_INCLUDE_DIRS
-  mysql.h
-  PATHS /usr/include/mysql
-  NO_DEFAULT_PATH)
-
-find_library(MYSQL_LIBRARIES
-  NAME mysqlclient
-  PATHS /usr/lib64/mysql /usr/lib64
-  NO_DEFAULT_PATH)
-
-message (STATUS "MYSQL_INCLUDE_DIRS = ${MYSQL_INCLUDE_DIRS}")
-message (STATUS "MYSQL_LIBRARIES    = ${MYSQL_LIBRARIES}")
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(mysql DEFAULT_MSG
-  MYSQL_INCLUDE_DIRS MYSQL_LIBRARIES)
diff --git a/rdbms/ConnTest.cpp b/rdbms/ConnTest.cpp
index 029907a7f8b15fc758ec7e52a21ff580a5b9ee6f..6030fff5dcf2c3ea909c76d8467e31d66b54c81a 100644
--- a/rdbms/ConnTest.cpp
+++ b/rdbms/ConnTest.cpp
@@ -75,7 +75,6 @@ TEST_P(cta_rdbms_ConnTest, setAutocommitMode_AUTOCOMMIT_OFF) {
     break;
   case Login::DBTYPE_IN_MEMORY:
   case Login::DBTYPE_SQLITE:
-  case Login::DBTYPE_MYSQL:
   case Login::DBTYPE_POSTGRESQL:
     ASSERT_THROW(conn.setAutocommitMode(AutocommitMode::AUTOCOMMIT_OFF), Conn::AutocommitModeNotSupported);
     break;
@@ -108,7 +107,6 @@ TEST_P(cta_rdbms_ConnTest, loan_return_loan_conn_setAutocommitMode_AUTOCOMMIT_OF
     break;
   case Login::DBTYPE_IN_MEMORY:
   case Login::DBTYPE_SQLITE:
-  case Login::DBTYPE_MYSQL:
   case Login::DBTYPE_POSTGRESQL:
     {
       auto conn = connPool.getConn();
diff --git a/rdbms/Login.cpp b/rdbms/Login.cpp
index bceb84082188770d72f4a213426a5a1660ca1704..be635efd50aebe2688b8861699a2fe9433c0168f 100644
--- a/rdbms/Login.cpp
+++ b/rdbms/Login.cpp
@@ -15,16 +15,17 @@
  *                 along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "common/exception/Exception.hpp"
-#include "common/utils/utils.hpp"
-#include "Login.hpp"
-
-#include <fstream>
-#include <sstream>
 #include <algorithm>
+#include <fstream>
 #include <iostream>
-#include <stdexcept>
 #include <regex>
+#include <sstream>
+#include <stdexcept>
+#include <vector>
+
+#include "common/exception/Exception.hpp"
+#include "common/utils/utils.hpp"
+#include "Login.hpp"
 
 namespace cta {
 namespace rdbms {
@@ -36,7 +37,6 @@ const char *Login::s_fileFormat = "one of "
   "in_memory, "
   "oracle:username/password@database, "
   "sqlite:filename, "
-  "mysql://<username>:<password>@<host>:<port>/<db_name> or "
   "postgresql:[connectinfo | URI]";
 
 const std::string Login::s_hiddenPassword = "******";
@@ -44,7 +44,6 @@ const std::string Login::s_hiddenPassword = "******";
 const std::string Login::DbTypeAndConnectionDetails::in_memory = "in_memory";
 const std::string Login::DbTypeAndConnectionDetails::oracle = "oracle";
 const std::string Login::DbTypeAndConnectionDetails::sqlite = "sqlite";
-const std::string Login::DbTypeAndConnectionDetails::mysql = "mysql";
 const std::string Login::DbTypeAndConnectionDetails::postgresql = "postgresql";
 
 //------------------------------------------------------------------------------
@@ -113,18 +112,16 @@ Login Login::parseString(const std::string &connectionString) {
   if (connectionString.empty()) {
     throw exception::Exception("Invalid connection string: Empty string");
   }
-  
+
   const auto typeAndDetails = parseDbTypeAndConnectionDetails(connectionString);
 
-  if(typeAndDetails.dbTypeStr == DbTypeAndConnectionDetails::in_memory) {
+  if (typeAndDetails.dbTypeStr == DbTypeAndConnectionDetails::in_memory) {
     return parseInMemory(typeAndDetails.connectionDetails);
-  } else if(typeAndDetails.dbTypeStr == DbTypeAndConnectionDetails::oracle) {
+  } else if (typeAndDetails.dbTypeStr == DbTypeAndConnectionDetails::oracle) {
     return parseOracle(typeAndDetails.connectionDetails);
-  } else if(typeAndDetails.dbTypeStr == DbTypeAndConnectionDetails::sqlite) {
+  } else if (typeAndDetails.dbTypeStr == DbTypeAndConnectionDetails::sqlite) {
     return parseSqlite(typeAndDetails.connectionDetails);
-  } else if(typeAndDetails.dbTypeStr == DbTypeAndConnectionDetails::mysql) {
-    return parseMySql(typeAndDetails.connectionDetails);
-  } else if(typeAndDetails.dbTypeStr == DbTypeAndConnectionDetails::postgresql) {
+  } else if (typeAndDetails.dbTypeStr == DbTypeAndConnectionDetails::postgresql) {
     return parsePostgresql(typeAndDetails.connectionDetails);
   }
 
@@ -156,11 +153,11 @@ std::list<std::string> Login::readNonEmptyLines(std::istream &inputStream) {
   std::list<std::string> lines;
   std::string line;
 
-  while(std::getline(inputStream, line)) {
+  while (std::getline(inputStream, line)) {
     // Remove the newline character if there is one
     {
       const std::string::size_type newlinePos = line.find("\n");
-      if(newlinePos != std::string::npos) {
+      if (newlinePos != std::string::npos) {
         line = line.substr(0, newlinePos);
       }
     }
@@ -174,7 +171,7 @@ std::list<std::string> Login::readNonEmptyLines(std::istream &inputStream) {
     // Ignoring whitespace, lines starting with '#' are comments.
 
     // If the line is not empty and is not a comment
-    if(!line.empty() && line.at(0) != '#') {
+    if (!line.empty() && line.at(0) != '#') {
       lines.push_back(line);
     }
   }
@@ -186,7 +183,7 @@ std::list<std::string> Login::readNonEmptyLines(std::istream &inputStream) {
 // parseInMemory
 //------------------------------------------------------------------------------
 Login Login::parseInMemory(const std::string &connectionDetails) {
-  if(!connectionDetails.empty()) {
+  if (!connectionDetails.empty()) {
     throw exception::Exception(std::string("Invalid connection string: Correct format is ") + s_fileFormat);
   }
   Login login(DBTYPE_IN_MEMORY, "", "", "", "", 0);
@@ -194,7 +191,7 @@ Login Login::parseInMemory(const std::string &connectionDetails) {
   return login;
 }
 
-void Login::setInMemoryConnectionString(){
+void Login::setInMemoryConnectionString() {
   connectionString = Login::DbTypeAndConnectionDetails::in_memory;
 }
 
@@ -204,7 +201,7 @@ void Login::setInMemoryConnectionString(){
 Login Login::parseOracle(const std::string &connectionDetails) {
   std::vector<std::string> userPassAndDbTokens;
   utils::splitString(connectionDetails, '@', userPassAndDbTokens);
-  if(2 != userPassAndDbTokens.size()) {
+  if (2 != userPassAndDbTokens.size()) {
     throw exception::Exception(std::string("Invalid connection string: Correct format is ") + s_fileFormat);
   }
   const std::string &userAndPass = userPassAndDbTokens[0];
@@ -212,18 +209,18 @@ Login Login::parseOracle(const std::string &connectionDetails) {
 
   std::vector<std::string> userAndPassTokens;
   utils::splitString(userAndPass, '/', userAndPassTokens);
-  if(2 != userAndPassTokens.size()) {
+  if (2 != userAndPassTokens.size()) {
     throw exception::Exception(std::string("Invalid connection string: Correct format is ") + s_fileFormat);
   }
   const std::string &user = userAndPassTokens[0];
   const std::string &pass = userAndPassTokens[1];
 
   Login login(DBTYPE_ORACLE, user, pass, db, "", 0);
-  login.setOracleConnectionString(user,db);
+  login.setOracleConnectionString(user, db);
   return login;
 }
 
-void Login::setOracleConnectionString(const std::string & user, const std::string & db){
+void Login::setOracleConnectionString(const std::string & user, const std::string & db) {
   connectionString = Login::DbTypeAndConnectionDetails::oracle+":"+user+"/"+s_hiddenPassword+"@"+db;
 }
 
@@ -233,167 +230,19 @@ void Login::setOracleConnectionString(const std::string & user, const std::strin
 Login Login::parseSqlite(const std::string &connectionDetails) {
   const std::string &filename = connectionDetails;
 
-  if(filename.empty()) {
+  if (filename.empty()) {
     throw exception::Exception(std::string("Invalid connection string: Correct format is ") + s_fileFormat);
   }
-  
+
   Login login(DBTYPE_SQLITE, "", "", filename, "", 0);
   login.setSqliteConnectionString(filename);
   return login;
 }
 
-void Login::setSqliteConnectionString(const std::string & filename){
+void Login::setSqliteConnectionString(const std::string & filename) {
   connectionString = Login::DbTypeAndConnectionDetails::sqlite+":"+filename;
 }
 
-//------------------------------------------------------------------------------
-// parseMySql
-//------------------------------------------------------------------------------
-Login Login::parseMySql(const std::string &connectionDetails) {
-  // The full url pattern:
-  //     mysql://<username>:<password>@<host>:<port>/<db_name>
-  //
-  // optional: 
-  //   - <username>:<password>@ 
-  //   - <password>
-  //   - <port>
-  //
-  // Note:
-  //   - hostname can also be ipv4 or ipv6 address.
-  //     For ipv6, note hostname is string between "[" and "]", then is the port
-  
-
-  std::string username;
-  std::string password;
-  std::string host;
-  uint16_t port = 3306;
-  std::string database;
-  // connectionDetails is //<username>:<password>@<host>:<port>/<db_name>
-
-  const std::string protocol = "//";
-  const size_t protocol_sz = protocol.size();
-  if (connectionDetails.substr(0, protocol.size()) != protocol) {
-    throw exception::Exception(std::string(__FUNCTION__) + " mysql url format wrong.");
-  }
-
-  const std::string host_sep = "@"; // first "@" or optional 
-  auto idx_sep = connectionDetails.find(host_sep);
-
-  bool has_usr_pwd = true;
-  std::string usr_pwd_str;
-  std::string host_port_db_str;
-  // if "@" is not found, that means no user/password
-  // the password can be in ~/.my.cnf file
-  if (idx_sep == std::string::npos) {
-    has_usr_pwd = false;
-    host_port_db_str = connectionDetails.substr(protocol_sz);
-  } else if (idx_sep+1 < connectionDetails.size()) {
-    usr_pwd_str = connectionDetails.substr(protocol_sz, idx_sep-protocol_sz);
-    host_port_db_str = connectionDetails.substr(idx_sep+1);
-  } else {
-    throw exception::Exception(std::string(__FUNCTION__) + " empty url.");
-  }
-
-  // parse username and password 
-  if (has_usr_pwd) {
-    const std::string pass_sep = ":";
-
-    auto idx_pass_sep = usr_pwd_str.find(pass_sep);
-    username = usr_pwd_str.substr(0, idx_pass_sep);
-    if (idx_pass_sep != std::string::npos
-        && (idx_pass_sep+1) < usr_pwd_str.size()) {
-      password = usr_pwd_str.substr(idx_pass_sep+1);
-    }
-
-  }
-
-  // parse host, port and db name
-  //   host and db name should not be optional
-  const std::string db_sep = "/";
-  auto idx_db_sep = host_port_db_str.find(db_sep);
-
-  if (idx_db_sep == std::string::npos) {
-    throw exception::Exception(std::string(__FUNCTION__) + " specify host/dbname");
-  } else if (idx_db_sep+1 >= host_port_db_str.size()) {
-    throw exception::Exception(std::string(__FUNCTION__) + " specify host/dbname");
-  }
-
-  const std::string host_port_str = host_port_db_str.substr(0, idx_db_sep);
-  const std::string db_str = host_port_db_str.substr(idx_db_sep+1);
-
-  if (host_port_str.empty()) {
-      throw exception::Exception(std::string(__FUNCTION__) + " host is missing");
-  }
-
-  if (db_str.empty()) {
-      throw exception::Exception(std::string(__FUNCTION__) + " database is missing");
-  }
-
-
-  // first part: host:port
-  const std::string port_sep = ":";
-  const std::string ipv6_sep_begin = "[";
-  const std::string ipv6_sep_end = "]";
-  size_t idx_port_sep = 0;
-
-  if (host_port_str.substr(0, 1) == ipv6_sep_begin) {
-    // ipv6 addr
-    idx_port_sep = host_port_str.find(ipv6_sep_end);
-
-    // invalid ipv6
-    if (idx_port_sep == std::string::npos // missing "]"
-        or idx_port_sep == 1// empty hostname, such as "[]"
-        ) {
-      throw exception::Exception(std::string(__FUNCTION__) + " invalid ipv6 addr " + host_port_str);
-    }
-
-    idx_port_sep = idx_port_sep  + 1;
-
-  } else {
-    idx_port_sep = host_port_str.find(port_sep);
-  }
-
-  std::string port_str;
-  host = host_port_str.substr(0, idx_port_sep);
-  if (idx_port_sep == std::string::npos 
-      or idx_port_sep+1 >= host_port_str.size()) {
-    // nop: port is omit
-  } else {
-    port_str = host_port_str.substr(idx_port_sep+1);
-
-    // convert number
-    std::stringstream ss;
-    ss << port_str;
-    ss >> port;
-
-    if (ss.fail()) {
-      throw exception::Exception(std::string(__FUNCTION__) + " invalid port " + port_str);
-    }
-  }
-
-  // second part db name
-  database = db_str;  
-  
-  Login login(DBTYPE_MYSQL, username, password, database, host, port);
-  login.setMySqlConnectionString(username,password,host,port_str,database);
-  return login;
-}
-
-void Login::setMySqlConnectionString(const std::string & pUsername, const std::string & pPassword,const std::string & pHost, const std::string & pPort, const std::string & pDatabase) {
-  //mysql://<username>:<password>@<host>:<port>/<db_name>
-  // optional: 
-  //   - <username>:<password>@ 
-  //   - <password>
-  //   - <port>
-  connectionString = DbTypeAndConnectionDetails::mysql+"://";
-  
-  bool hasUsername = !pUsername.empty();
-  bool hasPassword = !pPassword.empty();
-  bool hasPort = !pPort.empty();
-
-  connectionString += (hasUsername ? pUsername : "") + (hasPassword ? ":" + s_hiddenPassword + "@" : (hasUsername ? "@" : "")) + pHost + (hasPort ? ":" + pPort : "") + "/" + pDatabase; 
-}
-
 //------------------------------------------------------------------------------
 // parsePostgresql
 //------------------------------------------------------------------------------
@@ -403,10 +252,10 @@ Login Login::parsePostgresql(const std::string &connectionDetails) {
   return login;
 }
 
-void Login::setPostgresqlConnectionString(const std::string& connectionDetails){
+void Login::setPostgresqlConnectionString(const std::string& connectionDetails) {
   connectionString = Login::DbTypeAndConnectionDetails::postgresql+":";
-  if(!postgresqlHasPassword(connectionDetails)){
-    //No password displayed so no need to hide it
+  if (!postgresqlHasPassword(connectionDetails)) {
+    // No password displayed so no need to hide it
     connectionString += connectionDetails;
   } else {
     cta::utils::Regex regex2("(postgresql://.*:)(.*)(@.*)");
@@ -415,20 +264,20 @@ void Login::setPostgresqlConnectionString(const std::string& connectionDetails){
   }
 }
 
-bool Login::postgresqlHasPassword(const std::string& connectionDetails){
-  //https://www.postgresql.org/docs/10/libpq-connect.html
-  if(connectionDetails.find("@") == std::string::npos){
+bool Login::postgresqlHasPassword(const std::string& connectionDetails) {
+  // https://www.postgresql.org/docs/10/libpq-connect.html
+  if (connectionDetails.find("@") == std::string::npos) {
     return false;
   }
   cta::utils::Regex regex("postgresql://(.*)@");
   std::vector<std::string> result = regex.exec(connectionDetails);
   std::string usernamePassword = result[1];
-  if(usernamePassword.find(":") == std::string::npos){
-    //No password provided, no need to hide it
+  if (usernamePassword.find(":") == std::string::npos) {
+    // No password provided, no need to hide it
     return false;
   }
   return true;
 }
 
-} // namespace catalogue
-} // namespace cta
+}  // namespace rdbms
+}  // namespace cta
diff --git a/rdbms/Login.hpp b/rdbms/Login.hpp
index a38ba39983a778fbf2684d17c6629a9e8183c8ec..b9d877365cb7c9ec040f93e82b5ecb1bee28e3b5 100644
--- a/rdbms/Login.hpp
+++ b/rdbms/Login.hpp
@@ -28,7 +28,6 @@ namespace rdbms {
  * A set of database login details.
  */
 struct Login {
-
   /**
    * Enumeration of the supported database types.
    */
@@ -36,7 +35,6 @@ struct Login {
     DBTYPE_IN_MEMORY,
     DBTYPE_ORACLE,
     DBTYPE_SQLITE,
-    DBTYPE_MYSQL,
     DBTYPE_POSTGRESQL,
     DBTYPE_NONE
   };
@@ -47,14 +45,13 @@ struct Login {
    * @return The string representation of the specified database type.
    */
   static std::string dbTypeToString(const DbType &dbType) {
-    switch(dbType) {
-    case DBTYPE_IN_MEMORY: return "DBTYPE_IN_MEMORY";
-    case DBTYPE_ORACLE: return "DBTYPE_ORACLE";
-    case DBTYPE_SQLITE: return "DBTYPE_SQLITE";
-    case DBTYPE_MYSQL: return "DBTYPE_MYSQL";
-    case DBTYPE_POSTGRESQL: return "DBTYPE_POSTGRESQL";
-    case DBTYPE_NONE: return "DBTYPE_NONE";
-    default: return "UNKNOWN";
+    switch (dbType) {
+      case DBTYPE_IN_MEMORY: return "DBTYPE_IN_MEMORY";
+      case DBTYPE_ORACLE: return "DBTYPE_ORACLE";
+      case DBTYPE_SQLITE: return "DBTYPE_SQLITE";
+      case DBTYPE_POSTGRESQL: return "DBTYPE_POSTGRESQL";
+      case DBTYPE_NONE: return "DBTYPE_NONE";
+      default: return "UNKNOWN";
     }
   }
 
@@ -115,7 +112,7 @@ struct Login {
    * The connection string of the database (with hidden password)
    */
   std::string connectionString;
-  
+
   /**
    * Reads and parses the database login information from the specified file.
    *
@@ -154,7 +151,6 @@ struct Login {
    *   in_memory
    *   oracle:username/password@database
    *   sqlite:path
-   *   mysql://username:password@hostname:port/db_name
    *
    * @param connectionString The connection string.
    * @return The database login information.
@@ -180,11 +176,10 @@ struct Login {
   struct DbTypeAndConnectionDetails {
     std::string dbTypeStr;
     std::string connectionDetails;
-    
+
     static const std::string in_memory;
     static const std::string oracle;
     static const std::string sqlite;
-    static const std::string mysql;
     static const std::string postgresql;
   };
 
@@ -217,13 +212,6 @@ struct Login {
    */
   static Login parseSqlite(const std::string &connectionDetails);
 
-  /**
-   * Parses the specified connection details.
-   *
-   * @param connectionDetails The database connection details.
-   */
-  static Login parseMySql(const std::string &connectionDetails);
-
   /**
    * Parses the specified connection details for the Postgres database.
    * The postgres selection type in the config file is "postgres".
@@ -248,62 +236,52 @@ struct Login {
    * @param connectionDetails The database connection details.
    */
   static Login parsePostgresql(const std::string &connectionDetails);
-  
+
   static const std::list<std::string> dbTypeStr;
-  
+
   /**
    * Human readable description of the format of the database
    * login/configuration file.
    */
   static const char *s_fileFormat;
-  
+
   /**
    * String displayed instead of the actual password.
    */
   static const std::string s_hiddenPassword;
-  
-private:
+
+ private:
   /**
    * Sets the connection string of an in_memory database
    */
   void setInMemoryConnectionString();
-  
-  /**
-   * Sets the mysql connection string of a mysql database
-   * @param username
-   * @param password
-   * @param host
-   * @param port
-   * @param database
-   */
-  void setMySqlConnectionString(const std::string & username, const std::string & password, const std::string & host, const std::string & port, const std::string & database);
-  
+
   /**
    * Sets the Oracle connection string of an oracle database
    * @param user
    * @param db
    */
   void setOracleConnectionString(const std::string &user, const std::string &db);
-  
+
   /**
    * Sets the connection string of a Postgresql database
    * @param connectionDetails
    */
   void setPostgresqlConnectionString(const std::string &connectionDetails);
-  
+
   /**
    * Sets the connection string of a sqlite database
    * @param filename
    */
   void setSqliteConnectionString(const std::string & filename);
-  
+
   /**
    * Returns true if the Postgresql connectionDetails contains a password, false otherwise
    * @param connectionDetails the connectionDetails retrieved from the configuration file
    * @return  true if the Postgresql connectionDetails contains a password, false otherwise
    */
   bool postgresqlHasPassword(const std::string & connectionDetails);
-}; // class Login
+};  // class Login
 
-} // namespace rdbms
-} // namespace cta
+}  // namespace rdbms
+}  // namespace cta
diff --git a/rdbms/LoginTest.cpp b/rdbms/LoginTest.cpp
index b19bde76969d7468e2db85ef7f18d7d38c6bca13..f73602d00eb5e4cf6bcbc3e366374a45f07958f6 100644
--- a/rdbms/LoginTest.cpp
+++ b/rdbms/LoginTest.cpp
@@ -288,340 +288,28 @@ TEST_F(cta_rdbms_LoginTest, parseDbTypeAndConnectionDetails_many_colons) {
   ASSERT_EQ("::::", typeAndDetails.connectionDetails);
 }
 
-TEST_F(cta_rdbms_LoginTest, parseString_MySql_fullurl) {
-  using namespace cta;
-  using namespace cta::rdbms;
-
-  const std::string connectionString = "mysql://user:pass@hostname:3306/dbname";
-  const auto login = Login::parseString(connectionString);
-
-  ASSERT_EQ(Login::DBTYPE_MYSQL, login.dbType);
-  ASSERT_EQ("user", login.username);
-  ASSERT_EQ("pass", login.password);
-  ASSERT_EQ("hostname", login.hostname);
-  ASSERT_EQ(3306, login.port);
-  ASSERT_EQ("dbname", login.database);
-
-}
-
-TEST_F(cta_rdbms_LoginTest, parseString_MySql_fullurl_ipv6) {
-  using namespace cta;
-  using namespace cta::rdbms;
-
-  const std::string connectionString = "mysql://user:pass@[::1]:3306/dbname";
-  const auto login = Login::parseString(connectionString);
-
-  ASSERT_EQ(Login::DBTYPE_MYSQL, login.dbType);
-  ASSERT_EQ("user", login.username);
-  ASSERT_EQ("pass", login.password);
-  ASSERT_EQ("[::1]", login.hostname);
-  ASSERT_EQ(3306, login.port);
-  ASSERT_EQ("dbname", login.database);
-
-}
-
-
-TEST_F(cta_rdbms_LoginTest, parseString_MySql_shortest_url) {
-  using namespace cta;
-  using namespace cta::rdbms;
-
-  const std::string connectionString = "mysql://hostname/dbname";
-  const auto login = Login::parseString(connectionString);
-
-  ASSERT_EQ(Login::DBTYPE_MYSQL, login.dbType);
-  ASSERT_EQ("", login.username);
-  ASSERT_EQ("", login.password);
-  ASSERT_EQ("hostname", login.hostname);
-  ASSERT_EQ(3306, login.port);
-  ASSERT_EQ("dbname", login.database);
-
-}
-
-TEST_F(cta_rdbms_LoginTest, parseString_MySql_shortest_url_ipv6) {
-  using namespace cta;
-  using namespace cta::rdbms;
-
-  const std::string connectionString = "mysql://[::1]/dbname";
-  const auto login = Login::parseString(connectionString);
-
-  ASSERT_EQ(Login::DBTYPE_MYSQL, login.dbType);
-  ASSERT_EQ("", login.username);
-  ASSERT_EQ("", login.password);
-  ASSERT_EQ("[::1]", login.hostname);
-  ASSERT_EQ(3306, login.port);
-  ASSERT_EQ("dbname", login.database);
-
-}
-
-
-TEST_F(cta_rdbms_LoginTest, parseString_MySql_partialurl_no_userpass_with_seq) {
-  using namespace cta;
-  using namespace cta::rdbms;
-
-  const std::string connectionString = "mysql://@hostname:3306/dbname";
-  const auto login = Login::parseString(connectionString);
-
-  ASSERT_EQ(Login::DBTYPE_MYSQL, login.dbType);
-  ASSERT_EQ("", login.username);
-  ASSERT_EQ("", login.password);
-  ASSERT_EQ("hostname", login.hostname);
-  ASSERT_EQ(3306, login.port);
-  ASSERT_EQ("dbname", login.database);
-
-}
-
-TEST_F(cta_rdbms_LoginTest, parseString_MySql_partialurl_no_userpass_with_seq_ipv6) {
-  using namespace cta;
-  using namespace cta::rdbms;
-
-  const std::string connectionString = "mysql://@[::1]:3306/dbname";
-  const auto login = Login::parseString(connectionString);
-
-  ASSERT_EQ(Login::DBTYPE_MYSQL, login.dbType);
-  ASSERT_EQ("", login.username);
-  ASSERT_EQ("", login.password);
-  ASSERT_EQ("[::1]", login.hostname);
-  ASSERT_EQ(3306, login.port);
-  ASSERT_EQ("dbname", login.database);
-
-}
-
-
-TEST_F(cta_rdbms_LoginTest, parseString_MySql_partialurl_no_userpass_no_seq) {
-  using namespace cta;
-  using namespace cta::rdbms;
-
-  const std::string connectionString = "mysql://hostname:3306/dbname";
-  const auto login = Login::parseString(connectionString);
-
-  ASSERT_EQ(Login::DBTYPE_MYSQL, login.dbType);
-  ASSERT_EQ("", login.username);
-  ASSERT_EQ("", login.password);
-  ASSERT_EQ("hostname", login.hostname);
-  ASSERT_EQ(3306, login.port);
-  ASSERT_EQ("dbname", login.database);
-
-}
-
-TEST_F(cta_rdbms_LoginTest, parseString_MySql_partialurl_no_userpass_no_seq_ipv6) {
-  using namespace cta;
-  using namespace cta::rdbms;
-
-  const std::string connectionString = "mysql://[::1]:3306/dbname";
-  const auto login = Login::parseString(connectionString);
-
-  ASSERT_EQ(Login::DBTYPE_MYSQL, login.dbType);
-  ASSERT_EQ("", login.username);
-  ASSERT_EQ("", login.password);
-  ASSERT_EQ("[::1]", login.hostname);
-  ASSERT_EQ(3306, login.port);
-  ASSERT_EQ("dbname", login.database);
-
-}
-
-
-TEST_F(cta_rdbms_LoginTest, parseString_MySql_partialurl_no_pass) {
-  using namespace cta;
-  using namespace cta::rdbms;
-
-  const std::string connectionString = "mysql://username@hostname:3306/dbname";
-  const auto login = Login::parseString(connectionString);
-
-  ASSERT_EQ(Login::DBTYPE_MYSQL, login.dbType);
-  ASSERT_EQ("username", login.username);
-  ASSERT_EQ("", login.password);
-  ASSERT_EQ("hostname", login.hostname);
-  ASSERT_EQ(3306, login.port);
-  ASSERT_EQ("dbname", login.database);
-
-}
-
-TEST_F(cta_rdbms_LoginTest, parseString_MySql_partialurl_no_port_with_seq) {
-  using namespace cta;
-  using namespace cta::rdbms;
-
-  const std::string connectionString = "mysql://username:password@hostname:/dbname";
-  const auto login = Login::parseString(connectionString);
-
-  ASSERT_EQ(Login::DBTYPE_MYSQL, login.dbType);
-  ASSERT_EQ("username", login.username);
-  ASSERT_EQ("password", login.password);
-  ASSERT_EQ("hostname", login.hostname);
-  ASSERT_EQ(3306, login.port);
-  ASSERT_EQ("dbname", login.database);
-
-}
-
-TEST_F(cta_rdbms_LoginTest, parseString_MySql_partialurl_no_port_with_seq_ipv6) {
-  using namespace cta;
-  using namespace cta::rdbms;
-
-  const std::string connectionString = "mysql://username:password@[::1]:/dbname";
-  const auto login = Login::parseString(connectionString);
-
-  ASSERT_EQ(Login::DBTYPE_MYSQL, login.dbType);
-  ASSERT_EQ("username", login.username);
-  ASSERT_EQ("password", login.password);
-  ASSERT_EQ("[::1]", login.hostname);
-  ASSERT_EQ(3306, login.port);
-  ASSERT_EQ("dbname", login.database);
-
-}
-
-
-TEST_F(cta_rdbms_LoginTest, parseString_MySql_partialurl_no_port_no_seq) {
-  using namespace cta;
-  using namespace cta::rdbms;
-
-  const std::string connectionString = "mysql://username:password@hostname/dbname";
-  const auto login = Login::parseString(connectionString);
-
-  ASSERT_EQ(Login::DBTYPE_MYSQL, login.dbType);
-  ASSERT_EQ("username", login.username);
-  ASSERT_EQ("password", login.password);
-  ASSERT_EQ("hostname", login.hostname);
-  ASSERT_EQ(3306, login.port);
-  ASSERT_EQ("dbname", login.database);
-
-}
-
-TEST_F(cta_rdbms_LoginTest, parseString_MySql_partialurl_no_port_no_seq_ipv6) {
-  using namespace cta;
-  using namespace cta::rdbms;
-
-  const std::string connectionString = "mysql://username:password@[::1]/dbname";
-  const auto login = Login::parseString(connectionString);
-
-  ASSERT_EQ(Login::DBTYPE_MYSQL, login.dbType);
-  ASSERT_EQ("username", login.username);
-  ASSERT_EQ("password", login.password);
-  ASSERT_EQ("[::1]", login.hostname);
-  ASSERT_EQ(3306, login.port);
-  ASSERT_EQ("dbname", login.database);
-
-}
-
-// invalid mysql config
-TEST_F(cta_rdbms_LoginTest, parseString_MySql_invalid_empty) {
-  using namespace cta;
-  using namespace cta::rdbms;
-
-  const std::string connectionString = "mysql:";
-  ASSERT_THROW(Login::parseString(connectionString), exception::Exception);
-}
-
-TEST_F(cta_rdbms_LoginTest, parseString_MySql_invalid_empty2) {
-  using namespace cta;
-  using namespace cta::rdbms;
-
-  const std::string connectionString = "mysql://";
-  ASSERT_THROW(Login::parseString(connectionString), exception::Exception);
-}
-
-TEST_F(cta_rdbms_LoginTest, parseString_MySql_invalid_empty3) {
-  using namespace cta;
-  using namespace cta::rdbms;
-
-  const std::string connectionString = "mysql:/";
-  ASSERT_THROW(Login::parseString(connectionString), exception::Exception);
-}
-
-
-TEST_F(cta_rdbms_LoginTest, parseString_MySql_invalid_empty_db) {
-  using namespace cta;
-  using namespace cta::rdbms;
-
-  const std::string connectionString = "mysql://hostname";
-  ASSERT_THROW(Login::parseString(connectionString), exception::Exception);
-}
-
-TEST_F(cta_rdbms_LoginTest, parseString_MySql_invalid_empty_db_with_sep) {
-  using namespace cta;
-  using namespace cta::rdbms;
-
-  const std::string connectionString = "mysql://hostname/";
-  ASSERT_THROW(Login::parseString(connectionString), exception::Exception);
-}
-
-TEST_F(cta_rdbms_LoginTest, parseString_MySql_invalid_empty_host) {
-  using namespace cta;
-  using namespace cta::rdbms;
-
-  const std::string connectionString = "mysql:///dbname";
-  ASSERT_THROW(Login::parseString(connectionString), exception::Exception);
-}
-
 TEST_F(cta_rdbms_LoginTest, parseStringConnectionString_InMemory) {
   using namespace cta;
   using namespace cta::rdbms;
-  
+
   std::string connectionDetails = "";
   std::string expectedConnectionString = Login::DbTypeAndConnectionDetails::in_memory;
-  
+
   Login login = Login::parseInMemory(connectionDetails);
-  
+
   ASSERT_EQ(expectedConnectionString,login.connectionString);
 }
 
 TEST_F(cta_rdbms_LoginTest, parseStringConnectionString_Sqlite) {
   using namespace cta;
   using namespace cta::rdbms;
-  
+
   std::string connectionDetails = "filename";
   std::string expectedConnectionString = Login::DbTypeAndConnectionDetails::sqlite+":"+connectionDetails;
-  
+
   Login login = Login::parseSqlite(connectionDetails);
-  
-  ASSERT_EQ(expectedConnectionString,login.connectionString);
-}
 
-TEST_F(cta_rdbms_LoginTest, parseStringConnectionString_MySql) {
-  using namespace cta;
-  using namespace cta::rdbms;
-  
-  std::string username = "username";
-  std::string password = "password";
-  std::string host = "host";
-  std::string port = "666";
-  std::string db_name = "db_name";
-  
-  //mysql://<username>:<password>@<host>:<port>/<db_name>
-  // optional: 
-  //   - <username>:<password>@ 
-  //   - <password>
-  //   - <port>
-  
-  //Testing first case where all is provided
-  std::string connectionDetails = "//"+username+":"+password+"@"+host+":"+port+"/"+db_name;
-  std::string expectedConnectionString = Login::DbTypeAndConnectionDetails::mysql + "://"+username+":"+Login::s_hiddenPassword+"@"+host+":"+port+"/"+db_name;
-  {
-    Login login = Login::parseMySql(connectionDetails);
-    ASSERT_EQ(expectedConnectionString,login.connectionString);
-  }
-  
-  connectionDetails = "//"+username+"@"+host+":"+port+"/"+db_name;
-  //No password provided so should be the same
-  expectedConnectionString = Login::DbTypeAndConnectionDetails::mysql+":"+connectionDetails;
-  {
-    Login login = Login::parseMySql(connectionDetails);
-    ASSERT_EQ(expectedConnectionString,login.connectionString);
-  }
-  
-  connectionDetails = "//" + host + ":" + port + "/" + db_name;
-  //No password provided so should be the same
-  expectedConnectionString = Login::DbTypeAndConnectionDetails::mysql+":"+connectionDetails;
-  {
-    Login login = Login::parseMySql(connectionDetails);
-    ASSERT_EQ(expectedConnectionString,login.connectionString);
-  }
-  
-  connectionDetails = "//" + host + "/" + db_name;
-  //No password provided so should be the same
-  expectedConnectionString = Login::DbTypeAndConnectionDetails::mysql+":"+connectionDetails;
-  {
-    Login login = Login::parseMySql(connectionDetails);
-    ASSERT_EQ(expectedConnectionString,login.connectionString);
-  }
+  ASSERT_EQ(expectedConnectionString,login.connectionString);
 }
 
 TEST_F(cta_rdbms_LoginTest, parseStringConnectionString_Oracle) {
@@ -631,7 +319,7 @@ TEST_F(cta_rdbms_LoginTest, parseStringConnectionString_Oracle) {
   std::string database = "database";
   std::string connectionDetails = "username/password@database";
   std::string expectedConnectionString = Login::DbTypeAndConnectionDetails::oracle+":"+username+"/"+Login::s_hiddenPassword+"@" + database;
-  
+
   Login login = Login::parseOracle(connectionDetails);
   ASSERT_EQ(expectedConnectionString,login.connectionString);
 }
@@ -639,13 +327,13 @@ TEST_F(cta_rdbms_LoginTest, parseStringConnectionString_Oracle) {
 TEST_F(cta_rdbms_LoginTest, parseStringConnectionString_Postgresql) {
   using namespace cta;
   using namespace cta::rdbms;
-  
+
   std::string username = "username";
   std::string password = "password";
   std::string host = "localhost";
   std::string database = "cta";
   std::string port = "666";
-  
+
   std::string connectionString = Login::DbTypeAndConnectionDetails::postgresql+"://"+username+":"+password+"@"+host+"/"+database;
   std::string expectedConnectionString = Login::DbTypeAndConnectionDetails::postgresql + ":postgresql://" + username + ":" + Login::s_hiddenPassword + "@" + host+ "/" + database;
   {
@@ -653,21 +341,21 @@ TEST_F(cta_rdbms_LoginTest, parseStringConnectionString_Postgresql) {
 
     ASSERT_EQ(expectedConnectionString,login.connectionString);
   }
-  
+
   connectionString = Login::DbTypeAndConnectionDetails::postgresql+"://"+username+"@"+host+"/"+database;
   expectedConnectionString = Login::DbTypeAndConnectionDetails::postgresql+":"+connectionString;
   {
     Login login = Login::parsePostgresql(connectionString);
     ASSERT_EQ(expectedConnectionString,login.connectionString);
   }
-  
+
   connectionString = Login::DbTypeAndConnectionDetails::postgresql+"://"+host;
   expectedConnectionString = Login::DbTypeAndConnectionDetails::postgresql+":"+connectionString;
   {
     Login login = Login::parsePostgresql(connectionString);
     ASSERT_EQ(expectedConnectionString,login.connectionString);
   }
-  
+
   connectionString = Login::DbTypeAndConnectionDetails::postgresql + "://" + host + ":" + port;
   expectedConnectionString = Login::DbTypeAndConnectionDetails::postgresql+":"+connectionString;
   {
@@ -676,4 +364,4 @@ TEST_F(cta_rdbms_LoginTest, parseStringConnectionString_Postgresql) {
   }
 }
 
-} // namespace unitTests
+}  // namespace unitTests
diff --git a/rdbms/README.md b/rdbms/README.md
index 007781165fce20d6bebda64e79a403d59b8a4109..6fe6b7e77e24e1d3bbe609b3e8695fa1f433f615 100644
--- a/rdbms/README.md
+++ b/rdbms/README.md
@@ -3,10 +3,9 @@
 The `rdbms` layer of CTA wraps the APIs of different relational database clients
 in order to hide their syntactic differences from the rest of the CTA code base.
 
-The `rdbms` library currently wraps the client APIs of the following 4 different
+The `rdbms` library currently wraps the client APIs of the following 3 different
 database management systems:
 
-* MySQL
 * Oracle
 * PostgreSQL
 * SQLite
@@ -65,4 +64,3 @@ auto conn = connPool.getConn();
 The following class diagram shows the most important design details of the `rdbms` layer:
 
 ![cta_rdbms_class_diagram.svg](cta_rdbms_class_diagram.svg)
-
diff --git a/rdbms/StmtTest.cpp b/rdbms/StmtTest.cpp
index 4c2a5441ed243f33af6f0567dec4d5095a66e252..390ac7abddb410f50360e0aa7149fa366e1fa9b8 100644
--- a/rdbms/StmtTest.cpp
+++ b/rdbms/StmtTest.cpp
@@ -92,12 +92,6 @@ std::string cta_rdbms_StmtTest::getCreateStmtTestTableSql() {
       utils::searchAndReplace(sql, "UINT32TYPE", "INTEGER");
       utils::searchAndReplace(sql, "UINT64TYPE", "INTEGER");
       break;
-    case Login::DBTYPE_MYSQL:
-      utils::searchAndReplace(sql, "UINT8TYPE", "TINYINT UNSIGNED");
-      utils::searchAndReplace(sql, "UINT16TYPE", "SMALLINT UNSIGNED");
-      utils::searchAndReplace(sql, "UINT32TYPE", "INT UNSIGNED");
-      utils::searchAndReplace(sql, "UINT64TYPE", "BIGINT UNSIGNED");
-      break;
     case Login::DBTYPE_POSTGRESQL:
       utils::searchAndReplace(sql, "UINT8TYPE", "NUMERIC(3, 0)");
       utils::searchAndReplace(sql, "UINT16TYPE", "NUMERIC(5, 0)");
diff --git a/rdbms/cta_rdbms_class_diagram.svg b/rdbms/cta_rdbms_class_diagram.svg
index eab01cfeaa9ddbb9ce4a0439941ce64f1a8669f1..f6738f4b437e8eb335ee81910a52642355ee400c 100644
--- a/rdbms/cta_rdbms_class_diagram.svg
+++ b/rdbms/cta_rdbms_class_diagram.svg
@@ -1,475 +1,2012 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/PR-SVG-20010719/DTD/svg10.dtd">
-<svg width="87cm" height="49cm" viewBox="-499 -49 1722 977" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-  <g>
-    <rect style="fill: #e5e5e5" x="-257.586" y="376.862" width="1480.08" height="550.728"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 1; stroke-dasharray: 20; stroke: #000000" x="-257.586" y="376.862" width="1480.08" height="550.728"/>
-  </g>
-  <g>
-    <rect style="fill: #ffffff" x="-469.31" y="311.822" width="171.7" height="28"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="-469.31" y="311.822" width="171.7" height="28"/>
-    <text font-size="16" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="-383.46" y="330.822">Stmt</text>
-    <rect style="fill: #ffffff" x="-469.31" y="339.822" width="171.7" height="8"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="-469.31" y="339.822" width="171.7" height="8"/>
-    <rect style="fill: #ffffff" x="-469.31" y="347.822" width="171.7" height="164"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="-469.31" y="347.822" width="171.7" height="164"/>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-465.31" y="361.822">+bindBlob()</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-465.31" y="377.822">+bindBool()</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-465.31" y="393.822">+bindDouble()</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-465.31" y="409.822">+bindString()</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-465.31" y="425.822">+bindUint8()</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-465.31" y="441.822">+bindUint16()</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-465.31" y="457.822">+bindUint32()</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-465.31" y="473.822">+binUint64()</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-465.31" y="489.822">+executeQuery(): Rset</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-465.31" y="505.822">+executeNonQuery()</text>
-  </g>
-  <g>
-    <rect style="fill: #ffffff" x="-476.878" y="583.202" width="187.1" height="28"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="-476.878" y="583.202" width="187.1" height="28"/>
-    <text font-size="16" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="-383.328" y="602.202">Rset</text>
-    <rect style="fill: #ffffff" x="-476.878" y="611.202" width="187.1" height="8"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="-476.878" y="611.202" width="187.1" height="8"/>
-    <rect style="fill: #ffffff" x="-476.878" y="619.202" width="187.1" height="276"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="-476.878" y="619.202" width="187.1" height="276"/>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-472.878" y="633.202">+columnBlob()</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-472.878" y="649.202">+columnBool()</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-472.878" y="665.202">+columnDouble()</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-472.878" y="681.202">+columnString()</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-472.878" y="697.202">+columnOptionalBool()</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-472.878" y="713.202">+columnOptionalDouble()</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-472.878" y="729.202">+columnOptionalString()</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-472.878" y="745.202">+columnOptionalUint8()</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-472.878" y="761.202">+columnOptionalUint16()</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-472.878" y="777.202">+columnOptionalUint32()</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-472.878" y="793.202">+columnOptionalUint64()</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-472.878" y="809.202">+columnUint8()</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-472.878" y="825.202">+columnUint16()</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-472.878" y="841.202">+columnUint32()</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-472.878" y="857.202">+columnUint64()</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-472.878" y="873.202">+isEmpty()</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-472.878" y="889.202">+next()</text>
-  </g>
-  <g>
-    <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="-383.46,511.822 -383.46,547.512 -383.328,547.512 -383.328,583.202 "/>
-    <text font-size="12.7998" style="fill: #000000;text-anchor:middle;font-family:monospace;font-style:normal;font-weight:normal" x="-383.394" y="543.512">Creates</text>
-    <polygon style="fill: #000000" points="-354.444,543.512 -354.444,535.512 -346.444,539.512 "/>
-    <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-379.46" y="523.822">1</text>
-    <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-379.328" y="579.202">0..*</text>
-  </g>
-  <g>
-    <rect style="fill: #ffffff" x="-496.276" y="60.6658" width="225.6" height="28"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="-496.276" y="60.6658" width="225.6" height="28"/>
-    <text font-size="16" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="-383.476" y="79.6658">Conn</text>
-    <rect style="fill: #ffffff" x="-496.276" y="88.6658" width="225.6" height="8"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="-496.276" y="88.6658" width="225.6" height="8"/>
-    <rect style="fill: #ffffff" x="-496.276" y="96.6658" width="225.6" height="132"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="-496.276" y="96.6658" width="225.6" height="132"/>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-492.276" y="110.666">+isOpen()</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-492.276" y="126.666">+close()</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-492.276" y="142.666">+setAutocommitMode()</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-492.276" y="158.666">+getAutocommitMode()</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-492.276" y="174.666">+executeNonQuery(sql:string)</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-492.276" y="190.666">+createStmt(sql:string)</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-492.276" y="206.666">+commit()</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-492.276" y="222.666">+rollback()</text>
-  </g>
-  <g>
-    <rect style="fill: #ffffff" x="437.812" y="156.71" width="143.75" height="28"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="437.812" y="156.71" width="143.75" height="28"/>
-    <text font-size="16" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="509.687" y="175.71">ConnAndStmts</text>
-    <rect style="fill: #ffffff" x="437.812" y="184.71" width="143.75" height="8"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="437.812" y="184.71" width="143.75" height="8"/>
-    <rect style="fill: #ffffff" x="437.812" y="192.71" width="143.75" height="8"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="437.812" y="192.71" width="143.75" height="8"/>
-  </g>
-  <g>
-    <rect style="fill: #ffffff" x="274.49" y="250.74" width="92.7" height="28"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="274.49" y="250.74" width="92.7" height="28"/>
-    <text font-size="16" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="320.84" y="269.74">StmtPool</text>
-    <rect style="fill: #ffffff" x="274.49" y="278.74" width="92.7" height="8"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="274.49" y="278.74" width="92.7" height="8"/>
-    <rect style="fill: #ffffff" x="274.49" y="286.74" width="92.7" height="20"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="274.49" y="286.74" width="92.7" height="20"/>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="278.49" y="300.74">+getStmt()</text>
-  </g>
-  <g>
-    <rect style="fill: #ffffff" x="211.184" y="407.958" width="219.1" height="28"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="211.184" y="407.958" width="219.1" height="28"/>
-    <text font-size="16" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="320.734" y="426.958">wrapper::StmtWrapper</text>
-    <rect style="fill: #ffffff" x="211.184" y="435.958" width="219.1" height="8"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="211.184" y="435.958" width="219.1" height="8"/>
-    <rect style="fill: #ffffff" x="211.184" y="443.958" width="219.1" height="8"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="211.184" y="443.958" width="219.1" height="8"/>
-  </g>
-  <g>
-    <rect style="fill: #ffffff" x="668.09" y="427.726" width="225.6" height="28"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="668.09" y="427.726" width="225.6" height="28"/>
-    <text font-size="16" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="780.89" y="446.726">wrapper::ConnWrapper</text>
-    <rect style="fill: #ffffff" x="668.09" y="455.726" width="225.6" height="8"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="668.09" y="455.726" width="225.6" height="8"/>
-    <rect style="fill: #ffffff" x="668.09" y="463.726" width="225.6" height="132"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="668.09" y="463.726" width="225.6" height="132"/>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="672.09" y="477.726">+isOpen()</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="672.09" y="493.726">+close()</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="672.09" y="509.726">+setAutocommitMode()</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="672.09" y="525.726">+getAutocommitMode()</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="672.09" y="541.726">+executeNonQuery(sql:string)</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="672.09" y="557.726">+createStmt(sql:string)</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="672.09" y="573.726">+commit()</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="672.09" y="589.726">+rollback()</text>
-  </g>
-  <g>
-    <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="581.562,225.882 581.562,232.296 780.89,232.296 780.89,427.726 "/>
-    <polygon style="fill: #000000" points="581.562,200.71 586.362,214.71 581.562,228.71 576.762,214.71 "/>
-    <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="581.562,200.71 586.362,214.71 581.562,228.71 576.762,214.71 "/>
-    <text font-size="12.7998" style="fill: #000000;text-anchor:middle;font-family:monospace;font-style:normal;font-weight:normal" x="681.226" y="228.296"/>
-    <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="592.562" y="212.71">1</text>
-    <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="784.89" y="423.726">0..1</text>
-  </g>
-  <g>
-    <rect style="fill: #ffffff" x="76.039" y="775.108" width="215.95" height="28"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="76.039" y="775.108" width="215.95" height="28"/>
-    <text font-size="16" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="184.014" y="794.108">wrapper::RsetWrapper</text>
-    <rect style="fill: #ffffff" x="76.039" y="803.108" width="215.95" height="8"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="76.039" y="803.108" width="215.95" height="8"/>
-    <rect style="fill: #ffffff" x="76.039" y="811.108" width="215.95" height="8"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="76.039" y="811.108" width="215.95" height="8"/>
-  </g>
-  <g>
-    <rect style="fill: #ffffff" x="-237.96" y="859.108" width="191.05" height="28"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="-237.96" y="859.108" width="191.05" height="28"/>
-    <text font-size="16" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="-142.435" y="878.108">wrapper::MysqlRset</text>
-    <rect style="fill: #ffffff" x="-237.96" y="887.108" width="191.05" height="8"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="-237.96" y="887.108" width="191.05" height="8"/>
-    <rect style="fill: #ffffff" x="-237.96" y="895.108" width="191.05" height="8"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="-237.96" y="895.108" width="191.05" height="8"/>
-  </g>
-  <g>
-    <rect style="fill: #ffffff" x="-34.961" y="860.108" width="176.35" height="28"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="-34.961" y="860.108" width="176.35" height="28"/>
-    <text font-size="16" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="53.214" y="879.108">wrapper::OcciRset</text>
-    <rect style="fill: #ffffff" x="-34.961" y="888.108" width="176.35" height="8"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="-34.961" y="888.108" width="176.35" height="8"/>
-    <rect style="fill: #ffffff" x="-34.961" y="896.108" width="176.35" height="8"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="-34.961" y="896.108" width="176.35" height="8"/>
-  </g>
-  <g>
-    <rect style="fill: #ffffff" x="152.039" y="860.108" width="217.85" height="28"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="152.039" y="860.108" width="217.85" height="28"/>
-    <text font-size="16" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="260.964" y="879.108">wrapper::PostgresRset</text>
-    <rect style="fill: #ffffff" x="152.039" y="888.108" width="217.85" height="8"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="152.039" y="888.108" width="217.85" height="8"/>
-    <rect style="fill: #ffffff" x="152.039" y="896.108" width="217.85" height="8"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="152.039" y="896.108" width="217.85" height="8"/>
-  </g>
-  <g>
-    <rect style="fill: #ffffff" x="381.04" y="860.108" width="190.7" height="28"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="381.04" y="860.108" width="190.7" height="28"/>
-    <text font-size="16" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="476.39" y="879.108">wrapper::SqliteRset</text>
-    <rect style="fill: #ffffff" x="381.04" y="888.108" width="190.7" height="8"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="381.04" y="888.108" width="190.7" height="8"/>
-    <rect style="fill: #ffffff" x="381.04" y="896.108" width="190.7" height="8"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="381.04" y="896.108" width="190.7" height="8"/>
-  </g>
-  <g>
-    <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="184.014,837.344 184.014,847.108 -142.435,847.108 -142.435,859.108 "/>
-    <polygon style="fill: #ffffff" points="192.014,837.344 184.014,821.344 176.014,837.344 "/>
-    <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="192.014,837.344 184.014,821.344 176.014,837.344 "/>
-  </g>
-  <g>
-    <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="184.014,837.344 184.014,847.608 260.964,847.608 260.964,860.108 "/>
-    <polygon style="fill: #ffffff" points="192.014,837.344 184.014,821.344 176.014,837.344 "/>
-    <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="192.014,837.344 184.014,821.344 176.014,837.344 "/>
-  </g>
-  <g>
-    <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="184.014,837.344 184.014,847.608 53.214,847.608 53.214,860.108 "/>
-    <polygon style="fill: #ffffff" points="192.014,837.344 184.014,821.344 176.014,837.344 "/>
-    <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="192.014,837.344 184.014,821.344 176.014,837.344 "/>
-  </g>
-  <g>
-    <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="184.014,837.344 184.014,847.608 476.39,847.608 476.39,860.108 "/>
-    <polygon style="fill: #ffffff" points="192.014,837.344 184.014,821.344 176.014,837.344 "/>
-    <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="192.014,837.344 184.014,821.344 176.014,837.344 "/>
-  </g>
-  <g>
-    <rect style="fill: #ffffff" x="408.952" y="-46.4782" width="202.5" height="28"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="408.952" y="-46.4782" width="202.5" height="28"/>
-    <text font-size="16" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="510.202" y="-27.4782">ConnPool</text>
-    <rect style="fill: #ffffff" x="408.952" y="-18.4782" width="202.5" height="36"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="408.952" y="-18.4782" width="202.5" height="36"/>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="412.952" y="-4.4782">-m_maxNbConns: uint64_t</text>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="412.952" y="11.5218">-m_nbConnOnLoan: uint64_t</text>
-    <rect style="fill: #ffffff" x="408.952" y="17.5218" width="202.5" height="8"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="408.952" y="17.5218" width="202.5" height="8"/>
-  </g>
-  <g>
-    <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="510.202,50.6934 510.202,98.1159 509.687,98.1159 509.687,156.71 "/>
-    <polygon style="fill: #ffffff" points="510.202,25.5218 515.002,39.5218 510.202,53.5218 505.402,39.5218 "/>
-    <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="510.202,25.5218 515.002,39.5218 510.202,53.5218 505.402,39.5218 "/>
-    <text font-size="12.7998" style="fill: #000000;text-anchor:middle;font-family:monospace;font-style:normal;font-weight:normal" x="509.945" y="94.1159"/>
-    <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="521.202" y="37.5218">0..1</text>
-    <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="513.687" y="152.71">0..*</text>
-  </g>
-  <g>
-    <rect style="fill: #ffffff" x="-242.304" y="504.79" width="194.2" height="28"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="-242.304" y="504.79" width="194.2" height="28"/>
-    <text font-size="16" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="-145.204" y="523.79">wrapper::MysqlStmt</text>
-    <rect style="fill: #ffffff" x="-242.304" y="532.79" width="194.2" height="8"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="-242.304" y="532.79" width="194.2" height="8"/>
-    <rect style="fill: #ffffff" x="-242.304" y="540.79" width="194.2" height="8"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="-242.304" y="540.79" width="194.2" height="8"/>
-  </g>
-  <g>
-    <rect style="fill: #ffffff" x="168.696" y="504.79" width="221" height="28"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="168.696" y="504.79" width="221" height="28"/>
-    <text font-size="16" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="279.196" y="523.79">wrapper::PostgresStmt</text>
-    <rect style="fill: #ffffff" x="168.696" y="532.79" width="221" height="8"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="168.696" y="532.79" width="221" height="8"/>
-    <rect style="fill: #ffffff" x="168.696" y="540.79" width="221" height="8"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="168.696" y="540.79" width="221" height="8"/>
-  </g>
-  <g>
-    <rect style="fill: #ffffff" x="-30.3036" y="504.79" width="179.5" height="28"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="-30.3036" y="504.79" width="179.5" height="28"/>
-    <text font-size="16" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="59.4464" y="523.79">wrapper::OcciStmt</text>
-    <rect style="fill: #ffffff" x="-30.3036" y="532.79" width="179.5" height="8"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="-30.3036" y="532.79" width="179.5" height="8"/>
-    <rect style="fill: #ffffff" x="-30.3036" y="540.79" width="179.5" height="8"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="-30.3036" y="540.79" width="179.5" height="8"/>
-  </g>
-  <g>
-    <rect style="fill: #ffffff" x="407.696" y="504.79" width="187.45" height="28"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="407.696" y="504.79" width="187.45" height="28"/>
-    <text font-size="16" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="501.421" y="523.79">wrapper:SqliteStmt</text>
-    <rect style="fill: #ffffff" x="407.696" y="532.79" width="187.45" height="8"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="407.696" y="532.79" width="187.45" height="8"/>
-    <rect style="fill: #ffffff" x="407.696" y="540.79" width="187.45" height="8"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="407.696" y="540.79" width="187.45" height="8"/>
-  </g>
-  <g>
-    <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="320.734,470.194 320.734,486.374 -145.204,486.374 -145.204,504.79 "/>
-    <polygon style="fill: #ffffff" points="328.734,470.194 320.734,454.194 312.734,470.194 "/>
-    <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="328.734,470.194 320.734,454.194 312.734,470.194 "/>
-  </g>
-  <g>
-    <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="320.734,470.194 320.734,486.374 59.4464,486.374 59.4464,504.79 "/>
-    <polygon style="fill: #ffffff" points="328.734,470.194 320.734,454.194 312.734,470.194 "/>
-    <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="328.734,470.194 320.734,454.194 312.734,470.194 "/>
-  </g>
-  <g>
-    <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="320.734,470.194 320.734,486.374 279.196,486.374 279.196,504.79 "/>
-    <polygon style="fill: #ffffff" points="328.734,470.194 320.734,454.194 312.734,470.194 "/>
-    <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="328.734,470.194 320.734,454.194 312.734,470.194 "/>
-  </g>
-  <g>
-    <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="320.734,470.194 320.734,486.374 501.421,486.374 501.421,504.79 "/>
-    <polygon style="fill: #ffffff" points="328.734,470.194 320.734,454.194 312.734,470.194 "/>
-    <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="328.734,470.194 320.734,454.194 312.734,470.194 "/>
-  </g>
-  <g>
-    <rect style="fill: #ffffff" x="360.82" y="676.638" width="198.3" height="28"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="360.82" y="676.638" width="198.3" height="28"/>
-    <text font-size="16" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="459.97" y="695.638">wrapper::MySqlConn</text>
-    <rect style="fill: #ffffff" x="360.82" y="704.638" width="198.3" height="8"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="360.82" y="704.638" width="198.3" height="8"/>
-    <rect style="fill: #ffffff" x="360.82" y="712.638" width="198.3" height="8"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="360.82" y="712.638" width="198.3" height="8"/>
-  </g>
-  <g>
-    <rect style="fill: #ffffff" x="573.788" y="676.638" width="181.6" height="28"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="573.788" y="676.638" width="181.6" height="28"/>
-    <text font-size="16" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="664.588" y="695.638">wrapper::OcciConn</text>
-    <rect style="fill: #ffffff" x="573.788" y="704.638" width="181.6" height="8"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="573.788" y="704.638" width="181.6" height="8"/>
-    <rect style="fill: #ffffff" x="573.788" y="712.638" width="181.6" height="8"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="573.788" y="712.638" width="181.6" height="8"/>
-  </g>
-  <g>
-    <rect style="fill: #ffffff" x="770.054" y="676.638" width="223.1" height="28"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="770.054" y="676.638" width="223.1" height="28"/>
-    <text font-size="16" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="881.604" y="695.638">wrapper::PostgresConn</text>
-    <rect style="fill: #ffffff" x="770.054" y="704.638" width="223.1" height="8"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="770.054" y="704.638" width="223.1" height="8"/>
-    <rect style="fill: #ffffff" x="770.054" y="712.638" width="223.1" height="8"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="770.054" y="712.638" width="223.1" height="8"/>
-  </g>
-  <g>
-    <rect style="fill: #ffffff" x="1007.82" y="676.638" width="195.95" height="28"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="1007.82" y="676.638" width="195.95" height="28"/>
-    <text font-size="16" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="1105.8" y="695.638">wrapper::SqliteConn</text>
-    <rect style="fill: #ffffff" x="1007.82" y="704.638" width="195.95" height="8"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="1007.82" y="704.638" width="195.95" height="8"/>
-    <rect style="fill: #ffffff" x="1007.82" y="712.638" width="195.95" height="8"/>
-    <rect style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000" x="1007.82" y="712.638" width="195.95" height="8"/>
-  </g>
-  <g>
-    <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="780.89,613.962 780.89,644.182 459.97,644.182 459.97,676.638 "/>
-    <polygon style="fill: #ffffff" points="788.89,613.962 780.89,597.962 772.89,613.962 "/>
-    <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="788.89,613.962 780.89,597.962 772.89,613.962 "/>
-  </g>
-  <g>
-    <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="780.89,613.962 780.89,644.182 664.588,644.182 664.588,676.638 "/>
-    <polygon style="fill: #ffffff" points="788.89,613.962 780.89,597.962 772.89,613.962 "/>
-    <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="788.89,613.962 780.89,597.962 772.89,613.962 "/>
-  </g>
-  <g>
-    <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="780.89,613.962 780.89,644.182 881.604,644.182 881.604,676.638 "/>
-    <polygon style="fill: #ffffff" points="788.89,613.962 780.89,597.962 772.89,613.962 "/>
-    <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="788.89,613.962 780.89,597.962 772.89,613.962 "/>
-  </g>
-  <g>
-    <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="780.89,613.962 780.89,644.182 1105.8,644.182 1105.8,676.638 "/>
-    <polygon style="fill: #ffffff" points="788.89,613.962 780.89,597.962 772.89,613.962 "/>
-    <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="788.89,613.962 780.89,597.962 772.89,613.962 "/>
-  </g>
-  <g>
-    <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="-383.476,228.666 -383.476,270.244 -383.46,270.244 -383.46,311.822 "/>
-    <text font-size="12.7998" style="fill: #000000;text-anchor:middle;font-family:monospace;font-style:normal;font-weight:normal" x="-383.468" y="266.244">creates</text>
-    <polygon style="fill: #000000" points="-354.518,266.244 -354.518,258.244 -346.518,262.244 "/>
-    <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-379.476" y="240.666">1</text>
-    <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-379.46" y="307.822">0..1</text>
-  </g>
-  <g>
-    <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="-245.504,170.666 90.568,170.666 90.568,170.71 437.812,170.71 "/>
-    <polygon style="fill: #ffffff" points="-270.676,170.666 -256.676,165.866 -242.676,170.666 -256.676,175.466 "/>
-    <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="-270.676,170.666 -256.676,165.866 -242.676,170.666 -256.676,175.466 "/>
-    <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="92.568" y="166.688"/>
-    <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-238.676" y="166.666">0..1</text>
-    <text font-size="12.7998" style="fill: #000000;text-anchor:end;font-family:monospace;font-style:normal;font-weight:normal" x="433.812" y="166.71">0..1</text>
-  </g>
-  <g>
-    <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="408.952,-8.4782 -383.476,-8.4782 -383.476,60.6658 "/>
-    <text font-size="12.7998" style="fill: #000000;text-anchor:middle;font-family:monospace;font-style:normal;font-weight:normal" x="12.738" y="-12.4782">creates</text>
-    <polygon style="fill: #000000" points="-18.212,-12.4782 -18.212,-20.4782 -26.212,-16.4782 "/>
-    <text font-size="12.7998" style="fill: #000000;text-anchor:end;font-family:monospace;font-style:normal;font-weight:normal" x="404.952" y="-12.4782">1</text>
-    <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-379.476" y="56.6658">0..1</text>
-  </g>
-  <g>
-    <polygon style="fill: #ffffff" points="31.1026,52.6814 414.403,52.6814 426.403,64.6814 426.403,118.681 31.1026,118.681 "/>
-    <polygon style="fill: none; fill-opacity:0; stroke-width: 1; stroke: #000000" points="31.1026,52.6814 414.403,52.6814 426.403,64.6814 426.403,118.681 31.1026,118.681 "/>
-    <polyline style="fill: none; fill-opacity:0; stroke-width: 0.5; stroke: #000000" points="414.403,52.6814 414.403,64.6814 426.403,64.6814 "/>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="37.6026" y="77.0814">
-      <tspan x="37.6026" y="77.0814">At any single point in time a ConnAndStmt is</tspan>
-      <tspan x="37.6026" y="93.0814">exclusively owned by either a ConnPool or a Conn.</tspan>
-      <tspan x="37.6026" y="109.081">In other words a ConnAndStmt is loaned to a Conn.</tspan>
-    </text>
-  </g>
-  <line style="fill: none; fill-opacity:0; stroke-width: 1; stroke-dasharray: 4; stroke: #000000" x1="437.224" y1="154.715" x2="328.376" y2="118.671"/>
-  <g>
-    <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="-264.606,789.202 -99.8695,789.202 -99.8695,789.108 76.039,789.108 "/>
-    <polygon style="fill: #ffffff" points="-289.778,789.202 -275.778,784.402 -261.778,789.202 -275.778,794.002 "/>
-    <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="-289.778,789.202 -275.778,784.402 -261.778,789.202 -275.778,794.002 "/>
-    <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-97.8695" y="785.155"/>
-    <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-257.778" y="785.202"/>
-    <text font-size="12.7998" style="fill: #000000;text-anchor:end;font-family:monospace;font-style:normal;font-weight:normal" x="72.039" y="785.108"/>
-  </g>
-  <g>
-    <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="320.84,331.912 320.84,364.349 320.734,364.349 320.734,407.958 "/>
-    <polygon style="fill: #ffffff" points="320.84,306.74 325.64,320.74 320.84,334.74 316.04,320.74 "/>
-    <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="320.84,306.74 325.64,320.74 320.84,334.74 316.04,320.74 "/>
-    <text font-size="12.7998" style="fill: #000000;text-anchor:middle;font-family:monospace;font-style:normal;font-weight:normal" x="320.787" y="360.349"/>
-    <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="331.84" y="318.74">1</text>
-    <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="324.734" y="403.958">0..1</text>
-  </g>
-  <g>
-    <polygon style="fill: #ffffff" points="-38.088,214.962 237.412,214.962 249.412,226.962 249.412,328.962 -38.088,328.962 "/>
-    <polygon style="fill: none; fill-opacity:0; stroke-width: 1; stroke: #000000" points="-38.088,214.962 237.412,214.962 249.412,226.962 249.412,328.962 -38.088,328.962 "/>
-    <polyline style="fill: none; fill-opacity:0; stroke-width: 0.5; stroke: #000000" points="237.412,214.962 237.412,226.962 249.412,226.962 "/>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-31.588" y="239.362">
-      <tspan x="-31.588" y="239.362">At any single point in time a</tspan>
-      <tspan x="-31.588" y="255.362">wrapper::StmtWrapper is exclusively</tspan>
-      <tspan x="-31.588" y="271.362">owned by either a StmtPool or a</tspan>
-      <tspan x="-31.588" y="287.362">Stmt. In other words a</tspan>
-      <tspan x="-31.588" y="303.362">wrapper::StmtWrapper is loaned to a</tspan>
-      <tspan x="-31.588" y="319.362">Stmt.</tspan>
-    </text>
-  </g>
-  <g>
-    <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="-272.438,421.822 -36.213,421.822 -36.213,421.958 211.184,421.958 "/>
-    <polygon style="fill: #ffffff" points="-297.61,421.822 -283.61,417.022 -269.61,421.822 -283.61,426.622 "/>
-    <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="-297.61,421.822 -283.61,417.022 -269.61,421.822 -283.61,426.622 "/>
-    <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-34.213" y="417.89"/>
-    <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-265.61" y="417.822">1</text>
-    <text font-size="12.7998" style="fill: #000000;text-anchor:end;font-family:monospace;font-style:normal;font-weight:normal" x="207.184" y="417.958">0..1</text>
-  </g>
-  <g>
-    <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="437.812,225.882 437.812,232.725 320.84,232.725 320.84,250.74 "/>
-    <polygon style="fill: #000000" points="437.812,200.71 442.612,214.71 437.812,228.71 433.012,214.71 "/>
-    <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="437.812,200.71 442.612,214.71 437.812,228.71 433.012,214.71 "/>
-    <text font-size="12.7998" style="fill: #000000;text-anchor:middle;font-family:monospace;font-style:normal;font-weight:normal" x="379.326" y="228.725"/>
-    <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="448.812" y="212.71">1</text>
-    <text font-size="12.7998" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="324.84" y="246.74">0..1</text>
-  </g>
-  <line style="fill: none; fill-opacity:0; stroke-width: 1; stroke-dasharray: 4; stroke: #000000" x1="183.216" y1="328.935" x2="288.061" y2="405.956"/>
-  <g>
-    <polygon style="fill: #ffffff" points="663.506,-48.5764 954.406,-48.5764 966.406,-36.5764 966.406,17.4236 663.506,17.4236 "/>
-    <polygon style="fill: none; fill-opacity:0; stroke-width: 1; stroke: #000000" points="663.506,-48.5764 954.406,-48.5764 966.406,-36.5764 966.406,17.4236 663.506,17.4236 "/>
-    <polyline style="fill: none; fill-opacity:0; stroke-width: 0.5; stroke: #000000" points="954.406,-48.5764 954.406,-36.5764 966.406,-36.5764 "/>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="670.006" y="-24.1764">
-      <tspan x="670.006" y="-24.1764">The rdbms layer provides support for</tspan>
-      <tspan x="670.006" y="-8.1764">connection pools independently of the</tspan>
-      <tspan x="670.006" y="7.8236">underlying database client library.</tspan>
-    </text>
-  </g>
-  <line style="fill: none; fill-opacity:0; stroke-width: 1; stroke-dasharray: 4; stroke: #000000" x1="663.5" y1="-13.0427" x2="613.445" y2="-12.2053"/>
-  <g>
-    <polygon style="fill: #ffffff" points="436.374,267.86 627.174,267.86 639.174,279.86 639.174,333.86 436.374,333.86 "/>
-    <polygon style="fill: none; fill-opacity:0; stroke-width: 1; stroke: #000000" points="436.374,267.86 627.174,267.86 639.174,279.86 639.174,333.86 436.374,333.86 "/>
-    <polyline style="fill: none; fill-opacity:0; stroke-width: 0.5; stroke: #000000" points="627.174,267.86 627.174,279.86 639.174,279.86 "/>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="442.874" y="292.26">
-      <tspan x="442.874" y="292.26">The rdbms layer supports</tspan>
-      <tspan x="442.874" y="308.26">pools/caches of prepared</tspan>
-      <tspan x="442.874" y="324.26">statements.</tspan>
-    </text>
-  </g>
-  <line style="fill: none; fill-opacity:0; stroke-width: 1; stroke-dasharray: 4; stroke: #000000" x1="369.168" y1="283.668" x2="436.371" y2="290.52"/>
-  <g>
-    <polygon style="fill: #ffffff" points="929.234,453.964 1150.83,453.964 1162.83,465.964 1162.83,519.964 929.234,519.964 "/>
-    <polygon style="fill: none; fill-opacity:0; stroke-width: 1; stroke: #000000" points="929.234,453.964 1150.83,453.964 1162.83,465.964 1162.83,519.964 929.234,519.964 "/>
-    <polyline style="fill: none; fill-opacity:0; stroke-width: 0.5; stroke: #000000" points="1150.83,453.964 1150.83,465.964 1162.83,465.964 "/>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="935.734" y="478.364">
-      <tspan x="935.734" y="478.364">Auto commit is on by default</tspan>
-      <tspan x="935.734" y="494.364">no matter the underlying</tspan>
-      <tspan x="935.734" y="510.364">type of database.</tspan>
-    </text>
-  </g>
-  <line style="fill: none; fill-opacity:0; stroke-width: 1; stroke-dasharray: 4; stroke: #000000" x1="895.677" y1="501.006" x2="929.241" y2="497.871"/>
-  <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="-121.281" y="646.718">
-    <tspan x="-121.281" y="646.718">The classes within the rdbms::wrapper namespace hide the</tspan>
-    <tspan x="-121.281" y="662.718">implementation details of the underlying database client APIs</tspan>
-    <tspan x="-121.281" y="678.718">from the classes directly within the rdbms namespace.</tspan>
-  </text>
-  <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="-252.08" y="398.89">
-    <tspan x="-252.08" y="398.89">The rdbms::wrapper namespace</tspan>
-  </text>
-  <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="841.824" y="292.924">
-    <tspan x="841.824" y="292.924">All of the classes on the outside of the grey rectangle are</tspan>
-    <tspan x="841.824" y="308.924">direct members of the rdbms namespace and all those</tspan>
-    <tspan x="841.824" y="324.924">on the inside are members of the rdbms::wrapper</tspan>
-    <tspan x="841.824" y="340.924">namespace.  The namespace name rdbms is implicit in</tspan>
-    <tspan x="841.824" y="356.924">order not to clutter this diagram.</tspan>
-  </text>
-  <g>
-    <polygon style="fill: #ffffff" points="-276.276,261.424 -100.876,261.424 -88.876,273.424 -88.876,327.424 -276.276,327.424 "/>
-    <polygon style="fill: none; fill-opacity:0; stroke-width: 1; stroke: #000000" points="-276.276,261.424 -100.876,261.424 -88.876,273.424 -88.876,327.424 -276.276,327.424 "/>
-    <polyline style="fill: none; fill-opacity:0; stroke-width: 0.5; stroke: #000000" points="-100.876,261.424 -100.876,273.424 -88.876,273.424 "/>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-269.776" y="285.824">
-      <tspan x="-269.776" y="285.824">Destructor returns the</tspan>
-      <tspan x="-269.776" y="301.824">wrapper::StmtWrapper</tspan>
-      <tspan x="-269.776" y="317.824">back to its StmtPool.</tspan>
-    </text>
-  </g>
-  <g>
-    <polygon style="fill: #ffffff" points="-214.276,16.4236 -38.876,16.4236 -26.876,28.4236 -26.876,82.4236 -214.276,82.4236 "/>
-    <polygon style="fill: none; fill-opacity:0; stroke-width: 1; stroke: #000000" points="-214.276,16.4236 -38.876,16.4236 -26.876,28.4236 -26.876,82.4236 -214.276,82.4236 "/>
-    <polyline style="fill: none; fill-opacity:0; stroke-width: 0.5; stroke: #000000" points="-38.876,16.4236 -38.876,28.4236 -26.876,28.4236 "/>
-    <text font-size="12.8" style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal" x="-207.776" y="40.8236">
-      <tspan x="-207.776" y="40.8236">Destructor returns the</tspan>
-      <tspan x="-207.776" y="56.8236">wrapper::ConnWrapper</tspan>
-      <tspan x="-207.776" y="72.8236">back to its ConnPool.</tspan>
-    </text>
-  </g>
-  <line style="fill: none; fill-opacity:0; stroke-width: 1; stroke-dasharray: 4; stroke: #000000" x1="-211.59" y1="82.3956" x2="-268.674" y2="103.076"/>
-  <line style="fill: none; fill-opacity:0; stroke-width: 1; stroke-dasharray: 4; stroke: #000000" x1="-235.936" y1="325.608" x2="-295.61" y2="360.482"/>
+<svg
+   width="87cm"
+   height="49cm"
+   viewBox="-499 -49 1722 977"
+   version="1.1"
+   id="svg822"
+   sodipodi:docname="cta_rdbms_class_diagram.svg"
+   inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20, custom)"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg">
+  <defs
+     id="defs826" />
+  <sodipodi:namedview
+     id="namedview824"
+     pagecolor="#505050"
+     bordercolor="#eeeeee"
+     borderopacity="1"
+     inkscape:pageshadow="0"
+     inkscape:pageopacity="0"
+     inkscape:pagecheckerboard="0"
+     inkscape:document-units="cm"
+     showgrid="false"
+     inkscape:zoom="0.38823554"
+     inkscape:cx="1644.6202"
+     inkscape:cy="1133.3326"
+     inkscape:window-width="1916"
+     inkscape:window-height="1161"
+     inkscape:window-x="2560"
+     inkscape:window-y="258"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg822" />
+  <g
+     id="g6">
+    <rect
+       style="fill: #e5e5e5"
+       x="-257.586"
+       y="376.862"
+       width="1480.08"
+       height="550.728"
+       id="rect2" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 1; stroke-dasharray: 20; stroke: #000000"
+       x="-257.586"
+       y="376.862"
+       width="1480.08"
+       height="550.728"
+       id="rect4" />
+  </g>
+  <g
+     id="g42">
+    <rect
+       style="fill: #ffffff"
+       x="-469.31"
+       y="311.822"
+       width="171.7"
+       height="28"
+       id="rect8" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="-469.31"
+       y="311.822"
+       width="171.7"
+       height="28"
+       id="rect10" />
+    <text
+       font-size="16"
+       style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700"
+       x="-383.46"
+       y="330.822"
+       id="text12">Stmt</text>
+    <rect
+       style="fill: #ffffff"
+       x="-469.31"
+       y="339.822"
+       width="171.7"
+       height="8"
+       id="rect14" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="-469.31"
+       y="339.822"
+       width="171.7"
+       height="8"
+       id="rect16" />
+    <rect
+       style="fill: #ffffff"
+       x="-469.31"
+       y="347.822"
+       width="171.7"
+       height="164"
+       id="rect18" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="-469.31"
+       y="347.822"
+       width="171.7"
+       height="164"
+       id="rect20" />
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-465.31"
+       y="361.822"
+       id="text22">+bindBlob()</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-465.31"
+       y="377.822"
+       id="text24">+bindBool()</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-465.31"
+       y="393.822"
+       id="text26">+bindDouble()</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-465.31"
+       y="409.822"
+       id="text28">+bindString()</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-465.31"
+       y="425.822"
+       id="text30">+bindUint8()</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-465.31"
+       y="441.822"
+       id="text32">+bindUint16()</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-465.31"
+       y="457.822"
+       id="text34">+bindUint32()</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-465.31"
+       y="473.822"
+       id="text36">+binUint64()</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-465.31"
+       y="489.822"
+       id="text38">+executeQuery(): Rset</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-465.31"
+       y="505.822"
+       id="text40">+executeNonQuery()</text>
+  </g>
+  <g
+     id="g92">
+    <rect
+       style="fill: #ffffff"
+       x="-476.878"
+       y="583.202"
+       width="187.1"
+       height="28"
+       id="rect44" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="-476.878"
+       y="583.202"
+       width="187.1"
+       height="28"
+       id="rect46" />
+    <text
+       font-size="16"
+       style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700"
+       x="-383.328"
+       y="602.202"
+       id="text48">Rset</text>
+    <rect
+       style="fill: #ffffff"
+       x="-476.878"
+       y="611.202"
+       width="187.1"
+       height="8"
+       id="rect50" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="-476.878"
+       y="611.202"
+       width="187.1"
+       height="8"
+       id="rect52" />
+    <rect
+       style="fill: #ffffff"
+       x="-476.878"
+       y="619.202"
+       width="187.1"
+       height="276"
+       id="rect54" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="-476.878"
+       y="619.202"
+       width="187.1"
+       height="276"
+       id="rect56" />
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-472.878"
+       y="633.202"
+       id="text58">+columnBlob()</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-472.878"
+       y="649.202"
+       id="text60">+columnBool()</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-472.878"
+       y="665.202"
+       id="text62">+columnDouble()</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-472.878"
+       y="681.202"
+       id="text64">+columnString()</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-472.878"
+       y="697.202"
+       id="text66">+columnOptionalBool()</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-472.878"
+       y="713.202"
+       id="text68">+columnOptionalDouble()</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-472.878"
+       y="729.202"
+       id="text70">+columnOptionalString()</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-472.878"
+       y="745.202"
+       id="text72">+columnOptionalUint8()</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-472.878"
+       y="761.202"
+       id="text74">+columnOptionalUint16()</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-472.878"
+       y="777.202"
+       id="text76">+columnOptionalUint32()</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-472.878"
+       y="793.202"
+       id="text78">+columnOptionalUint64()</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-472.878"
+       y="809.202"
+       id="text80">+columnUint8()</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-472.878"
+       y="825.202"
+       id="text82">+columnUint16()</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-472.878"
+       y="841.202"
+       id="text84">+columnUint32()</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-472.878"
+       y="857.202"
+       id="text86">+columnUint64()</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-472.878"
+       y="873.202"
+       id="text88">+isEmpty()</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-472.878"
+       y="889.202"
+       id="text90">+next()</text>
+  </g>
+  <g
+     id="g104">
+    <polyline
+       style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000"
+       points="-383.46,511.822 -383.46,547.512 -383.328,547.512 -383.328,583.202 "
+       id="polyline94" />
+    <text
+       font-size="12.7998"
+       style="fill: #000000;text-anchor:middle;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-383.394"
+       y="543.512"
+       id="text96">Creates</text>
+    <polygon
+       style="fill: #000000"
+       points="-354.444,543.512 -354.444,535.512 -346.444,539.512 "
+       id="polygon98" />
+    <text
+       font-size="12.7998"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-379.46"
+       y="523.822"
+       id="text100">1</text>
+    <text
+       font-size="12.7998"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-379.328"
+       y="579.202"
+       id="text102">0..*</text>
+  </g>
+  <g
+     id="g136">
+    <rect
+       style="fill: #ffffff"
+       x="-496.276"
+       y="60.6658"
+       width="225.6"
+       height="28"
+       id="rect106" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="-496.276"
+       y="60.6658"
+       width="225.6"
+       height="28"
+       id="rect108" />
+    <text
+       font-size="16"
+       style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700"
+       x="-383.476"
+       y="79.6658"
+       id="text110">Conn</text>
+    <rect
+       style="fill: #ffffff"
+       x="-496.276"
+       y="88.6658"
+       width="225.6"
+       height="8"
+       id="rect112" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="-496.276"
+       y="88.6658"
+       width="225.6"
+       height="8"
+       id="rect114" />
+    <rect
+       style="fill: #ffffff"
+       x="-496.276"
+       y="96.6658"
+       width="225.6"
+       height="132"
+       id="rect116" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="-496.276"
+       y="96.6658"
+       width="225.6"
+       height="132"
+       id="rect118" />
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-492.276"
+       y="110.666"
+       id="text120">+isOpen()</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-492.276"
+       y="126.666"
+       id="text122">+close()</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-492.276"
+       y="142.666"
+       id="text124">+setAutocommitMode()</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-492.276"
+       y="158.666"
+       id="text126">+getAutocommitMode()</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-492.276"
+       y="174.666"
+       id="text128">+executeNonQuery(sql:string)</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-492.276"
+       y="190.666"
+       id="text130">+createStmt(sql:string)</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-492.276"
+       y="206.666"
+       id="text132">+commit()</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-492.276"
+       y="222.666"
+       id="text134">+rollback()</text>
+  </g>
+  <g
+     id="g152">
+    <rect
+       style="fill: #ffffff"
+       x="437.812"
+       y="156.71"
+       width="143.75"
+       height="28"
+       id="rect138" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="437.812"
+       y="156.71"
+       width="143.75"
+       height="28"
+       id="rect140" />
+    <text
+       font-size="16"
+       style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700"
+       x="509.687"
+       y="175.71"
+       id="text142">ConnAndStmts</text>
+    <rect
+       style="fill: #ffffff"
+       x="437.812"
+       y="184.71"
+       width="143.75"
+       height="8"
+       id="rect144" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="437.812"
+       y="184.71"
+       width="143.75"
+       height="8"
+       id="rect146" />
+    <rect
+       style="fill: #ffffff"
+       x="437.812"
+       y="192.71"
+       width="143.75"
+       height="8"
+       id="rect148" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="437.812"
+       y="192.71"
+       width="143.75"
+       height="8"
+       id="rect150" />
+  </g>
+  <g
+     id="g170">
+    <rect
+       style="fill: #ffffff"
+       x="274.49"
+       y="250.74"
+       width="92.7"
+       height="28"
+       id="rect154" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="274.49"
+       y="250.74"
+       width="92.7"
+       height="28"
+       id="rect156" />
+    <text
+       font-size="16"
+       style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700"
+       x="320.84"
+       y="269.74"
+       id="text158">StmtPool</text>
+    <rect
+       style="fill: #ffffff"
+       x="274.49"
+       y="278.74"
+       width="92.7"
+       height="8"
+       id="rect160" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="274.49"
+       y="278.74"
+       width="92.7"
+       height="8"
+       id="rect162" />
+    <rect
+       style="fill: #ffffff"
+       x="274.49"
+       y="286.74"
+       width="92.7"
+       height="20"
+       id="rect164" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="274.49"
+       y="286.74"
+       width="92.7"
+       height="20"
+       id="rect166" />
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="278.49"
+       y="300.74"
+       id="text168">+getStmt()</text>
+  </g>
+  <g
+     id="g186">
+    <rect
+       style="fill: #ffffff"
+       x="211.184"
+       y="407.958"
+       width="219.1"
+       height="28"
+       id="rect172" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="211.184"
+       y="407.958"
+       width="219.1"
+       height="28"
+       id="rect174" />
+    <text
+       font-size="16"
+       style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700"
+       x="320.734"
+       y="426.958"
+       id="text176">wrapper::StmtWrapper</text>
+    <rect
+       style="fill: #ffffff"
+       x="211.184"
+       y="435.958"
+       width="219.1"
+       height="8"
+       id="rect178" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="211.184"
+       y="435.958"
+       width="219.1"
+       height="8"
+       id="rect180" />
+    <rect
+       style="fill: #ffffff"
+       x="211.184"
+       y="443.958"
+       width="219.1"
+       height="8"
+       id="rect182" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="211.184"
+       y="443.958"
+       width="219.1"
+       height="8"
+       id="rect184" />
+  </g>
+  <g
+     id="g218">
+    <rect
+       style="fill: #ffffff"
+       x="668.09"
+       y="427.726"
+       width="225.6"
+       height="28"
+       id="rect188" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="668.09"
+       y="427.726"
+       width="225.6"
+       height="28"
+       id="rect190" />
+    <text
+       font-size="16"
+       style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700"
+       x="780.89"
+       y="446.726"
+       id="text192">wrapper::ConnWrapper</text>
+    <rect
+       style="fill: #ffffff"
+       x="668.09"
+       y="455.726"
+       width="225.6"
+       height="8"
+       id="rect194" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="668.09"
+       y="455.726"
+       width="225.6"
+       height="8"
+       id="rect196" />
+    <rect
+       style="fill: #ffffff"
+       x="668.09"
+       y="463.726"
+       width="225.6"
+       height="132"
+       id="rect198" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="668.09"
+       y="463.726"
+       width="225.6"
+       height="132"
+       id="rect200" />
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="672.09"
+       y="477.726"
+       id="text202">+isOpen()</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="672.09"
+       y="493.726"
+       id="text204">+close()</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="672.09"
+       y="509.726"
+       id="text206">+setAutocommitMode()</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="672.09"
+       y="525.726"
+       id="text208">+getAutocommitMode()</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="672.09"
+       y="541.726"
+       id="text210">+executeNonQuery(sql:string)</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="672.09"
+       y="557.726"
+       id="text212">+createStmt(sql:string)</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="672.09"
+       y="573.726"
+       id="text214">+commit()</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="672.09"
+       y="589.726"
+       id="text216">+rollback()</text>
+  </g>
+  <g
+     id="g232">
+    <polyline
+       style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000"
+       points="581.562,225.882 581.562,232.296 780.89,232.296 780.89,427.726 "
+       id="polyline220" />
+    <polygon
+       style="fill: #000000"
+       points="581.562,200.71 586.362,214.71 581.562,228.71 576.762,214.71 "
+       id="polygon222" />
+    <polygon
+       style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000"
+       points="581.562,200.71 586.362,214.71 581.562,228.71 576.762,214.71 "
+       id="polygon224" />
+    <text
+       font-size="12.7998"
+       style="fill: #000000;text-anchor:middle;font-family:monospace;font-style:normal;font-weight:normal"
+       x="681.226"
+       y="228.296"
+       id="text226" />
+    <text
+       font-size="12.7998"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="592.562"
+       y="212.71"
+       id="text228">1</text>
+    <text
+       font-size="12.7998"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="784.89"
+       y="423.726"
+       id="text230">0..1</text>
+  </g>
+  <g
+     id="g248">
+    <rect
+       style="fill: #ffffff"
+       x="76.039"
+       y="775.108"
+       width="215.95"
+       height="28"
+       id="rect234" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="76.039"
+       y="775.108"
+       width="215.95"
+       height="28"
+       id="rect236" />
+    <text
+       font-size="16"
+       style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700"
+       x="184.014"
+       y="794.108"
+       id="text238">wrapper::RsetWrapper</text>
+    <rect
+       style="fill: #ffffff"
+       x="76.039"
+       y="803.108"
+       width="215.95"
+       height="8"
+       id="rect240" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="76.039"
+       y="803.108"
+       width="215.95"
+       height="8"
+       id="rect242" />
+    <rect
+       style="fill: #ffffff"
+       x="76.039"
+       y="811.108"
+       width="215.95"
+       height="8"
+       id="rect244" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="76.039"
+       y="811.108"
+       width="215.95"
+       height="8"
+       id="rect246" />
+  </g>
+  <g
+     id="g280">
+    <rect
+       style="fill: #ffffff"
+       x="-34.961"
+       y="860.108"
+       width="176.35"
+       height="28"
+       id="rect266" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="-34.961"
+       y="860.108"
+       width="176.35"
+       height="28"
+       id="rect268" />
+    <text
+       font-size="16"
+       style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700"
+       x="53.214"
+       y="879.108"
+       id="text270">wrapper::OcciRset</text>
+    <rect
+       style="fill: #ffffff"
+       x="-34.961"
+       y="888.108"
+       width="176.35"
+       height="8"
+       id="rect272" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="-34.961"
+       y="888.108"
+       width="176.35"
+       height="8"
+       id="rect274" />
+    <rect
+       style="fill: #ffffff"
+       x="-34.961"
+       y="896.108"
+       width="176.35"
+       height="8"
+       id="rect276" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="-34.961"
+       y="896.108"
+       width="176.35"
+       height="8"
+       id="rect278" />
+  </g>
+  <g
+     id="g296">
+    <rect
+       style="fill: #ffffff"
+       x="152.039"
+       y="860.108"
+       width="217.85"
+       height="28"
+       id="rect282" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="152.039"
+       y="860.108"
+       width="217.85"
+       height="28"
+       id="rect284" />
+    <text
+       font-size="16"
+       style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700"
+       x="260.964"
+       y="879.108"
+       id="text286">wrapper::PostgresRset</text>
+    <rect
+       style="fill: #ffffff"
+       x="152.039"
+       y="888.108"
+       width="217.85"
+       height="8"
+       id="rect288" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="152.039"
+       y="888.108"
+       width="217.85"
+       height="8"
+       id="rect290" />
+    <rect
+       style="fill: #ffffff"
+       x="152.039"
+       y="896.108"
+       width="217.85"
+       height="8"
+       id="rect292" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="152.039"
+       y="896.108"
+       width="217.85"
+       height="8"
+       id="rect294" />
+  </g>
+  <g
+     id="g312">
+    <rect
+       style="fill: #ffffff"
+       x="381.04"
+       y="860.108"
+       width="190.7"
+       height="28"
+       id="rect298" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="381.04"
+       y="860.108"
+       width="190.7"
+       height="28"
+       id="rect300" />
+    <text
+       font-size="16"
+       style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700"
+       x="476.39"
+       y="879.108"
+       id="text302">wrapper::SqliteRset</text>
+    <rect
+       style="fill: #ffffff"
+       x="381.04"
+       y="888.108"
+       width="190.7"
+       height="8"
+       id="rect304" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="381.04"
+       y="888.108"
+       width="190.7"
+       height="8"
+       id="rect306" />
+    <rect
+       style="fill: #ffffff"
+       x="381.04"
+       y="896.108"
+       width="190.7"
+       height="8"
+       id="rect308" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="381.04"
+       y="896.108"
+       width="190.7"
+       height="8"
+       id="rect310" />
+  </g>
+  <g
+     id="g328">
+    <polyline
+       style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000"
+       points="184.014,837.344 184.014,847.608 260.964,847.608 260.964,860.108 "
+       id="polyline322" />
+    <polygon
+       style="fill: #ffffff"
+       points="192.014,837.344 184.014,821.344 176.014,837.344 "
+       id="polygon324" />
+    <polygon
+       style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000"
+       points="192.014,837.344 184.014,821.344 176.014,837.344 "
+       id="polygon326" />
+  </g>
+  <g
+     id="g336">
+    <polyline
+       style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000"
+       points="184.014,837.344 184.014,847.608 53.214,847.608 53.214,860.108 "
+       id="polyline330" />
+    <polygon
+       style="fill: #ffffff"
+       points="192.014,837.344 184.014,821.344 176.014,837.344 "
+       id="polygon332" />
+    <polygon
+       style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000"
+       points="192.014,837.344 184.014,821.344 176.014,837.344 "
+       id="polygon334" />
+  </g>
+  <g
+     id="g344">
+    <polyline
+       style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000"
+       points="184.014,837.344 184.014,847.608 476.39,847.608 476.39,860.108 "
+       id="polyline338" />
+    <polygon
+       style="fill: #ffffff"
+       points="192.014,837.344 184.014,821.344 176.014,837.344 "
+       id="polygon340" />
+    <polygon
+       style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000"
+       points="192.014,837.344 184.014,821.344 176.014,837.344 "
+       id="polygon342" />
+  </g>
+  <g
+     id="g364">
+    <rect
+       style="fill: #ffffff"
+       x="408.952"
+       y="-46.4782"
+       width="202.5"
+       height="28"
+       id="rect346" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="408.952"
+       y="-46.4782"
+       width="202.5"
+       height="28"
+       id="rect348" />
+    <text
+       font-size="16"
+       style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700"
+       x="510.202"
+       y="-27.4782"
+       id="text350">ConnPool</text>
+    <rect
+       style="fill: #ffffff"
+       x="408.952"
+       y="-18.4782"
+       width="202.5"
+       height="36"
+       id="rect352" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="408.952"
+       y="-18.4782"
+       width="202.5"
+       height="36"
+       id="rect354" />
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="412.952"
+       y="-4.4782"
+       id="text356">-m_maxNbConns: uint64_t</text>
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="412.952"
+       y="11.5218"
+       id="text358">-m_nbConnOnLoan: uint64_t</text>
+    <rect
+       style="fill: #ffffff"
+       x="408.952"
+       y="17.5218"
+       width="202.5"
+       height="8"
+       id="rect360" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="408.952"
+       y="17.5218"
+       width="202.5"
+       height="8"
+       id="rect362" />
+  </g>
+  <g
+     id="g378">
+    <polyline
+       style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000"
+       points="510.202,50.6934 510.202,98.1159 509.687,98.1159 509.687,156.71 "
+       id="polyline366" />
+    <polygon
+       style="fill: #ffffff"
+       points="510.202,25.5218 515.002,39.5218 510.202,53.5218 505.402,39.5218 "
+       id="polygon368" />
+    <polygon
+       style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000"
+       points="510.202,25.5218 515.002,39.5218 510.202,53.5218 505.402,39.5218 "
+       id="polygon370" />
+    <text
+       font-size="12.7998"
+       style="fill: #000000;text-anchor:middle;font-family:monospace;font-style:normal;font-weight:normal"
+       x="509.945"
+       y="94.1159"
+       id="text372" />
+    <text
+       font-size="12.7998"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="521.202"
+       y="37.5218"
+       id="text374">0..1</text>
+    <text
+       font-size="12.7998"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="513.687"
+       y="152.71"
+       id="text376">0..*</text>
+  </g>
+  <g
+     id="g410">
+    <rect
+       style="fill: #ffffff"
+       x="168.696"
+       y="504.79"
+       width="221"
+       height="28"
+       id="rect396" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="168.696"
+       y="504.79"
+       width="221"
+       height="28"
+       id="rect398" />
+    <text
+       font-size="16"
+       style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700"
+       x="279.196"
+       y="523.79"
+       id="text400">wrapper::PostgresStmt</text>
+    <rect
+       style="fill: #ffffff"
+       x="168.696"
+       y="532.79"
+       width="221"
+       height="8"
+       id="rect402" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="168.696"
+       y="532.79"
+       width="221"
+       height="8"
+       id="rect404" />
+    <rect
+       style="fill: #ffffff"
+       x="168.696"
+       y="540.79"
+       width="221"
+       height="8"
+       id="rect406" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="168.696"
+       y="540.79"
+       width="221"
+       height="8"
+       id="rect408" />
+  </g>
+  <g
+     id="g426">
+    <rect
+       style="fill: #ffffff"
+       x="-30.3036"
+       y="504.79"
+       width="179.5"
+       height="28"
+       id="rect412" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="-30.3036"
+       y="504.79"
+       width="179.5"
+       height="28"
+       id="rect414" />
+    <text
+       font-size="16"
+       style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700"
+       x="59.4464"
+       y="523.79"
+       id="text416">wrapper::OcciStmt</text>
+    <rect
+       style="fill: #ffffff"
+       x="-30.3036"
+       y="532.79"
+       width="179.5"
+       height="8"
+       id="rect418" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="-30.3036"
+       y="532.79"
+       width="179.5"
+       height="8"
+       id="rect420" />
+    <rect
+       style="fill: #ffffff"
+       x="-30.3036"
+       y="540.79"
+       width="179.5"
+       height="8"
+       id="rect422" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="-30.3036"
+       y="540.79"
+       width="179.5"
+       height="8"
+       id="rect424" />
+  </g>
+  <g
+     id="g442">
+    <rect
+       style="fill: #ffffff"
+       x="407.696"
+       y="504.79"
+       width="187.45"
+       height="28"
+       id="rect428" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="407.696"
+       y="504.79"
+       width="187.45"
+       height="28"
+       id="rect430" />
+    <text
+       font-size="16"
+       style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700"
+       x="501.421"
+       y="523.79"
+       id="text432">wrapper:SqliteStmt</text>
+    <rect
+       style="fill: #ffffff"
+       x="407.696"
+       y="532.79"
+       width="187.45"
+       height="8"
+       id="rect434" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="407.696"
+       y="532.79"
+       width="187.45"
+       height="8"
+       id="rect436" />
+    <rect
+       style="fill: #ffffff"
+       x="407.696"
+       y="540.79"
+       width="187.45"
+       height="8"
+       id="rect438" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="407.696"
+       y="540.79"
+       width="187.45"
+       height="8"
+       id="rect440" />
+  </g>
+  <g
+     id="g458">
+    <polyline
+       style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000"
+       points="320.734,470.194 320.734,486.374 59.4464,486.374 59.4464,504.79 "
+       id="polyline452" />
+    <polygon
+       style="fill: #ffffff"
+       points="328.734,470.194 320.734,454.194 312.734,470.194 "
+       id="polygon454" />
+    <polygon
+       style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000"
+       points="328.734,470.194 320.734,454.194 312.734,470.194 "
+       id="polygon456" />
+  </g>
+  <g
+     id="g466">
+    <polyline
+       style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000"
+       points="320.734,470.194 320.734,486.374 279.196,486.374 279.196,504.79 "
+       id="polyline460" />
+    <polygon
+       style="fill: #ffffff"
+       points="328.734,470.194 320.734,454.194 312.734,470.194 "
+       id="polygon462" />
+    <polygon
+       style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000"
+       points="328.734,470.194 320.734,454.194 312.734,470.194 "
+       id="polygon464" />
+  </g>
+  <g
+     id="g474">
+    <polyline
+       style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000"
+       points="320.734,470.194 320.734,486.374 501.421,486.374 501.421,504.79 "
+       id="polyline468" />
+    <polygon
+       style="fill: #ffffff"
+       points="328.734,470.194 320.734,454.194 312.734,470.194 "
+       id="polygon470" />
+    <polygon
+       style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000"
+       points="328.734,470.194 320.734,454.194 312.734,470.194 "
+       id="polygon472" />
+  </g>
+  <g
+     id="g506">
+    <rect
+       style="fill: #ffffff"
+       x="573.788"
+       y="676.638"
+       width="181.6"
+       height="28"
+       id="rect492" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="573.788"
+       y="676.638"
+       width="181.6"
+       height="28"
+       id="rect494" />
+    <text
+       font-size="16"
+       style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700"
+       x="664.588"
+       y="695.638"
+       id="text496">wrapper::OcciConn</text>
+    <rect
+       style="fill: #ffffff"
+       x="573.788"
+       y="704.638"
+       width="181.6"
+       height="8"
+       id="rect498" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="573.788"
+       y="704.638"
+       width="181.6"
+       height="8"
+       id="rect500" />
+    <rect
+       style="fill: #ffffff"
+       x="573.788"
+       y="712.638"
+       width="181.6"
+       height="8"
+       id="rect502" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="573.788"
+       y="712.638"
+       width="181.6"
+       height="8"
+       id="rect504" />
+  </g>
+  <g
+     id="g522">
+    <rect
+       style="fill: #ffffff"
+       x="770.054"
+       y="676.638"
+       width="223.1"
+       height="28"
+       id="rect508" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="770.054"
+       y="676.638"
+       width="223.1"
+       height="28"
+       id="rect510" />
+    <text
+       font-size="16"
+       style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700"
+       x="881.604"
+       y="695.638"
+       id="text512">wrapper::PostgresConn</text>
+    <rect
+       style="fill: #ffffff"
+       x="770.054"
+       y="704.638"
+       width="223.1"
+       height="8"
+       id="rect514" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="770.054"
+       y="704.638"
+       width="223.1"
+       height="8"
+       id="rect516" />
+    <rect
+       style="fill: #ffffff"
+       x="770.054"
+       y="712.638"
+       width="223.1"
+       height="8"
+       id="rect518" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="770.054"
+       y="712.638"
+       width="223.1"
+       height="8"
+       id="rect520" />
+  </g>
+  <g
+     id="g538">
+    <rect
+       style="fill: #ffffff"
+       x="1007.82"
+       y="676.638"
+       width="195.95"
+       height="28"
+       id="rect524" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="1007.82"
+       y="676.638"
+       width="195.95"
+       height="28"
+       id="rect526" />
+    <text
+       font-size="16"
+       style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700"
+       x="1105.8"
+       y="695.638"
+       id="text528">wrapper::SqliteConn</text>
+    <rect
+       style="fill: #ffffff"
+       x="1007.82"
+       y="704.638"
+       width="195.95"
+       height="8"
+       id="rect530" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="1007.82"
+       y="704.638"
+       width="195.95"
+       height="8"
+       id="rect532" />
+    <rect
+       style="fill: #ffffff"
+       x="1007.82"
+       y="712.638"
+       width="195.95"
+       height="8"
+       id="rect534" />
+    <rect
+       style="fill: none; fill-opacity:0; stroke-width: 4; stroke: #000000"
+       x="1007.82"
+       y="712.638"
+       width="195.95"
+       height="8"
+       id="rect536" />
+  </g>
+  <g
+     id="g554">
+    <polyline
+       style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000"
+       points="780.89,613.962 780.89,644.182 664.588,644.182 664.588,676.638 "
+       id="polyline548" />
+    <polygon
+       style="fill: #ffffff"
+       points="788.89,613.962 780.89,597.962 772.89,613.962 "
+       id="polygon550" />
+    <polygon
+       style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000"
+       points="788.89,613.962 780.89,597.962 772.89,613.962 "
+       id="polygon552" />
+  </g>
+  <g
+     id="g562">
+    <polyline
+       style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000"
+       points="780.89,613.962 780.89,644.182 881.604,644.182 881.604,676.638 "
+       id="polyline556" />
+    <polygon
+       style="fill: #ffffff"
+       points="788.89,613.962 780.89,597.962 772.89,613.962 "
+       id="polygon558" />
+    <polygon
+       style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000"
+       points="788.89,613.962 780.89,597.962 772.89,613.962 "
+       id="polygon560" />
+  </g>
+  <g
+     id="g570">
+    <polyline
+       style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000"
+       points="780.89,613.962 780.89,644.182 1105.8,644.182 1105.8,676.638 "
+       id="polyline564" />
+    <polygon
+       style="fill: #ffffff"
+       points="788.89,613.962 780.89,597.962 772.89,613.962 "
+       id="polygon566" />
+    <polygon
+       style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000"
+       points="788.89,613.962 780.89,597.962 772.89,613.962 "
+       id="polygon568" />
+  </g>
+  <g
+     id="g582">
+    <polyline
+       style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000"
+       points="-383.476,228.666 -383.476,270.244 -383.46,270.244 -383.46,311.822 "
+       id="polyline572" />
+    <text
+       font-size="12.7998"
+       style="fill: #000000;text-anchor:middle;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-383.468"
+       y="266.244"
+       id="text574">creates</text>
+    <polygon
+       style="fill: #000000"
+       points="-354.518,266.244 -354.518,258.244 -346.518,262.244 "
+       id="polygon576" />
+    <text
+       font-size="12.7998"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-379.476"
+       y="240.666"
+       id="text578">1</text>
+    <text
+       font-size="12.7998"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-379.46"
+       y="307.822"
+       id="text580">0..1</text>
+  </g>
+  <g
+     id="g596">
+    <polyline
+       style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000"
+       points="-245.504,170.666 90.568,170.666 90.568,170.71 437.812,170.71 "
+       id="polyline584" />
+    <polygon
+       style="fill: #ffffff"
+       points="-270.676,170.666 -256.676,165.866 -242.676,170.666 -256.676,175.466 "
+       id="polygon586" />
+    <polygon
+       style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000"
+       points="-270.676,170.666 -256.676,165.866 -242.676,170.666 -256.676,175.466 "
+       id="polygon588" />
+    <text
+       font-size="12.7998"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="92.568"
+       y="166.688"
+       id="text590" />
+    <text
+       font-size="12.7998"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-238.676"
+       y="166.666"
+       id="text592">0..1</text>
+    <text
+       font-size="12.7998"
+       style="fill: #000000;text-anchor:end;font-family:monospace;font-style:normal;font-weight:normal"
+       x="433.812"
+       y="166.71"
+       id="text594">0..1</text>
+  </g>
+  <g
+     id="g608">
+    <polyline
+       style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000"
+       points="408.952,-8.4782 -383.476,-8.4782 -383.476,60.6658 "
+       id="polyline598" />
+    <text
+       font-size="12.7998"
+       style="fill: #000000;text-anchor:middle;font-family:monospace;font-style:normal;font-weight:normal"
+       x="12.738"
+       y="-12.4782"
+       id="text600">creates</text>
+    <polygon
+       style="fill: #000000"
+       points="-18.212,-12.4782 -18.212,-20.4782 -26.212,-16.4782 "
+       id="polygon602" />
+    <text
+       font-size="12.7998"
+       style="fill: #000000;text-anchor:end;font-family:monospace;font-style:normal;font-weight:normal"
+       x="404.952"
+       y="-12.4782"
+       id="text604">1</text>
+    <text
+       font-size="12.7998"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-379.476"
+       y="56.6658"
+       id="text606">0..1</text>
+  </g>
+  <g
+     id="g624">
+    <polygon
+       style="fill: #ffffff"
+       points="31.1026,52.6814 414.403,52.6814 426.403,64.6814 426.403,118.681 31.1026,118.681 "
+       id="polygon610" />
+    <polygon
+       style="fill: none; fill-opacity:0; stroke-width: 1; stroke: #000000"
+       points="31.1026,52.6814 414.403,52.6814 426.403,64.6814 426.403,118.681 31.1026,118.681 "
+       id="polygon612" />
+    <polyline
+       style="fill: none; fill-opacity:0; stroke-width: 0.5; stroke: #000000"
+       points="414.403,52.6814 414.403,64.6814 426.403,64.6814 "
+       id="polyline614" />
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="37.6026"
+       y="77.0814"
+       id="text622"><tspan
+         x="37.6026"
+         y="77.0814"
+         id="tspan616">At any single point in time a ConnAndStmt is</tspan><tspan
+         x="37.6026"
+         y="93.0814"
+         id="tspan618">exclusively owned by either a ConnPool or a Conn.</tspan><tspan
+         x="37.6026"
+         y="109.081"
+         id="tspan620">In other words a ConnAndStmt is loaned to a Conn.</tspan></text>
+  </g>
+  <line
+     style="fill: none; fill-opacity:0; stroke-width: 1; stroke-dasharray: 4; stroke: #000000"
+     x1="437.224"
+     y1="154.715"
+     x2="328.376"
+     y2="118.671"
+     id="line626" />
+  <g
+     id="g640">
+    <polyline
+       style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000"
+       points="-264.606,789.202 -99.8695,789.202 -99.8695,789.108 76.039,789.108 "
+       id="polyline628" />
+    <polygon
+       style="fill: #ffffff"
+       points="-289.778,789.202 -275.778,784.402 -261.778,789.202 -275.778,794.002 "
+       id="polygon630" />
+    <polygon
+       style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000"
+       points="-289.778,789.202 -275.778,784.402 -261.778,789.202 -275.778,794.002 "
+       id="polygon632" />
+    <text
+       font-size="12.7998"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-97.8695"
+       y="785.155"
+       id="text634" />
+    <text
+       font-size="12.7998"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-257.778"
+       y="785.202"
+       id="text636" />
+    <text
+       font-size="12.7998"
+       style="fill: #000000;text-anchor:end;font-family:monospace;font-style:normal;font-weight:normal"
+       x="72.039"
+       y="785.108"
+       id="text638" />
+  </g>
+  <g
+     id="g654">
+    <polyline
+       style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000"
+       points="320.84,331.912 320.84,364.349 320.734,364.349 320.734,407.958 "
+       id="polyline642" />
+    <polygon
+       style="fill: #ffffff"
+       points="320.84,306.74 325.64,320.74 320.84,334.74 316.04,320.74 "
+       id="polygon644" />
+    <polygon
+       style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000"
+       points="320.84,306.74 325.64,320.74 320.84,334.74 316.04,320.74 "
+       id="polygon646" />
+    <text
+       font-size="12.7998"
+       style="fill: #000000;text-anchor:middle;font-family:monospace;font-style:normal;font-weight:normal"
+       x="320.787"
+       y="360.349"
+       id="text648" />
+    <text
+       font-size="12.7998"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="331.84"
+       y="318.74"
+       id="text650">1</text>
+    <text
+       font-size="12.7998"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="324.734"
+       y="403.958"
+       id="text652">0..1</text>
+  </g>
+  <g
+     id="g676">
+    <polygon
+       style="fill: #ffffff"
+       points="-38.088,214.962 237.412,214.962 249.412,226.962 249.412,328.962 -38.088,328.962 "
+       id="polygon656" />
+    <polygon
+       style="fill: none; fill-opacity:0; stroke-width: 1; stroke: #000000"
+       points="-38.088,214.962 237.412,214.962 249.412,226.962 249.412,328.962 -38.088,328.962 "
+       id="polygon658" />
+    <polyline
+       style="fill: none; fill-opacity:0; stroke-width: 0.5; stroke: #000000"
+       points="237.412,214.962 237.412,226.962 249.412,226.962 "
+       id="polyline660" />
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-31.588"
+       y="239.362"
+       id="text674"><tspan
+         x="-31.588"
+         y="239.362"
+         id="tspan662">At any single point in time a</tspan><tspan
+         x="-31.588"
+         y="255.362"
+         id="tspan664">wrapper::StmtWrapper is exclusively</tspan><tspan
+         x="-31.588"
+         y="271.362"
+         id="tspan666">owned by either a StmtPool or a</tspan><tspan
+         x="-31.588"
+         y="287.362"
+         id="tspan668">Stmt. In other words a</tspan><tspan
+         x="-31.588"
+         y="303.362"
+         id="tspan670">wrapper::StmtWrapper is loaned to a</tspan><tspan
+         x="-31.588"
+         y="319.362"
+         id="tspan672">Stmt.</tspan></text>
+  </g>
+  <g
+     id="g690">
+    <polyline
+       style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000"
+       points="-272.438,421.822 -36.213,421.822 -36.213,421.958 211.184,421.958 "
+       id="polyline678" />
+    <polygon
+       style="fill: #ffffff"
+       points="-297.61,421.822 -283.61,417.022 -269.61,421.822 -283.61,426.622 "
+       id="polygon680" />
+    <polygon
+       style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000"
+       points="-297.61,421.822 -283.61,417.022 -269.61,421.822 -283.61,426.622 "
+       id="polygon682" />
+    <text
+       font-size="12.7998"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-34.213"
+       y="417.89"
+       id="text684" />
+    <text
+       font-size="12.7998"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-265.61"
+       y="417.822"
+       id="text686">1</text>
+    <text
+       font-size="12.7998"
+       style="fill: #000000;text-anchor:end;font-family:monospace;font-style:normal;font-weight:normal"
+       x="207.184"
+       y="417.958"
+       id="text688">0..1</text>
+  </g>
+  <g
+     id="g704">
+    <polyline
+       style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000"
+       points="437.812,225.882 437.812,232.725 320.84,232.725 320.84,250.74 "
+       id="polyline692" />
+    <polygon
+       style="fill: #000000"
+       points="437.812,200.71 442.612,214.71 437.812,228.71 433.012,214.71 "
+       id="polygon694" />
+    <polygon
+       style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000"
+       points="437.812,200.71 442.612,214.71 437.812,228.71 433.012,214.71 "
+       id="polygon696" />
+    <text
+       font-size="12.7998"
+       style="fill: #000000;text-anchor:middle;font-family:monospace;font-style:normal;font-weight:normal"
+       x="379.326"
+       y="228.725"
+       id="text698" />
+    <text
+       font-size="12.7998"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="448.812"
+       y="212.71"
+       id="text700">1</text>
+    <text
+       font-size="12.7998"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="324.84"
+       y="246.74"
+       id="text702">0..1</text>
+  </g>
+  <line
+     style="fill: none; fill-opacity:0; stroke-width: 1; stroke-dasharray: 4; stroke: #000000"
+     x1="183.216"
+     y1="328.935"
+     x2="288.061"
+     y2="405.956"
+     id="line706" />
+  <g
+     id="g722">
+    <polygon
+       style="fill: #ffffff"
+       points="663.506,-48.5764 954.406,-48.5764 966.406,-36.5764 966.406,17.4236 663.506,17.4236 "
+       id="polygon708" />
+    <polygon
+       style="fill: none; fill-opacity:0; stroke-width: 1; stroke: #000000"
+       points="663.506,-48.5764 954.406,-48.5764 966.406,-36.5764 966.406,17.4236 663.506,17.4236 "
+       id="polygon710" />
+    <polyline
+       style="fill: none; fill-opacity:0; stroke-width: 0.5; stroke: #000000"
+       points="954.406,-48.5764 954.406,-36.5764 966.406,-36.5764 "
+       id="polyline712" />
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="670.006"
+       y="-24.1764"
+       id="text720"><tspan
+         x="670.006"
+         y="-24.1764"
+         id="tspan714">The rdbms layer provides support for</tspan><tspan
+         x="670.006"
+         y="-8.1764"
+         id="tspan716">connection pools independently of the</tspan><tspan
+         x="670.006"
+         y="7.8236"
+         id="tspan718">underlying database client library.</tspan></text>
+  </g>
+  <line
+     style="fill: none; fill-opacity:0; stroke-width: 1; stroke-dasharray: 4; stroke: #000000"
+     x1="663.5"
+     y1="-13.0427"
+     x2="613.445"
+     y2="-12.2053"
+     id="line724" />
+  <g
+     id="g740">
+    <polygon
+       style="fill: #ffffff"
+       points="436.374,267.86 627.174,267.86 639.174,279.86 639.174,333.86 436.374,333.86 "
+       id="polygon726" />
+    <polygon
+       style="fill: none; fill-opacity:0; stroke-width: 1; stroke: #000000"
+       points="436.374,267.86 627.174,267.86 639.174,279.86 639.174,333.86 436.374,333.86 "
+       id="polygon728" />
+    <polyline
+       style="fill: none; fill-opacity:0; stroke-width: 0.5; stroke: #000000"
+       points="627.174,267.86 627.174,279.86 639.174,279.86 "
+       id="polyline730" />
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="442.874"
+       y="292.26"
+       id="text738"><tspan
+         x="442.874"
+         y="292.26"
+         id="tspan732">The rdbms layer supports</tspan><tspan
+         x="442.874"
+         y="308.26"
+         id="tspan734">pools/caches of prepared</tspan><tspan
+         x="442.874"
+         y="324.26"
+         id="tspan736">statements.</tspan></text>
+  </g>
+  <line
+     style="fill: none; fill-opacity:0; stroke-width: 1; stroke-dasharray: 4; stroke: #000000"
+     x1="369.168"
+     y1="283.668"
+     x2="436.371"
+     y2="290.52"
+     id="line742" />
+  <g
+     id="g758">
+    <polygon
+       style="fill: #ffffff"
+       points="929.234,453.964 1150.83,453.964 1162.83,465.964 1162.83,519.964 929.234,519.964 "
+       id="polygon744" />
+    <polygon
+       style="fill: none; fill-opacity:0; stroke-width: 1; stroke: #000000"
+       points="929.234,453.964 1150.83,453.964 1162.83,465.964 1162.83,519.964 929.234,519.964 "
+       id="polygon746" />
+    <polyline
+       style="fill: none; fill-opacity:0; stroke-width: 0.5; stroke: #000000"
+       points="1150.83,453.964 1150.83,465.964 1162.83,465.964 "
+       id="polyline748" />
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="935.734"
+       y="478.364"
+       id="text756"><tspan
+         x="935.734"
+         y="478.364"
+         id="tspan750">Auto commit is on by default</tspan><tspan
+         x="935.734"
+         y="494.364"
+         id="tspan752">no matter the underlying</tspan><tspan
+         x="935.734"
+         y="510.364"
+         id="tspan754">type of database.</tspan></text>
+  </g>
+  <line
+     style="fill: none; fill-opacity:0; stroke-width: 1; stroke-dasharray: 4; stroke: #000000"
+     x1="895.677"
+     y1="501.006"
+     x2="929.241"
+     y2="497.871"
+     id="line760" />
+  <text
+     font-size="12.8"
+     style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal"
+     x="-121.281"
+     y="646.718"
+     id="text768"><tspan
+       x="-121.281"
+       y="646.718"
+       id="tspan762">The classes within the rdbms::wrapper namespace hide the</tspan><tspan
+       x="-121.281"
+       y="662.718"
+       id="tspan764">implementation details of the underlying database client APIs</tspan><tspan
+       x="-121.281"
+       y="678.718"
+       id="tspan766">from the classes directly within the rdbms namespace.</tspan></text>
+  <text
+     font-size="12.8"
+     style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal"
+     x="-252.08"
+     y="398.89"
+     id="text772"><tspan
+       x="-252.08"
+       y="398.89"
+       id="tspan770">The rdbms::wrapper namespace</tspan></text>
+  <text
+     font-size="12.8"
+     style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal"
+     x="841.824"
+     y="292.924"
+     id="text784"><tspan
+       x="841.824"
+       y="292.924"
+       id="tspan774">All of the classes on the outside of the grey rectangle are</tspan><tspan
+       x="841.824"
+       y="308.924"
+       id="tspan776">direct members of the rdbms namespace and all those</tspan><tspan
+       x="841.824"
+       y="324.924"
+       id="tspan778">on the inside are members of the rdbms::wrapper</tspan><tspan
+       x="841.824"
+       y="340.924"
+       id="tspan780">namespace.  The namespace name rdbms is implicit in</tspan><tspan
+       x="841.824"
+       y="356.924"
+       id="tspan782">order not to clutter this diagram.</tspan></text>
+  <g
+     id="g800">
+    <polygon
+       style="fill: #ffffff"
+       points="-276.276,261.424 -100.876,261.424 -88.876,273.424 -88.876,327.424 -276.276,327.424 "
+       id="polygon786" />
+    <polygon
+       style="fill: none; fill-opacity:0; stroke-width: 1; stroke: #000000"
+       points="-276.276,261.424 -100.876,261.424 -88.876,273.424 -88.876,327.424 -276.276,327.424 "
+       id="polygon788" />
+    <polyline
+       style="fill: none; fill-opacity:0; stroke-width: 0.5; stroke: #000000"
+       points="-100.876,261.424 -100.876,273.424 -88.876,273.424 "
+       id="polyline790" />
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-269.776"
+       y="285.824"
+       id="text798"><tspan
+         x="-269.776"
+         y="285.824"
+         id="tspan792">Destructor returns the</tspan><tspan
+         x="-269.776"
+         y="301.824"
+         id="tspan794">wrapper::StmtWrapper</tspan><tspan
+         x="-269.776"
+         y="317.824"
+         id="tspan796">back to its StmtPool.</tspan></text>
+  </g>
+  <g
+     id="g816">
+    <polygon
+       style="fill: #ffffff"
+       points="-214.276,16.4236 -38.876,16.4236 -26.876,28.4236 -26.876,82.4236 -214.276,82.4236 "
+       id="polygon802" />
+    <polygon
+       style="fill: none; fill-opacity:0; stroke-width: 1; stroke: #000000"
+       points="-214.276,16.4236 -38.876,16.4236 -26.876,28.4236 -26.876,82.4236 -214.276,82.4236 "
+       id="polygon804" />
+    <polyline
+       style="fill: none; fill-opacity:0; stroke-width: 0.5; stroke: #000000"
+       points="-38.876,16.4236 -38.876,28.4236 -26.876,28.4236 "
+       id="polyline806" />
+    <text
+       font-size="12.8"
+       style="fill: #000000;text-anchor:start;font-family:monospace;font-style:normal;font-weight:normal"
+       x="-207.776"
+       y="40.8236"
+       id="text814"><tspan
+         x="-207.776"
+         y="40.8236"
+         id="tspan808">Destructor returns the</tspan><tspan
+         x="-207.776"
+         y="56.8236"
+         id="tspan810">wrapper::ConnWrapper</tspan><tspan
+         x="-207.776"
+         y="72.8236"
+         id="tspan812">back to its ConnPool.</tspan></text>
+  </g>
+  <line
+     style="fill: none; fill-opacity:0; stroke-width: 1; stroke-dasharray: 4; stroke: #000000"
+     x1="-211.59"
+     y1="82.3956"
+     x2="-268.674"
+     y2="103.076"
+     id="line818" />
+  <line
+     style="fill: none; fill-opacity:0; stroke-width: 1; stroke-dasharray: 4; stroke: #000000"
+     x1="-235.936"
+     y1="325.608"
+     x2="-295.61"
+     y2="360.482"
+     id="line820" />
 </svg>
diff --git a/rdbms/wrapper/CMakeLists.txt b/rdbms/wrapper/CMakeLists.txt
index 882a4a36d6d1e731473ce4d4b1fba9c862ccff1a..84e7b2922c9e0d7149b55f397545a0684225dd41 100644
--- a/rdbms/wrapper/CMakeLists.txt
+++ b/rdbms/wrapper/CMakeLists.txt
@@ -17,10 +17,8 @@ cmake_minimum_required (VERSION 2.6)
 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wshadow")
 
 find_package (sqlite REQUIRED)
-find_package (mysql REQUIRED)
 find_package (postgres REQUIRED)
 find_package (oracle-instantclient REQUIRED)
-include_directories (${MYSQL_INCLUDE_DIRS})
 include_directories (${POSTGRES_INCLUDE_DIRS})
 include_directories (${ORACLE-INSTANTCLIENT_INCLUDE_DIRS})
 
@@ -38,14 +36,6 @@ set (RDBMS_WRAPPER_LIB_SRC_FILES
   SqliteRset.cpp
   SqliteStmt.cpp)
 
-set (RDBMS_WRAPPER_LIB_SRC_FILES
-  ${RDBMS_WRAPPER_LIB_SRC_FILES}
-  Mysql.cpp
-  MysqlConn.cpp
-  MysqlConnFactory.cpp
-  MysqlRset.cpp
-  MysqlStmt.cpp)
-
 set (RDBMS_WRAPPER_LIB_SRC_FILES
   ${RDBMS_WRAPPER_LIB_SRC_FILES}
   PostgresConn.cpp
@@ -73,7 +63,6 @@ set_property(TARGET ctardbmswrapper PROPERTY   VERSION "${CTA_LIBVERSION}")
 target_link_libraries (ctardbmswrapper
   ctacommon
   ${SQLITE_LIBRARIES}
-  ${MYSQL_LIBRARIES}
   ${POSTGRES_LIBRARIES}
   ${ORACLE-INSTANTCLIENT_LIBRARIES})
 
diff --git a/rdbms/wrapper/ConnFactoryFactory.cpp b/rdbms/wrapper/ConnFactoryFactory.cpp
index fe36be646857e55221eb3eabadc50082532c6c35..233ad73de36ff723061c198325483f71f1ea542f 100644
--- a/rdbms/wrapper/ConnFactoryFactory.cpp
+++ b/rdbms/wrapper/ConnFactoryFactory.cpp
@@ -15,12 +15,13 @@
  *                 along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <string>
+
 #include "common/exception/Exception.hpp"
 #include "common/make_unique.hpp"
 #include "rdbms/wrapper/ConnFactoryFactory.hpp"
 #include "rdbms/wrapper/OcciConnFactory.hpp"
 #include "rdbms/wrapper/SqliteConnFactory.hpp"
-#include "rdbms/wrapper/MysqlConnFactory.hpp"
 #include "rdbms/wrapper/PostgresConnFactory.hpp"
 
 namespace cta {
@@ -32,15 +33,13 @@ namespace wrapper {
 //------------------------------------------------------------------------------
 std::unique_ptr<ConnFactory> ConnFactoryFactory::create(const Login &login) {
   try {
-    switch(login.dbType) {
+    switch (login.dbType) {
     case Login::DBTYPE_IN_MEMORY:
       return cta::make_unique<SqliteConnFactory>("file::memory:?cache=shared");
     case Login::DBTYPE_ORACLE:
       return cta::make_unique<OcciConnFactory>(login.username, login.password, login.database);
     case Login::DBTYPE_SQLITE:
       return cta::make_unique<SqliteConnFactory>(login.database);
-    case Login::DBTYPE_MYSQL:
-      return cta::make_unique<MysqlConnFactory>(login.hostname, login.username, login.password, login.database, login.port);
     case Login::DBTYPE_POSTGRESQL:
       return cta::make_unique<PostgresConnFactory>(login.database);
     case Login::DBTYPE_NONE:
@@ -57,6 +56,6 @@ std::unique_ptr<ConnFactory> ConnFactoryFactory::create(const Login &login) {
   }
 }
 
-} // namespace wrapper
-} // namespace rdbms
-} // namespace cta
+}  // namespace wrapper
+}  // namespace rdbms
+}  // namespace cta
diff --git a/rdbms/wrapper/Mysql.cpp b/rdbms/wrapper/Mysql.cpp
deleted file mode 100644
index 180fd9d561b13596e9ed525235d89366b39b0873..0000000000000000000000000000000000000000
--- a/rdbms/wrapper/Mysql.cpp
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * @project        The CERN Tape Archive (CTA)
- * @copyright      Copyright(C) 2015-2021 CERN
- * @license        This program is free software: you can redistribute it and/or modify
- *                 it under the terms of the GNU General Public License as published by
- *                 the Free Software Foundation, either version 3 of the License, or
- *                 (at your option) any later version.
- *
- *                 This program is distributed in the hope that it will be useful,
- *                 but WITHOUT ANY WARRANTY; without even the implied warranty of
- *                 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *                 GNU General Public License for more details.
- *
- *                 You should have received a copy of the GNU General Public License
- *                 along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-#include "common/exception/Exception.hpp"
-
-#include "rdbms/wrapper/Mysql.hpp"
-
-#include <mysql.h>
-
-#include <iostream>
-
-namespace cta {
-namespace rdbms {
-namespace wrapper {
-
-static 
-std::string replace_string(const std::string& sql, 
-                           const std::string& from, const std::string& to) {
-  std::string real_sql = sql;
-  const size_t tok_sz = from.size();
-
-  while (true) {
-    auto idx = real_sql.find(from);
-    if (idx == std::string::npos) {
-      break;
-    }
-    real_sql.replace(idx, tok_sz, to);
-  }
-
-  return real_sql;
-}
-
-std::string Mysql::translate_it(const std::string& sql) {
-  std::string real_sql = sql;
-
-  // if found :name, replace it with '?'
-  const std::string named_tok = ":";
-  const std::string replaced_tok = "?";
-  while (true) {
-    auto idx = real_sql.find(named_tok);
-    if (idx == std::string::npos) {
-      break;
-    }
-    // find the next token
-    size_t len = real_sql.length();
-    size_t l = 1; // next to ":"
-    for (; idx+l < len; ++l) {
-      const char& c = real_sql[idx+l];
-      // check token
-      if (('0' <= c && c <= '9') ||
-          ('A' <= c && c <= 'Z') ||
-          ('a' <= c && c <= 'z') ||
-          c == '_') {
-
-      } else {
-        break;
-      }
-    }
-
-    real_sql.replace(idx, l, replaced_tok);
-
-  }
-
-  // replace CONSTRAINT name from sql 
-  const std::string constraint_tok = "CONSTRAINT";
-  const size_t constraint_tok_sz = constraint_tok.size();
-  const std::string constraint_replaced_tok = "";
-  while (true) {
-    auto idx = real_sql.find(constraint_tok);
-    if (idx == std::string::npos) {
-      break;
-    }
-
-    size_t len = real_sql.length();
-    size_t l = constraint_tok_sz;
-
-    // space
-    for (; idx+l < len; ++l) {
-      const char& c = real_sql[idx+l];
-      if (c == ' ') {
-
-      } else {
-        break;
-      }
-    }
-    // token
-    for (; idx+l < len; ++l) {
-      const char& c = real_sql[idx+l];
-      if (c != ' ') {
-
-      } else {
-        break;
-      }
-    }
-
-    real_sql.replace(idx, l, constraint_replaced_tok);
-  }
-
-  // replace VARCHAR2 to VARCHAR
-  real_sql = replace_string(real_sql, "VARCHAR2", "VARCHAR");
-
-  // https://dev.mysql.com/doc/refman/8.0/en/numeric-type-overview.html
-  real_sql = replace_string(real_sql, "INTEGER", "BIGINT UNSIGNED");
-  return real_sql;
-}
-
-Mysql::FieldsInfo::FieldsInfo(MYSQL_RES* result_metadata)
-  : column_count(0) {
-
-  if (!result_metadata) {
-    throw exception::Exception(std::string(__FUNCTION__) + " empty metadata!");
-    return;
-  }
-
-  MYSQL_FIELD *fields = NULL;
-  fields = mysql_fetch_fields(result_metadata);
-
-  if (!fields) {
-    throw exception::Exception(std::string(__FUNCTION__) + " can not fetch fields.");
-  }
-
-  column_count = mysql_num_fields(result_metadata);
-  // std::string debug_str;
-
-  for (int i = 0; i < column_count; ++i) {
-    const std::string name = fields[i].name;
-    const enum_field_types type = fields[i].type;
-    column2idx[name] = i;
-
-    names.push_back(name);
-    types.push_back(type);
-
-    maxsizes.push_back(fields[i].length);
-  }
-
-  // throw exception::Exception(debug_str);
-}
-
-bool Mysql::FieldsInfo::exists(const std::string& column) {
-  return column2idx.find(column) != column2idx.end();
-}
-
-} // namespace wrapper
-} // namespace rdbms
-} // namespace cta
-
-
-
-
diff --git a/rdbms/wrapper/Mysql.hpp b/rdbms/wrapper/Mysql.hpp
deleted file mode 100644
index b5827fd77a0f6fa74afe8de2d8a002d3892dcc9f..0000000000000000000000000000000000000000
--- a/rdbms/wrapper/Mysql.hpp
+++ /dev/null
@@ -1,581 +0,0 @@
-/*
- * @project        The CERN Tape Archive (CTA)
- * @copyright      Copyright(C) 2015-2021 CERN
- * @license        This program is free software: you can redistribute it and/or modify
- *                 it under the terms of the GNU General Public License as published by
- *                 the Free Software Foundation, either version 3 of the License, or
- *                 (at your option) any later version.
- *
- *                 This program is distributed in the hope that it will be useful,
- *                 but WITHOUT ANY WARRANTY; without even the implied warranty of
- *                 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *                 GNU General Public License for more details.
- *
- *                 You should have received a copy of the GNU General Public License
- *                 along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-struct st_mysql_res;
-typedef st_mysql_res MYSQL_RES;
-
-struct st_mysql_stmt;
-typedef st_mysql_stmt MYSQL_STMT;
-
-struct st_mysql_bind;
-typedef st_mysql_bind MYSQL_BIND;
-
-typedef char my_bool;
-
-extern "C" void mysql_free_result(MYSQL_RES *result);
-
-#include <vector>
-#include <limits>
-#include <map>
-#include <memory>
-#include <stdint.h>
-#include <string.h>
-
-namespace cta {
-namespace rdbms {
-namespace wrapper {
-
-class SmartMYSQL_RES {
-public:
-  SmartMYSQL_RES(MYSQL_RES *res): m_res(res) {
-  }
-
-  MYSQL_RES &operator->() {
-    return *m_res;
-  }
-
-  MYSQL_RES *get() {
-    return m_res;
-  }
-
-  operator bool() const {
-   return nullptr != m_res;
-  }
-
-  ~SmartMYSQL_RES() {
-    if(nullptr != m_res) {
-      mysql_free_result(m_res); 
-    }
-  }
-
-private:
-
-  MYSQL_RES *m_res;
-};
-
-/**
- * A helper class for working with MySQL.
- */
-
-class Mysql {
-  public:
-
-  static std::string translate_it(const std::string& sql);
-
-  /**
-   * Placeholder of bind
-   */
-  struct Placeholder {
-    unsigned int idx;
-    my_bool is_null; // FIXED ME: in MySQL api, my_bool is char
-    unsigned long length;
-    my_bool error;
-
-    Placeholder()
-      : idx(0), is_null(false), length(0), error(0) {
-
-    }
-
-    virtual ~Placeholder() {
-
-    }
-
-    enum buffer_types {
-      placeholder_uint8,
-      placeholder_uint16,
-      placeholder_uint32,
-      placeholder_uint64,
-      placeholder_string,
-      placeholder_double,
-    };
-
-    virtual std::string show() = 0;
-
-    virtual buffer_types get_buffer_type() = 0;
-    virtual void* get_buffer() = 0;
-    virtual unsigned long get_buffer_length() = 0;
-    virtual unsigned long* get_length() { return &length; }
-    virtual my_bool* get_is_null() { return &is_null; }
-    virtual bool get_is_unsigned() = 0;
-    virtual my_bool* get_error() { return &error; }
-    // following is to access data
-    virtual uint8_t get_uint8() = 0;
-    virtual uint16_t get_uint16() = 0;
-    virtual uint32_t get_uint32() = 0;
-    virtual uint64_t get_uint64() = 0;
-    virtual std::string get_string() = 0;
-    virtual double get_double() = 0;
-    // helper
-    virtual bool reset() = 0;
-  };
-
-  struct Placeholder_Uint8: Placeholder {
-    uint8_t val;
-
-    Placeholder_Uint8()
-      : Placeholder(), val(0) {
-
-    }
-
-    std::string show() override {
-      std::stringstream ss;
-      ss << "['" << idx << "' '" << is_null << "' '" << length << "' '" << val << "' '" << get_buffer_length() << "']";
-      return ss.str();
-    }
-
-    buffer_types get_buffer_type() override {
-      return placeholder_uint8;
-    }
-
-    void* get_buffer() override {
-      return &val;
-    }
-
-    unsigned long get_buffer_length() override {
-      return sizeof(uint8_t);
-    }
-
-    bool get_is_unsigned() override {
-      return true;
-    }
-
-    uint8_t get_uint8() override {
-      return val;
-    }
-
-    uint16_t get_uint16() override {
-      return val;
-    }
-
-    uint32_t get_uint32() override {
-      return val;
-    }
-
-    uint64_t get_uint64() override {
-      return val;
-    }
-
-    std::string get_string() override {
-      return std::to_string(val);
-    }
-
-    double get_double() override {
-      return val;
-    }
-
-    bool reset() override {
-      return false;
-    }
-
-  };
-
-  struct Placeholder_Uint16: Placeholder {
-    uint16_t val;
-
-    Placeholder_Uint16()
-      : Placeholder(), val(0) {
-
-    }
-
-    std::string show() override {
-      std::stringstream ss;
-      ss << "['" << idx << "' '" << is_null << "' '" << length << "' '" << val << "' '" << get_buffer_length() << "']";
-      return ss.str();
-    }
-
-    buffer_types get_buffer_type() override {
-      return placeholder_uint16;
-    }
-
-    void* get_buffer() override {
-      return &val;
-    }
-
-    unsigned long get_buffer_length() override {
-      return sizeof(uint16_t);
-    }
-
-    bool get_is_unsigned() override {
-      return true;
-    }
-
-    uint8_t get_uint8() override {
-      if(std::numeric_limits<uint8_t>::max() < val) {
-        std::ostringstream msg;
-        msg << "Cannot convert uint16 to uint8: Overflow: uint16=" << val <<
-          " maxUint8=" << std::numeric_limits<uint8_t>::max();
-        throw exception::Exception(msg.str());
-      }
-      return val;
-    }
-
-    uint16_t get_uint16() override {
-      return val;
-    }
-
-    uint32_t get_uint32() override {
-      return val;
-    }
-
-    uint64_t get_uint64() override {
-      return val;
-    }
-
-    std::string get_string() override {
-      return std::to_string(val);
-    }
-
-    double get_double() override {
-      return val;
-    }
-
-    bool reset() override {
-      return false;
-    }
-
-  };
-
-  struct Placeholder_Uint32: Placeholder {
-    uint32_t val;
-
-    Placeholder_Uint32()
-      : Placeholder(), val(0) {
-
-    }
-
-    std::string show() override {
-      std::stringstream ss;
-      ss << "['" << idx << "' '" << is_null << "' '" << length << "' '" << val << "' '" << get_buffer_length() << "']";
-      return ss.str();
-    }
-
-    buffer_types get_buffer_type() override {
-      return placeholder_uint32;
-    }
-
-    void* get_buffer() override {
-      return &val;
-    }
-
-    unsigned long get_buffer_length() override {
-      return sizeof(uint32_t);
-    }
-
-    bool get_is_unsigned() override {
-      return true;
-    }
-
-    uint8_t get_uint8() override {
-      if(std::numeric_limits<uint8_t>::max() < val) {
-        std::ostringstream msg;
-        msg << "Cannot convert uint32 to uint8: Overflow: uint32=" << val <<
-          " maxUint8=" << std::numeric_limits<uint8_t>::max();
-        throw exception::Exception(msg.str());
-      }
-      return val;
-    }
-
-    uint16_t get_uint16() override {
-      if(std::numeric_limits<uint16_t>::max() < val) {
-        std::ostringstream msg;
-        msg << "Cannot convert uint32 to uint16: Overflow: uint32=" << val <<
-          " maxUint16=" << std::numeric_limits<uint16_t>::max();
-        throw exception::Exception(msg.str());
-      }
-      return val;
-    }
-
-    uint32_t get_uint32() override {
-      return val;
-    }
-
-    uint64_t get_uint64() override {
-      return val;
-    }
-
-    std::string get_string() override {
-      return std::to_string(val);
-    }
-
-    double get_double() override {
-      return val;
-    }
-
-    bool reset() override {
-      return false;
-    }
-
-  };
-
-  struct Placeholder_Uint64: Placeholder {
-    uint64_t val;
-
-    Placeholder_Uint64()
-      : Placeholder(), val(0) {
-
-    }
-    
-    std::string show() override {
-      std::stringstream ss;
-      ss << "['" << idx << "' '" << is_null << "' '" << length << "' '" << val << "' '" << get_buffer_length() << "']";
-      return ss.str();
-    }
-
-    buffer_types get_buffer_type() override {
-      return placeholder_uint64;
-    }
-
-    void* get_buffer() override {
-      return &val;
-    }
-
-    unsigned long get_buffer_length() override {
-      return sizeof(uint64_t);
-    }
-
-    bool get_is_unsigned() override {
-      return true;
-    }
-
-    uint8_t get_uint8() override {
-      if(std::numeric_limits<uint8_t>::max() < val) {
-        std::ostringstream msg;
-        msg << "Cannot convert uint64 to uint8: Overflow: uint64=" << val <<
-          " maxUint8=" << std::numeric_limits<uint8_t>::max();
-        throw exception::Exception(msg.str());
-      }
-      return val;
-    }
-
-    uint16_t get_uint16() override {
-      if(std::numeric_limits<uint16_t>::max() < val) {
-        std::ostringstream msg;
-        msg << "Cannot convert uint64 to uint16: Overflow: uint64=" << val <<
-          " maxUint16=" << std::numeric_limits<uint16_t>::max();
-        throw exception::Exception(msg.str());
-      }
-      return val;
-    }
-
-    uint32_t get_uint32() override {
-      if(std::numeric_limits<uint32_t>::max() < val) {
-        std::ostringstream msg;
-        msg << "Cannot convert uint64 to uint32: Overflow: uint64=" << val <<
-          " maxUint32=" << std::numeric_limits<uint32_t>::max();
-        throw exception::Exception(msg.str());
-      }
-      return val;
-    }
-
-    uint64_t get_uint64() override {
-      return val;
-    }
-
-    std::string get_string() override {
-      return std::to_string(val);
-    }
-
-    double get_double() override {
-      return val;
-    }
-
-    bool reset() override {
-      return false;
-    }
-
-  };
-
-  struct Placeholder_String: Placeholder {
-    // std::string val;
-    char* val;
-    unsigned int buf_sz;
-
-    Placeholder_String(const int sz)
-      : Placeholder(), val(nullptr) {
-      buf_sz = sz;
-      val = new char[buf_sz]();
-      reset();
-    }
-
-    ~Placeholder_String() {
-      delete [] val;
-    }
-
-    std::string show() override {
-      std::stringstream ss;
-      ss << "['" << idx << "' '" << is_null << "' '" << length << "' '" << val << "' '" << get_buffer_length() << "']";
-      return ss.str();
-    }
-
-
-    buffer_types get_buffer_type() override {
-      return placeholder_string;
-    }
-    
-    void* get_buffer() override {
-      return (void*)val;
-    }
-
-    unsigned long get_buffer_length() override {
-      return buf_sz;
-    }
-
-    bool get_is_unsigned() override {
-      return false;
-    }
-
-    uint8_t get_uint8() override {
-      const uint64_t i = std::stoll(val);
-      if(std::numeric_limits<uint8_t>::max() > i) {
-        std::ostringstream msg;
-        msg << "Failed to convert string to uint8: Overflow: string=" << val << " maxUint8=" <<
-          std::numeric_limits<uint8_t>::max();
-        throw exception::Exception(msg.str());
-      }
-      return i;
-    }
-
-    uint16_t get_uint16() override {
-      const uint64_t i = std::stoll(val);
-      if(std::numeric_limits<uint16_t>::max() > i) {
-        std::ostringstream msg;
-        msg << "Failed to convert string to uint16: Overflow: string=" << val << " maxUint16=" <<
-          std::numeric_limits<uint16_t>::max();
-        throw exception::Exception(msg.str());
-      }
-      return i;
-    }
-
-    uint32_t get_uint32() override {
-      const uint64_t i = std::stoll(val);
-      if(std::numeric_limits<uint32_t>::max() > i) {
-        std::ostringstream msg;
-        msg << "Failed to convert string to uint32: Overflow: string=" << val << " maxUint32=" <<
-          std::numeric_limits<uint32_t>::max();
-        throw exception::Exception(msg.str());
-      }
-      return i;
-    }
-
-    // note: allow users try to convert from string to int, 
-    //       but users need to catch the exception.
-    uint64_t get_uint64() override {
-      return std::stoll(val);
-    }
-
-    std::string get_string() override {
-      return std::string(val, val+*get_length());
-    }
-
-    // note: allow users try to convert from string to int,
-    //       but users need to catch the exception.
-    double get_double() override {
-      return std::stod(val);
-    }
-
-    bool reset() override {
-      memset(val, 0, buf_sz);
-      
-      return true;
-    }
-
-  };
-
-  struct Placeholder_Double: Placeholder {
-    double val;
-
-    Placeholder_Double()
-      : Placeholder(), val(0) {
-
-    }
-
-    std::string show() override {
-      std::stringstream ss;
-      ss << "['" << idx << "' '" << is_null << "' '" << length << "' '" << val << "' '" << get_buffer_length() << "']";
-      return ss.str();
-    }
-
-    buffer_types get_buffer_type() override {
-      return placeholder_double;
-    }
-
-    void* get_buffer() override {
-      return &val;
-    }
-
-    unsigned long get_buffer_length() override {
-      return sizeof(double);
-    }
-
-    bool get_is_unsigned() override {
-      return true;
-    }
-
-    uint8_t get_uint8() override {
-      throw val;
-    }
-
-    uint16_t get_uint16() override {
-      throw val;
-    }
-
-    uint32_t get_uint32() override {
-      throw val;
-    }
-
-    uint64_t get_uint64() override {
-      return val;
-    }
-
-    std::string get_string() override {
-      return std::to_string(val);
-    }
-
-    double get_double() override {
-      return val;
-    }
-
-    bool reset() {
-      return false;
-    }
-
-  };
-
-  struct FieldsInfo {
-    FieldsInfo(MYSQL_RES* result_metadata);
-
-    bool exists(const std::string& column);
-
-    int column_count;
-
-    std::map<std::string, int> column2idx; // column name to idx
-    std::vector<std::string> names; // field name
-    std::vector<int> types; // field type (my_conn.h)
-    std::vector<unsigned int> maxsizes; // max size for column
-  };
-
-
-
-}; // class Mysql
-
-
-} // namespace wrapper
-} // namespace rdbms
-} // namespace cta
-
diff --git a/rdbms/wrapper/MysqlConn.cpp b/rdbms/wrapper/MysqlConn.cpp
deleted file mode 100644
index 5e53deee68aca6fd6188dbae04f2514ba92e477e..0000000000000000000000000000000000000000
--- a/rdbms/wrapper/MysqlConn.cpp
+++ /dev/null
@@ -1,379 +0,0 @@
-/*
- * @project        The CERN Tape Archive (CTA)
- * @copyright      Copyright(C) 2015-2021 CERN
- * @license        This program is free software: you can redistribute it and/or modify
- *                 it under the terms of the GNU General Public License as published by
- *                 the Free Software Foundation, either version 3 of the License, or
- *                 (at your option) any later version.
- *
- *                 This program is distributed in the hope that it will be useful,
- *                 but WITHOUT ANY WARRANTY; without even the implied warranty of
- *                 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *                 GNU General Public License for more details.
- *
- *                 You should have received a copy of the GNU General Public License
- *                 along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "common/exception/Exception.hpp"
-#include "common/make_unique.hpp"
-#include "common/threading/MutexLocker.hpp"
-#include "common/utils/utils.hpp"
-#include "rdbms/Conn.hpp"
-#include "rdbms/wrapper/Mysql.hpp"
-#include "rdbms/wrapper/MysqlConn.hpp"
-#include "rdbms/wrapper/MysqlStmt.hpp"
-
-#include <mysql.h>
-
-#include <iostream>
-#include <stdexcept>
-#include <string>
-
-namespace cta {
-namespace rdbms {
-namespace wrapper {
-
-//------------------------------------------------------------------------------
-// constructor
-//------------------------------------------------------------------------------
-MysqlConn::MysqlConn(const std::string& host, 
-                     const std::string& user, 
-                     const std::string& passwd,
-                     const std::string& db,
-                     unsigned int port)
-  : m_mysqlConn(NULL) {
-
-  // create the MYSQL data structure
-
-  m_mysqlConn = mysql_init(NULL);
-
-  if (m_mysqlConn == NULL) {
-    unsigned int rc = mysql_errno(m_mysqlConn);
-    std::string msg = mysql_error(m_mysqlConn);
-    throw exception::Exception(std::string(" errno: ") + std::to_string(rc) + " " +  msg);
-  }
-
-  // connect
-
-  // setting the CLIENT_FOUND_ROWS flag so that the reported number of rows
-  // affected by a DML statement matches that of Oracle, PostgreSQL and SQLite
-
-  if (mysql_real_connect(m_mysqlConn, host.c_str(),
-                         user.c_str(), passwd.c_str(), db.c_str(), port, 
-                         NULL, CLIENT_FOUND_ROWS) == NULL) {
-    unsigned int rc = mysql_errno(m_mysqlConn);
-    std::string msg = mysql_error(m_mysqlConn);
-    throw exception::Exception(std::string(" errno: ") + std::to_string(rc) + " " +  msg);
-  }
-
-  // disable auto commit
-  bool rc = mysql_autocommit(m_mysqlConn, 0); // mode is 1, off if mode is 0.
-  if (rc) {
-    std::string msg = "Can not turn off autocommit mode.";
-    throw exception::Exception(msg);
-  }
-}
-
-//------------------------------------------------------------------------------
-// destructor
-//------------------------------------------------------------------------------
-MysqlConn::~MysqlConn() {
-  try {
-    close();
-  } catch (...) {
-    // Destructor should not throw any exceptions
-  }
-}
-
-//------------------------------------------------------------------------------
-// close
-//------------------------------------------------------------------------------
-void MysqlConn::close() {
-  threading::MutexLocker locker(m_mutex);
-
-  if (isOpen()) {
-    mysql_close(m_mysqlConn);
-    m_mysqlConn = nullptr;
-  }
-}
-
-//------------------------------------------------------------------------------
-// setAutocommitMode
-//------------------------------------------------------------------------------
-void MysqlConn::setAutocommitMode(const AutocommitMode autocommitMode) {
-  if(AutocommitMode::AUTOCOMMIT_OFF == autocommitMode) {
-    throw rdbms::Conn::AutocommitModeNotSupported("Failed to set autocommit mode to AUTOCOMMIT_OFF: MysqlConn only"
-      " supports AUTOCOMMIT_ON");
-  }
-}
-
-//------------------------------------------------------------------------------
-// getAutocommitMode
-//------------------------------------------------------------------------------
-AutocommitMode MysqlConn::getAutocommitMode() const noexcept{
-  return AutocommitMode::AUTOCOMMIT_ON;
-}
-
-//------------------------------------------------------------------------------
-// executeNonQuery
-//------------------------------------------------------------------------------
-void MysqlConn::executeNonQuery(const std::string &sql) {
-  try {
-    threading::MutexLocker locker(m_mutex);
-
-    if(!isOpen()) {
-      throw exception::Exception("Connection is closed");
-    }
-
-    const auto translatedSql = Mysql::translate_it(sql);
-
-    if (mysql_real_query(m_mysqlConn, translatedSql.c_str(), translatedSql.length())) {
-      unsigned int rc = mysql_errno(m_mysqlConn);
-      std::string msg = mysql_error(m_mysqlConn);
-      throw exception::Exception(std::string(" errno: ") + std::to_string(rc) + " " +  msg);
-    }
-  } catch(exception::Exception &ex) {
-    throw exception::Exception(std::string(__FUNCTION__) + " failed: " + ex.getMessage().str());
-  }
-}
-
-//------------------------------------------------------------------------------
-// createStmt
-//------------------------------------------------------------------------------
-std::unique_ptr<StmtWrapper> MysqlConn::createStmt(const std::string &sql) {
-
-  try {
-    threading::MutexLocker locker(m_mutex);
-
-    if(!isOpen()) {
-      throw exception::Exception("Connection is closed");
-    }
-
-    return cta::make_unique<MysqlStmt>(*this, sql);
-  } catch(exception::Exception &ex) {
-    throw exception::Exception(std::string(__FUNCTION__) + " failed: " + ex.getMessage().str());
-  }
-}
-
-//------------------------------------------------------------------------------
-// execute
-//------------------------------------------------------------------------------
-void MysqlConn::execute(const std::string &sql) {
-  if (mysql_real_query(m_mysqlConn, sql.c_str(), sql.length())) {
-    unsigned int rc = mysql_errno(m_mysqlConn);
-    std::string msg = mysql_error(m_mysqlConn);
-    throw exception::Exception(std::string(" errno: ") + std::to_string(rc) + " " +  msg);
-  }
-}
-
-//------------------------------------------------------------------------------
-// commit
-//------------------------------------------------------------------------------
-void MysqlConn::commit() 
-{
-  threading::MutexLocker locker(m_mutex);
-
-  if (!isOpen()) {
-    throw exception::Exception("Connection is closed");
-  }
-
-  my_bool isCommit = mysql_commit(m_mysqlConn);
-
-  if (isCommit) {
-    throw exception::Exception(std::string(__FUNCTION__) + " commit failed.");
-  }
-}
-
-//------------------------------------------------------------------------------
-// rollback
-//------------------------------------------------------------------------------
-void MysqlConn::rollback() {
-  threading::MutexLocker locker(m_mutex);
-
-  if (!isOpen()) {
-    throw exception::Exception("Connection is closed");
-  }
-
-  my_bool isCommit = mysql_rollback(m_mysqlConn);
-
-  if (!isCommit) {
-    throw exception::Exception(std::string(__FUNCTION__) + " rollback failed.");
-  }
-}
-
-//------------------------------------------------------------------------------
-// getColumns
-//------------------------------------------------------------------------------
-std::map<std::string, std::string> MysqlConn::getColumns(const std::string &tableName) {
- try {
-    std::map<std::string, std::string> columnNamesAndTypes;
-    const char *const sql =
-      "SELECT "
-        "COLUMN_NAME, "
-        "DATA_TYPE "
-      "FROM "
-        "INFORMATION_SCHEMA.COLUMNS "
-      "WHERE "
-        "TABLE_NAME = :TABLE_NAME";
-
-    auto stmt = createStmt(sql);
-   stmt->bindString(":TABLE_NAME", tableName);
-    auto rset = stmt->executeQuery();
-    while (rset->next()) {
-      auto name = rset->columnOptionalString("COLUMN_NAME");
-      auto type = rset->columnOptionalString("DATA_TYPE");
-      if(name && type) {
-        utils::toUpper(type.value());
-        if ("DECIMAL" == type.value()) {
-          type = "NUMERIC" ;
-        }
-        columnNamesAndTypes.insert(std::make_pair(name.value(), type.value()));
-      }
-    }
-
-    return columnNamesAndTypes;
-  } catch(exception::Exception &ex) {
-    throw exception::Exception(std::string(__FUNCTION__) + " failed: " + ex.getMessage().str());
-  }
-}
-  
-//------------------------------------------------------------------------------
-// getTableNames
-//------------------------------------------------------------------------------
-std::list<std::string> MysqlConn::getTableNames() {
-  std::list<std::string> names;
-  SmartMYSQL_RES result(mysql_list_tables(m_mysqlConn, NULL));
-
-  if (result) {
-    // try to retrieve
-
-    int num_fields = mysql_num_fields(result.get());
-
-    if (num_fields != 1) {
-      throw exception::Exception(std::string(__FUNCTION__) + " num fields (list tables): " + std::to_string(num_fields));
-    }
-
-    MYSQL_ROW row;
-    while ((row = mysql_fetch_row(result.get()))) { 
-      std::string name = row[0]; // only one field
-      names.push_back(name);
-    }
-  
-  }
-
-  return names;
-}
-
-//------------------------------------------------------------------------------
-// getIndexNames
-//------------------------------------------------------------------------------
-std::list<std::string> MysqlConn::getIndexNames() {
-  try {
-    std::list<std::string> names;
-    const char *const sql =
-      "SELECT DISTINCT "
-        "INDEX_NAME "
-      "FROM "
-        "INFORMATION_SCHEMA.STATISTICS "
-      "WHERE "
-        "Non_unique=1 "
-      "ORDER BY "
-        "INDEX_NAME";
-    auto stmt = createStmt(sql);
-    auto rset = stmt->executeQuery();
-    while (rset->next()) {
-      auto name = rset->columnOptionalString("INDEX_NAME");
-      if(name) {
-        names.push_back(name.value());
-      }
-    }
-
-    return names;
-  } catch(exception::Exception &ex) {
-    throw exception::Exception(std::string(__FUNCTION__) + " failed: " + ex.getMessage().str());
-  }
-}
-
-//------------------------------------------------------------------------------
-// isOpen
-//------------------------------------------------------------------------------
-bool MysqlConn::isOpen() const {
-  return NULL != m_mysqlConn;
-}
-
-//------------------------------------------------------------------------------
-// getSequenceNames
-//------------------------------------------------------------------------------
-std::list<std::string> MysqlConn::getSequenceNames() {
-  return std::list<std::string>();
-}
-
-//------------------------------------------------------------------------------
-// getTriggerNames
-//------------------------------------------------------------------------------
-std::list<std::string> MysqlConn::getTriggerNames() {
-  try {
-    std::list<std::string> names;
-    const char *const sql =
-      "SELECT "
-        "TRIGGER_NAME "
-      "FROM "
-        "INFORMATION_SCHEMA.TRIGGERS "
-      "ORDER BY "
-        "TRIGGER_NAME";
-    auto stmt = createStmt(sql);
-    auto rset = stmt->executeQuery();
-    while (rset->next()) {
-      auto name = rset->columnOptionalString("TRIGGER_NAME");
-      if(name) {
-        names.push_back(name.value());
-      }
-    }
-
-    return names;
-  } catch(exception::Exception &ex) {
-    throw exception::Exception(std::string(__FUNCTION__) + " failed: " + ex.getMessage().str());
-  }
-}
-
-//------------------------------------------------------------------------------
-// getParallelTableNames
-//------------------------------------------------------------------------------
-std::list<std::string> MysqlConn::getParallelTableNames(){
-  return std::list<std::string>();
-}
-
-//------------------------------------------------------------------------------
-// getConstraintNames
-//------------------------------------------------------------------------------
-std::list<std::string> MysqlConn::getConstraintNames(const std::string& tableName){
-  return std::list<std::string>();
-}
-
-//------------------------------------------------------------------------------
-// getStoredProcedureNames
-//------------------------------------------------------------------------------
-std::list<std::string> MysqlConn::getStoredProcedureNames() {
-  return std::list<std::string>();
-}
-
-//------------------------------------------------------------------------------
-// getSynonymNames
-//------------------------------------------------------------------------------
-std::list<std::string> MysqlConn::getSynonymNames() {
-  return std::list<std::string>();
-}
-
-//------------------------------------------------------------------------------
-// getTypeNames
-//------------------------------------------------------------------------------
-std::list<std::string> MysqlConn::getTypeNames() {
-  return std::list<std::string>();
-}
-
-
-
-} // namespace wrapper
-} // namespace rdbms
-} // namespace cta
diff --git a/rdbms/wrapper/MysqlConn.hpp b/rdbms/wrapper/MysqlConn.hpp
deleted file mode 100644
index 8f2598ccb57e109bf6ebc2c027ab43b579ad703c..0000000000000000000000000000000000000000
--- a/rdbms/wrapper/MysqlConn.hpp
+++ /dev/null
@@ -1,246 +0,0 @@
-/*
- * @project        The CERN Tape Archive (CTA)
- * @copyright      Copyright(C) 2015-2021 CERN
- * @license        This program is free software: you can redistribute it and/or modify
- *                 it under the terms of the GNU General Public License as published by
- *                 the Free Software Foundation, either version 3 of the License, or
- *                 (at your option) any later version.
- *
- *                 This program is distributed in the hope that it will be useful,
- *                 but WITHOUT ANY WARRANTY; without even the implied warranty of
- *                 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *                 GNU General Public License for more details.
- *
- *                 You should have received a copy of the GNU General Public License
- *                 along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include "common/threading/Mutex.hpp"
-#include "rdbms/wrapper/ConnWrapper.hpp"
-
-struct st_mysql;
-typedef st_mysql MYSQL;
-
-namespace cta {
-namespace rdbms {
-namespace wrapper {
-
-class MysqlStmt;
-
-class MysqlConn: public ConnWrapper {
-public:
-
-  /**
-   * The SqliteStmt class can lock the m_mutex member of the SqliteConn class
-   * and it can read the pointer to the SQLite connection.
-   */
-  friend MysqlStmt;
-
-
-  /**
-   * Constructor.
-   *
-   * @param host The host name.
-   * @param user The user name.
-   * @param passwd The password.
-   * @param db The database name.
-   * @param port The port number.
-   * 
-   */
-  MysqlConn(const std::string& host, 
-            const std::string& user, 
-            const std::string& passwd,
-            const std::string& db,
-            unsigned int port);
-
-  /**
-   * Destructor.
-   */
-  ~MysqlConn() override;
-
-  /**
-   * Idempotent close() method.  The destructor calls this method.
-   */
-  void close() override;
-
-  /**
-   * Sets the autocommit mode of the connection.
-   *
-   * @param autocommitMode The autocommit mode of the connection.
-   * @throw AutocommitModeNotSupported If the specified autocommit mode is not
-   * supported.
-   */
-  void setAutocommitMode(const AutocommitMode autocommitMode) override;
-
-  /**
-   * Returns the autocommit mode of the connection.
-   *
-   * @return The autocommit mode of the connection.
-   */
-  AutocommitMode getAutocommitMode() const noexcept override;
-
-  /**
-   * Executes the statement.
-   *
-   * @param sql The SQL statement.
-   */
-  void executeNonQuery(const std::string &sql) override;
-
-  /**
-   * Creates a prepared statement.
-   *
-   * @param sql The SQL statement.
-   * @param autocommitMode The autocommit mode of the statement.
-   * @return The prepared statement.
-   */
-  std::unique_ptr<StmtWrapper> createStmt(const std::string &sql) override;
-
-  /**
-   * Execute a SQL statement directly, used for non prepared statement.
-   *
-   * @param sql The SQL statement.
-   */
-  void execute(const std::string& sql);
-  
-  /**
-   * Commits the current transaction.
-   */
-  void commit() override;
-
-  /**
-   * Rolls back the current transaction.
-   */
-  void rollback() override;
-  
-  /**
-   * Returns the names of all the column and their type as a map for the given 
-   * table in the database schema.
-   *
-   * @param tableName The table name to get the columns.
-   * @return The map of types by name of all the columns for the given table in the database schema.
-   */
-  std::map<std::string, std::string> getColumns(const std::string &tableName) override;
-
-  /**
-   * Returns the names of all the tables in the database schema in alphabetical
-   * order.
-   *
-   * @return The names of all the tables in the database schema in alphabetical
-   * order.
-   */
-  std::list<std::string> getTableNames() override;
-  
-  /**
-   * Returns the names of all the indices in the database schema in alphabetical
-   * order.
-   *
-   * @return The names of all the indices in the database schema in alphabetical
-   * order.
-   */
-  std::list<std::string> getIndexNames() override;
-
-  /**
-   * Returns true if this connection is open.
-   */
-  bool isOpen() const override;
-
-  /**
-   * Returns the names of all the sequences in the database schema in
-   * alphabetical order.
-   *
-   * If the underlying database technologies does not supported sequences then
-   * this method simply returns an empty list.
-   *
-   * @return The names of all the sequences in the database schema in
-   * alphabetical order.
-   */
-  std::list<std::string> getSequenceNames() override;
-
-  /**
-   * Returns the names of all the triggers in the database schema in
-   * alphabetical order.
-   *
-   * If the underlying database technologies does not supported triggers then
-   * this method simply returns an empty list.
-   *
-   * @return The names of all the triggers in the database schema in
-   * alphabetical order.
-   */
-  std::list<std::string> getTriggerNames() override;
-  
-  /**
-   * Returns the names of all the tables that have been set as PARALLEL
-   * in alphabetical order.
-   * 
-   * If the underlying database technologies does not support PARALLEL
-   * them this method simply returns an empty list.
-   * 
-   * @return the names of all the tables that have been set as PARALLEL
-   * in alphabetical order. 
-   */
-  std::list<std::string> getParallelTableNames() override;
-  
-  /**
-   * Returns the Constraint names of a given table in the database schema
-   * 
-   * If the underlying database technologies does not support constraint
-   * then this method simply returns an empty list.
-   * 
-   * @param tableName the table name to get the constraint names from
-   * @return the list of the names of the constraints that the given table has.
-   */
-  std::list<std::string> getConstraintNames(const std::string &tableName) override;
-  
-  /**
-   * 
-   * Returns the stored procedure names of the database
-   * 
-   * If the underlying database technologies does not support stored procedures informations
-   * this method simply returns an empty list.
-   * 
-   * @return the list of the names of the stored procedures in the database
-   */
-  std::list<std::string> getStoredProcedureNames() override;
-  
-  /**
-   * Returns the synonym names of the database
-   * 
-   * If the underlying database technologies does not support synonym informations
-   * this method simply returns an empty list.
-   * 
-   * @return the list of the names of the synonyms in the database
-   */
-  std::list<std::string> getSynonymNames() override;
-  
-  /**
-   * Returns the type names of the database
-   * 
-   * If the underlying database technologies does not support type informations
-   * this method simply returns an empty list.
-   * 
-   * @return the list of the names of the types in the database
-   */
-  std::list<std::string> getTypeNames() override;
-
-
-private:
-
-  /**
-   * Mutex used to serialize access to the database connection.
-   */
-  threading::Mutex m_mutex;
-
-  /**
-   * represent MYSQL connection
-   */
-  MYSQL* m_mysqlConn;
-
-
-}; // class MysqlConn
-
-
-} // namespace wrapper
-} // namespace rdbms
-} // namespace cta
diff --git a/rdbms/wrapper/MysqlConnFactory.cpp b/rdbms/wrapper/MysqlConnFactory.cpp
deleted file mode 100644
index 60c853d849721790a625e3720cda452c27440644..0000000000000000000000000000000000000000
--- a/rdbms/wrapper/MysqlConnFactory.cpp
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * @project        The CERN Tape Archive (CTA)
- * @copyright      Copyright(C) 2015-2021 CERN
- * @license        This program is free software: you can redistribute it and/or modify
- *                 it under the terms of the GNU General Public License as published by
- *                 the Free Software Foundation, either version 3 of the License, or
- *                 (at your option) any later version.
- *
- *                 This program is distributed in the hope that it will be useful,
- *                 but WITHOUT ANY WARRANTY; without even the implied warranty of
- *                 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *                 GNU General Public License for more details.
- *
- *                 You should have received a copy of the GNU General Public License
- *                 along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "common/exception/Exception.hpp"
-#include "common/make_unique.hpp"
-#include "rdbms/wrapper/MysqlConn.hpp"
-#include "rdbms/wrapper/MysqlConnFactory.hpp"
-
-namespace cta {
-namespace rdbms {
-namespace wrapper {
-
-//------------------------------------------------------------------------------
-// constructor
-//------------------------------------------------------------------------------
-MysqlConnFactory::MysqlConnFactory(const std::string& host, 
-                                   const std::string& user, 
-                                   const std::string& passwd,
-                                   const std::string& db,
-                                   unsigned int port):
-  m_host(host), m_user(user), m_passwd(passwd), m_db(db), m_port(port) {
-}
-
-//------------------------------------------------------------------------------
-// destructor
-//------------------------------------------------------------------------------
-MysqlConnFactory::~MysqlConnFactory() {
-}
-
-//------------------------------------------------------------------------------
-// create
-//------------------------------------------------------------------------------
-std::unique_ptr<ConnWrapper> MysqlConnFactory::create() {
-  try {
-    return cta::make_unique<MysqlConn>(m_host, m_user, m_passwd, m_db, m_port);
-  } catch(exception::Exception &ex) {
-    throw exception::Exception(std::string(__FUNCTION__) + " failed: " + ex.getMessage().str());
-  }
-}
-
-} // namespace wrapper
-} // namespace rdbms
-} // namespace cta
diff --git a/rdbms/wrapper/MysqlConnFactory.hpp b/rdbms/wrapper/MysqlConnFactory.hpp
deleted file mode 100644
index aba8fa6912f0fd59d8d5577e63043deb8747b8f9..0000000000000000000000000000000000000000
--- a/rdbms/wrapper/MysqlConnFactory.hpp
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * @project        The CERN Tape Archive (CTA)
- * @copyright      Copyright(C) 2015-2021 CERN
- * @license        This program is free software: you can redistribute it and/or modify
- *                 it under the terms of the GNU General Public License as published by
- *                 the Free Software Foundation, either version 3 of the License, or
- *                 (at your option) any later version.
- *
- *                 This program is distributed in the hope that it will be useful,
- *                 but WITHOUT ANY WARRANTY; without even the implied warranty of
- *                 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *                 GNU General Public License for more details.
- *
- *                 You should have received a copy of the GNU General Public License
- *                 along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include "rdbms/wrapper/ConnFactory.hpp"
-
-namespace cta {
-namespace rdbms {
-namespace wrapper {
-
-/**
- * A concrete factory of Conn objects.
- */
-class MysqlConnFactory: public ConnFactory {
-public:
-
-  /**
-   * Constructor.
-   *
-   * @param host The host name.
-   * @param user The user name.
-   * @param passwd The password.
-   * @param db The database name.
-   * @param port The port number.
-   *
-   */
-  MysqlConnFactory(const std::string& host, 
-                   const std::string& user, 
-                   const std::string& passwd,
-                   const std::string& db,
-                   unsigned int port);
-
-  /**
-   * Destructor.
-   */
-  ~MysqlConnFactory() override;
-
-  /**
-   * Returns a newly created database connection.
-   *
-   * @return A newly created database connection.
-   */
-  std::unique_ptr<ConnWrapper> create() override;
-
-private:
-
-  /**
-   * The host name, user name, password, database name and port number
-   */
-  std::string m_host;
-  std::string m_user;
-  std::string m_passwd;
-  std::string m_db;
-  unsigned int m_port;
-
-}; // class MysqlConnFactory
-
-} // namespace wrapper
-} // namespace rdbms
-} // namespace cta
diff --git a/rdbms/wrapper/MysqlConnTest.cpp b/rdbms/wrapper/MysqlConnTest.cpp
deleted file mode 100644
index 58df957e2b478022e304bbcc613583e5acb998e7..0000000000000000000000000000000000000000
--- a/rdbms/wrapper/MysqlConnTest.cpp
+++ /dev/null
@@ -1,598 +0,0 @@
-/*
- * @project        The CERN Tape Archive (CTA)
- * @copyright      Copyright(C) 2015-2021 CERN
- * @license        This program is free software: you can redistribute it and/or modify
- *                 it under the terms of the GNU General Public License as published by
- *                 the Free Software Foundation, either version 3 of the License, or
- *                 (at your option) any later version.
- *
- *                 This program is distributed in the hope that it will be useful,
- *                 but WITHOUT ANY WARRANTY; without even the implied warranty of
- *                 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *                 GNU General Public License for more details.
- *
- *                 You should have received a copy of the GNU General Public License
- *                 along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "common/exception/DatabaseConstraintError.hpp"
-#include "common/exception/DatabasePrimaryKeyError.hpp"
-
-#include "rdbms/Login.hpp"
-
-#include "rdbms/wrapper/MysqlConn.hpp"
-#include "rdbms/wrapper/MysqlConnFactory.hpp"
-#include "rdbms/wrapper/MysqlStmt.hpp"
-
-#include "rdbms/wrapper/ConnFactoryFactory.hpp"
-
-#include <gtest/gtest.h>
-#include <memory>
-#include <algorithm>
-
-namespace unitTests {
-
-/**
- *  To enable the test case, just set environment variable GTEST_FILTER 
- *  and GTEST_ALSO_RUN_DISABLED_TESTS
- *
- * $ export GTEST_ALSO_RUN_DISABLED_TESTS=1
- * $ export GTEST_FILTER=*Mysql* 
- * $ ./tests/cta-unitTests
- */
-
-class DISABLED_cta_rdbms_wrapper_MysqlConnTest : public ::testing::Test {
-protected:
-
-  virtual void SetUp() {
-  }
-
-  virtual void TearDown() {
-  }
-};
-
-TEST_F(DISABLED_cta_rdbms_wrapper_MysqlConnTest, create_conn_success) {
-  using namespace cta;
-  using namespace cta::rdbms::wrapper;
-
-  MysqlConn conn("localhost", "cta", "ctatest", "testdb", 3306);
-  ASSERT_TRUE(conn.isOpen());
-
-}
-
-TEST_F(DISABLED_cta_rdbms_wrapper_MysqlConnTest, create_conn_failed_wrong_passwd) {
-  using namespace cta;
-  using namespace cta::rdbms::wrapper;
-
-  std::unique_ptr<MysqlConn> conn;
-  ASSERT_THROW(conn.reset(new MysqlConn("localhost", "cta", "wrongctatest", "testdb", 3306)), exception::Exception);
-  ASSERT_EQ(conn, nullptr);
-}
-
-TEST_F(DISABLED_cta_rdbms_wrapper_MysqlConnTest, create_connfactory_success) {
-  using namespace cta;
-  using namespace cta::rdbms::wrapper;
-
-  MysqlConnFactory conn_factory("localhost", "cta", "ctatest", "testdb", 3306);
-  std::unique_ptr<Conn> conn;
-
-  conn = conn_factory.create();
-  ASSERT_TRUE(conn->isOpen());
-
-}
-
-TEST_F(DISABLED_cta_rdbms_wrapper_MysqlConnTest, create_connfactory_failed_wrong_passwd) {
-  using namespace cta;
-  using namespace cta::rdbms::wrapper;
-
-  MysqlConnFactory conn_factory("localhost", "cta", "wrongctatest", "testdb", 3306);
-  std::unique_ptr<Conn> conn;
-
-  ASSERT_THROW(conn = conn_factory.create(), exception::Exception);
-  ASSERT_EQ(conn, nullptr);
-
-}
-
-TEST_F(DISABLED_cta_rdbms_wrapper_MysqlConnTest, create_connfactoryfactory_success) {
-  using namespace cta;
-  using namespace cta::rdbms;
-  using namespace cta::rdbms::wrapper;
-
-  const std::string connectionString = "mysql://cta:ctatest@localhost:3306/testdb";
-  const auto login = Login::parseString(connectionString);
-
-  std::unique_ptr<ConnFactory> conn_factory;
-  conn_factory = ConnFactoryFactory::create(login);
-
-  std::unique_ptr<Conn> conn;
-  conn = conn_factory->create();
-
-  ASSERT_TRUE(conn->isOpen());
-
-}
-
-
-TEST_F(DISABLED_cta_rdbms_wrapper_MysqlConnTest, create_stmt) {
-  using namespace cta;
-  using namespace cta::rdbms;
-  using namespace cta::rdbms::wrapper;
-
-  MysqlConnFactory conn_factory("localhost", "cta", "ctatest", "testdb", 3306);
-  std::unique_ptr<Conn> conn;
-
-  conn = conn_factory.create();
-  ASSERT_TRUE(conn->isOpen());
-
-  std::unique_ptr<Stmt> stmt;
-
-  // Example:
-  // https://dev.mysql.com/doc/refman/5.6/en/mysql-stmt-execute.html
-  const std::string sql_drop_table = "DROP TABLE IF EXISTS test_table";
-  stmt = conn->createStmt(sql_drop_table);
-  stmt->executeNonQuery(AutocommitMode::AUTOCOMMIT_ON);
-  conn->commit();
-
-  const std::string sql_create_table = "CREATE TABLE test_table(col1 INT, col2 VARCHAR(40), col3 SMALLINT)";
-  stmt = conn->createStmt(sql_create_table);
-  stmt->executeNonQuery(AutocommitMode::AUTOCOMMIT_ON);
-  conn->commit();
-
-  const std::string sql_str = "insert into test_table(col1,col2,col3) values(?,?,?)";
-  stmt = conn->createStmt(sql_str);
-
-  // stmt->executeNonQuery();
-  conn->commit();
-}
-
-TEST_F(DISABLED_cta_rdbms_wrapper_MysqlConnTest, create_stmt_named_binding) {
-  using namespace cta;
-  using namespace cta::rdbms;
-  using namespace cta::rdbms::wrapper;
-
-  MysqlConnFactory conn_factory("localhost", "cta", "ctatest", "testdb", 3306);
-  std::unique_ptr<Conn> conn;
-
-  conn = conn_factory.create();
-  ASSERT_TRUE(conn->isOpen());
-
-  std::unique_ptr<Stmt> stmt;
-
-  // Example:
-  // https://dev.mysql.com/doc/refman/5.6/en/mysql-stmt-execute.html
-  const std::string sql_drop_table = "DROP TABLE IF EXISTS test_table";
-  stmt = conn->createStmt(sql_drop_table);
-  stmt->executeNonQuery(AutocommitMode::AUTOCOMMIT_ON);
-  conn->commit();
-
-  const std::string sql_create_table = "CREATE TABLE test_table(col1 INT, col2 VARCHAR(40), col3 SMALLINT)";
-  stmt = conn->createStmt(sql_create_table);
-  stmt->executeNonQuery(AutocommitMode::AUTOCOMMIT_ON);
-  conn->commit();
-
-  const std::string sql_str = "insert into test_table(col1,col2,col3) values(:col1,:col2,:col3)";
-  const std::string sql_real = "insert into test_table(col1,col2,col3) values(?,?,?)";
-  const std::string sql_transit = Mysql::translate_it(sql_str);
-  ASSERT_EQ(sql_real, sql_transit);
-
-  stmt = conn->createStmt(sql_str);
-  stmt->bindUint64(":col1", 1);
-  stmt->bindString(":col2", "2");
-  stmt->bindUint64(":col3", 3);
-  stmt->executeNonQuery(AutocommitMode::AUTOCOMMIT_OFF);
-
-  stmt->bindUint64(":col1", 1);
-  stmt->bindString(":col2", "The most popular Open Source database");
-  stmt->bindUint64(":col3", 3);
-  stmt->executeNonQuery(AutocommitMode::AUTOCOMMIT_OFF);
-
-
-  stmt->bindString(":col2", "The most popular Open Source database again");
-  stmt->bindUint64(":col3", 33);
-  stmt->bindUint64(":col1", 11);
-  stmt->executeNonQuery(AutocommitMode::AUTOCOMMIT_OFF);
-
-  // try to test with null
-  stmt->bindUint64(":col1", 1);
-  stmt->bindString(":col2", optional<std::string>());
-  // stmt->bindString(":col2", nullopt);
-  stmt->bindUint64(":col3", 3);
-  stmt->executeNonQuery(AutocommitMode::AUTOCOMMIT_OFF);
-
-  stmt->bindUint64(":col1", nullopt);
-  stmt->bindString(":col2", optional<std::string>());
-  // stmt->bindString(":col2", nullopt);
-  stmt->bindUint64(":col3", 3);
-  stmt->executeNonQuery(AutocommitMode::AUTOCOMMIT_OFF);
-
-
-  conn->commit();
-
-  // Start Query
-  const std::string sql_query = "select col1,col2 from test_table";
-  stmt = conn->createStmt(sql_query);
-
-  std::unique_ptr<Rset> rset = stmt->executeQuery(AutocommitMode::AUTOCOMMIT_OFF);
-  ASSERT_NE(rset, nullptr);
-
-  // retrieve the first row
-  ASSERT_TRUE(rset->next());
-
-  const auto col1 = rset->columnOptionalUint64("col1");
-  const auto col2 = rset->columnOptionalString("col2");
-
-  ASSERT_EQ(col1.value(), 1);
-  ASSERT_EQ(col2.value(), "2");
-
-  // retrieve the second row
-  ASSERT_TRUE(rset->next());
-
-  const auto col1_row2 = rset->columnOptionalUint64("col1");
-  const auto col2_row2 = rset->columnOptionalString("col2");
-
-  ASSERT_EQ(col1_row2.value(), 1);
-  ASSERT_EQ(col2_row2.value(), "The most popular Open Source database");
-
-  // retrieve the third row (truncated)
-  ASSERT_TRUE(rset->next());
-
-  const auto col1_row3 = rset->columnOptionalUint64("col1");
-  const auto col2_row3 = rset->columnOptionalString("col2");
-
-  ASSERT_EQ(col1_row3.value(), 11);
-  ASSERT_EQ(col2_row3.value(), "The most popular Open Source database ag");
-
-  // retrieve the forth row (null)
-  ASSERT_TRUE(rset->next());
-
-  const auto col1_row4 = rset->columnOptionalUint64("col1");
-  const auto col2_row4 = rset->columnOptionalString("col2");
-
-  ASSERT_EQ(col1_row4.value(), 1);
-  ASSERT_TRUE(rset->columnIsNull("col2"));
-
-  // retrieve the fifth row (null)
-  ASSERT_TRUE(rset->next());
-
-  const auto col1_row5 = rset->columnOptionalUint64("col1");
-  const auto col2_row5 = rset->columnOptionalString("col2");
-
-  ASSERT_TRUE(rset->columnIsNull("col1"));
-  ASSERT_TRUE(rset->columnIsNull("col2"));
-
-
-  // end
-  ASSERT_FALSE(rset->next());
-
-  std::list<std::string> tables = conn->getTableNames();
-  std::string table_name = "test_table";
-  ASSERT_TRUE(std::find(std::begin(tables), 
-                        std::end(tables), 
-                        table_name) != tables.end());
-
-}
-
-
-TEST_F(DISABLED_cta_rdbms_wrapper_MysqlConnTest, drop_table_not_exists) {
-  using namespace cta;
-  using namespace cta::rdbms;
-  using namespace cta::rdbms::wrapper;
-
-
-  MysqlConnFactory conn_factory("localhost", "cta", "ctatest", "testdb", 3306);
-  std::unique_ptr<Conn> conn;
-
-  conn = conn_factory.create();
-  ASSERT_TRUE(conn->isOpen());
-
-  std::unique_ptr<Stmt> stmt;
-
-  const std::string sql_drop_table = "DROP TABLE test_table_not_exist";
-  stmt = conn->createStmt(sql_drop_table);
-  ASSERT_THROW(stmt->executeNonQuery(AutocommitMode::AUTOCOMMIT_ON), exception::Exception);
-
-}
-
-TEST_F(DISABLED_cta_rdbms_wrapper_MysqlConnTest, delete_stmt) {
-  using namespace cta;
-  using namespace cta::rdbms;
-  using namespace cta::rdbms::wrapper;
-
-
-  MysqlConnFactory conn_factory("localhost", "cta", "ctatest", "testdb", 3306);
-  std::unique_ptr<Conn> conn;
-
-  conn = conn_factory.create();
-  ASSERT_TRUE(conn->isOpen());
-
-  std::unique_ptr<Stmt> stmt;
-
-  const std::string sql_delete = "delete from test_table where col1=42";
-  stmt = conn->createStmt(sql_delete);
-  stmt->executeNonQuery(AutocommitMode::AUTOCOMMIT_ON);
-
-}
-
-TEST_F(DISABLED_cta_rdbms_wrapper_MysqlConnTest, delete_and_insert) {
-  using namespace cta;
-  using namespace cta::rdbms;
-  using namespace cta::rdbms::wrapper;
-
-
-  MysqlConnFactory conn_factory("localhost", "cta", "ctatest", "testdb", 3306);
-  std::unique_ptr<Conn> conn;
-
-  conn = conn_factory.create();
-  ASSERT_TRUE(conn->isOpen());
-
-  std::unique_ptr<Stmt> stmt;
-
-  const std::string sql_delete = "delete from ADMIN_USER where ADMIN_USER_NAME = :ADMIN_USER_NAME";
-  stmt = conn->createStmt(sql_delete);
-  stmt->bindString(":ADMIN_USER_NAME", "admin_user_name");
-  stmt->executeNonQuery(AutocommitMode::AUTOCOMMIT_ON);
-
-  const std::string sql_insert = "INSERT INTO ADMIN_USER(ADMIN_USER_NAME,USER_COMMENT,CREATION_LOG_USER_NAME,CREATION_LOG_HOST_NAME,CREATION_LOG_TIME,LAST_UPDATE_USER_NAME,LAST_UPDATE_HOST_NAME,LAST_UPDATE_TIME)VALUES(:ADMIN_USER_NAME,:USER_COMMENT,:CREATION_LOG_USER_NAME,:CREATION_LOG_HOST_NAME,:CREATION_LOG_TIME,:LAST_UPDATE_USER_NAME,:LAST_UPDATE_HOST_NAME,:LAST_UPDATE_TIME)";
-  stmt = conn->createStmt(sql_insert);
-
-  const uint64_t now = time(nullptr);
-
-
-  stmt->bindString(":ADMIN_USER_NAME", "admin_user_name");
-
-  stmt->bindString(":USER_COMMENT", "comment");
-
-  stmt->bindString(":CREATION_LOG_USER_NAME", "local_admin_user");
-  stmt->bindString(":CREATION_LOG_HOST_NAME", "local_admin_host");
-  stmt->bindUint64(":CREATION_LOG_TIME", now);
-
-  stmt->bindString(":LAST_UPDATE_USER_NAME", "local_admin_user");
-  stmt->bindString(":LAST_UPDATE_HOST_NAME", "local_admin_host");
-  stmt->bindUint64(":LAST_UPDATE_TIME", now);
-
-  stmt->executeNonQuery(AutocommitMode::AUTOCOMMIT_ON);
-
-
-  const std::string sql_select = "SELECT ADMIN_USER_NAME AS ADMIN_USER_NAME FROM ADMIN_USER WHERE ADMIN_USER_NAME = :ADMIN_USER_NAME";
-  stmt = conn->createStmt(sql_select);
-
-  stmt->bindString(":ADMIN_USER_NAME", "admin_user_name");
-
-  std::unique_ptr<Rset> rset = stmt->executeQuery(AutocommitMode::AUTOCOMMIT_OFF);
-
-  while (rset->next()) {
-
-    auto col1 = rset->columnOptionalString("ADMIN_USER_NAME");
-    ASSERT_EQ(col1.value(), "admin_user_name");
-
-  }
-
-}
-
-TEST_F(DISABLED_cta_rdbms_wrapper_MysqlConnTest, counter) {
-  // https://dev.mysql.com/doc/refman/5.5/en/information-functions.html#function_last-insert-id
-  /**
-   * mysql> CREATE TABLE sequence (id INT NOT NULL);
-   * mysql> INSERT INTO sequence VALUES (0);
-   *
-   * mysql> UPDATE sequence SET id=LAST_INSERT_ID(id+1);
-   * mysql> SELECT LAST_INSERT_ID();
-   *
-   */
-
-  using namespace cta;
-  using namespace cta::rdbms;
-  using namespace cta::rdbms::wrapper;
-
-  MysqlConnFactory conn_factory("localhost", "cta", "ctatest", "testdb", 3306);
-  std::unique_ptr<Conn> conn;
-
-  conn = conn_factory.create();
-  ASSERT_TRUE(conn->isOpen());
-
-  std::unique_ptr<Stmt> stmt;
-
-  const std::string sql_drop_table = "DROP TABLE IF EXISTS sequence";
-  stmt = conn->createStmt(sql_drop_table);
-  stmt->executeNonQuery(AutocommitMode::AUTOCOMMIT_ON);
-  conn->commit();
-
-  const std::string sql_create_table = "CREATE TABLE sequence (id INT NOT NULL)";
-  stmt = conn->createStmt(sql_create_table);
-  stmt->executeNonQuery(AutocommitMode::AUTOCOMMIT_ON);
-  conn->commit();
-
-  const std::string sql_init_table = "INSERT INTO sequence VALUES (0)";
-  stmt = conn->createStmt(sql_init_table);
-  stmt->executeNonQuery(AutocommitMode::AUTOCOMMIT_ON);
-  conn->commit();
-  
-  // Then, try to insert values
-  int cnt = 100;
-  for (int i = 0; i < cnt; ++i) {
-
-    const std::string sql_update_table = "UPDATE sequence SET id=LAST_INSERT_ID(id+1)";
-    stmt = conn->createStmt(sql_update_table);
-    stmt->executeNonQuery(AutocommitMode::AUTOCOMMIT_ON);
-    conn->commit();
-
-    // now, get the id
-    const std::string sql_query = "SELECT LAST_INSERT_ID() as id";
-
-    // const std::string sql_query = "SELECT 123 as id";
-
-    stmt = conn->createStmt(sql_query);
-    std::unique_ptr<Rset> rset = stmt->executeQuery(AutocommitMode::AUTOCOMMIT_OFF);
-    while(rset->next()) {
-      const auto id = rset->columnOptionalUint64("id");
-      ASSERT_EQ(id.value(), i+1);
-      // std::cout << id.value() << std::endl;
-    }
-    // conn->commit();
-
-
-  }
-}
-
-TEST_F(DISABLED_cta_rdbms_wrapper_MysqlConnTest, get_null_uint64) {
-  using namespace cta;
-  using namespace cta::rdbms;
-  using namespace cta::rdbms::wrapper;
-
-  MysqlConnFactory conn_factory("localhost", "cta", "ctatest", "testdb", 3306);
-  std::unique_ptr<Conn> conn;
-
-  conn = conn_factory.create();
-  ASSERT_TRUE(conn->isOpen());
-
-  std::unique_ptr<Stmt> stmt;
-
-  const std::string sql_drop_table = "DROP TABLE IF EXISTS testtb_null_uint64";
-  stmt = conn->createStmt(sql_drop_table);
-  stmt->executeNonQuery(AutocommitMode::AUTOCOMMIT_ON);
-  conn->commit();
-
-  const std::string sql_create_table = "CREATE TABLE testtb_null_uint64 (id INT)";
-  stmt = conn->createStmt(sql_create_table);
-  stmt->executeNonQuery(AutocommitMode::AUTOCOMMIT_ON);
-  conn->commit();
-
-  const std::string sql_init_table = "INSERT INTO testtb_null_uint64 VALUES (NULL)";
-  stmt = conn->createStmt(sql_init_table);
-  stmt->executeNonQuery(AutocommitMode::AUTOCOMMIT_ON);
-  conn->commit();
-
-  const std::string sql_init_table_0 = "INSERT INTO testtb_null_uint64 VALUES (0)";
-  stmt = conn->createStmt(sql_init_table_0);
-  stmt->executeNonQuery(AutocommitMode::AUTOCOMMIT_ON);
-  conn->commit();
-
-  const std::string sql_init_table_1 = "INSERT INTO testtb_null_uint64 VALUES (1)";
-  stmt = conn->createStmt(sql_init_table_1);
-  stmt->executeNonQuery(AutocommitMode::AUTOCOMMIT_ON);
-  conn->commit();
-
-
-  const std::string sql_query = "SELECT id as id FROM testtb_null_uint64";
-
-  // const std::string sql_query = "SELECT 123 as id";
-
-  stmt = conn->createStmt(sql_query);
-  std::unique_ptr<Rset> rset = stmt->executeQuery(AutocommitMode::AUTOCOMMIT_OFF);
-  ASSERT_TRUE(rset->next());
-  const auto id_null = rset->columnOptionalUint64("id");
-  ASSERT_FALSE(id_null);
-  
-  ASSERT_TRUE(rset->next());
-  const auto id_0 = rset->columnOptionalUint64("id");
-  ASSERT_EQ(id_0.value(), 0);
-
-  ASSERT_TRUE(rset->next());
-  const auto id_1 = rset->columnOptionalUint64("id");
-  ASSERT_EQ(id_1.value(), 1);
-
-}
-
-
-TEST_F(DISABLED_cta_rdbms_wrapper_MysqlConnTest, simulate_check_constraint) {
-  /**
-   * http://www.mysqltutorial.org/mysql-check-constraint/
-   */
-
-  using namespace cta;
-  using namespace cta::rdbms;
-  using namespace cta::rdbms::wrapper;
-
-  MysqlConnFactory conn_factory("localhost", "cta", "ctatest", "testdb", 3306);
-  std::unique_ptr<Conn> conn;
-
-  conn = conn_factory.create();
-  ASSERT_TRUE(conn->isOpen());
-
-  std::unique_ptr<Stmt> stmt;
-
-  const std::string sql_drop_table = "DROP TABLE IF EXISTS testtb_parts";
-  stmt = conn->createStmt(sql_drop_table);
-  stmt->executeNonQuery(AutocommitMode::AUTOCOMMIT_ON);
-  conn->commit();
-
-  const std::string sql_drop_trigger = "DROP TRIGGER IF EXISTS parts_before_insert";
-  dynamic_cast<MysqlConn*>(conn.get())->execute(sql_drop_trigger);
-  
-  const std::string sql_create_table = "CREATE TABLE testtb_parts ("\
-    "part_no VARCHAR(18) PRIMARY KEY,"\
-    "description VARCHAR(40),"\
-    "cost DECIMAL(10 , 2 ) NOT NULL,"
-    "price DECIMAL(10,2) NOT NULL"\
-    ")";
-  stmt = conn->createStmt(sql_create_table);
-  stmt->executeNonQuery(AutocommitMode::AUTOCOMMIT_ON);
-  conn->commit();
-
-  const std::string sql_create_trigger = ""
-    "CREATE TRIGGER `parts_before_insert` BEFORE INSERT ON `testtb_parts` "
-    "FOR EACH ROW "
-    "BEGIN "
-    "  IF new.cost < 0 THEN "
-    "    SIGNAL SQLSTATE '45000' "
-    "      SET MESSAGE_TEXT = 'check constraint on parts.cost failed'; "
-    "  END IF; "
-    "END"
-    "";
-
-  dynamic_cast<MysqlConn*>(conn.get())->execute(sql_create_trigger);
-
-  const std::string sql_init_table_0 = "INSERT INTO testtb_parts VALUES ('A-000','Cooler',100,120)";
-  stmt = conn->createStmt(sql_init_table_0);
-  stmt->executeNonQuery(AutocommitMode::AUTOCOMMIT_ON);
-  conn->commit();
-
-  const std::string sql_init_table_1 = "INSERT INTO testtb_parts VALUES ('A-001','Cooler',-100,120)";
-  stmt = conn->createStmt(sql_init_table_1);
-  ASSERT_THROW(stmt->executeNonQuery(AutocommitMode::AUTOCOMMIT_ON), exception::Exception);
-  conn->commit();
-
-  const std::string sql_init_table_2 = "INSERT INTO testtb_parts VALUES ('A-002','Cooler',200,220)";
-  stmt = conn->createStmt(sql_init_table_2);
-  stmt->executeNonQuery(AutocommitMode::AUTOCOMMIT_ON);
-  conn->commit();
-
-}
-
-TEST_F(DISABLED_cta_rdbms_wrapper_MysqlConnTest, create_trigger_failed_using_prepared_statement_with_fallback) {
-  /**
-   * http://www.mysqltutorial.org/mysql-check-constraint/
-   */
-
-  using namespace cta;
-  using namespace cta::rdbms;
-  using namespace cta::rdbms::wrapper;
-
-  MysqlConnFactory conn_factory("localhost", "cta", "ctatest", "testdb", 3306);
-  std::unique_ptr<Conn> conn;
-
-  conn = conn_factory.create();
-  ASSERT_TRUE(conn->isOpen());
-
-  std::unique_ptr<Stmt> stmt;
-
-  const std::string sql_drop_trigger = "DROP TRIGGER IF EXISTS parts_before_insert";
-  stmt = conn->createStmt(sql_drop_trigger);
-  stmt->executeNonQuery(AutocommitMode::AUTOCOMMIT_ON);
-  conn->commit();
-
-  const std::string sql_create_trigger = ""
-    "CREATE TRIGGER `parts_before_insert` BEFORE INSERT ON `testtb_parts` "
-    "FOR EACH ROW "
-    "BEGIN "
-    "  IF new.cost < 0 THEN "
-    "    SIGNAL SQLSTATE '45000' "
-    "      SET MESSAGE_TEXT = 'check constraint on parts.cost failed'; "
-    "  END IF; "
-    "END"
-    "";
-  stmt = conn->createStmt(sql_create_trigger);
-  stmt->executeNonQuery(AutocommitMode::AUTOCOMMIT_ON);
-  conn->commit();
-}
-
-} // namespace unitTests
diff --git a/rdbms/wrapper/MysqlRset.cpp b/rdbms/wrapper/MysqlRset.cpp
deleted file mode 100644
index 7c8fb29d87073c95a7b0ac47a3231c7b64840cb0..0000000000000000000000000000000000000000
--- a/rdbms/wrapper/MysqlRset.cpp
+++ /dev/null
@@ -1,218 +0,0 @@
-/*
- * @project        The CERN Tape Archive (CTA)
- * @copyright      Copyright(C) 2015-2021 CERN
- * @license        This program is free software: you can redistribute it and/or modify
- *                 it under the terms of the GNU General Public License as published by
- *                 the Free Software Foundation, either version 3 of the License, or
- *                 (at your option) any later version.
- *
- *                 This program is distributed in the hope that it will be useful,
- *                 but WITHOUT ANY WARRANTY; without even the implied warranty of
- *                 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *                 GNU General Public License for more details.
- *
- *                 You should have received a copy of the GNU General Public License
- *                 along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "common/exception/Exception.hpp"
-#include "common/exception/Errnum.hpp"
-#include "rdbms/ConstraintError.hpp"
-#include "rdbms/NullDbValue.hpp"
-#include "rdbms/PrimaryKeyError.hpp"
-#include "rdbms/wrapper/Mysql.hpp"
-#include "rdbms/wrapper/MysqlRset.hpp"
-#include "rdbms/wrapper/MysqlStmt.hpp"
-
-#include <iostream>
-#include <cstring>
-#include <sstream>
-#include <stdexcept>
-#include <string>
-
-#include <mysql.h>
-
-namespace cta {
-namespace rdbms {
-namespace wrapper {
-
-//------------------------------------------------------------------------------
-// constructor
-//------------------------------------------------------------------------------
-MysqlRset::MysqlRset(MysqlStmt &stmt, Mysql::FieldsInfo &fields)
-  : m_stmt(stmt), m_fields(fields) {
-
-}
-
-//------------------------------------------------------------------------------
-// destructor.
-//------------------------------------------------------------------------------
-MysqlRset::~MysqlRset() {
-
-}
-
-//------------------------------------------------------------------------------
-// getSql
-//------------------------------------------------------------------------------
-const std::string &MysqlRset::getSql() const {
-  return m_stmt.getSql();
-}
-
-//------------------------------------------------------------------------------
-// next
-//------------------------------------------------------------------------------
-bool MysqlRset::next() {
-
-  int rc = mysql_stmt_fetch(m_stmt.get());
-  if (rc == MYSQL_NO_DATA) {
-    return false;
-  } else if (rc == MYSQL_DATA_TRUNCATED) {
-    throw exception::Exception(std::string(__FUNCTION__) + " data truncated.");
-  } else if (rc == 1) {
-    std::string msg = mysql_stmt_error(m_stmt.get());
-    throw exception::Exception(std::string(__FUNCTION__) + " " + msg);
-  } else if (rc == 0) {
-    // it is ok
-  } else {
-    throw exception::Exception(std::string(__FUNCTION__) + " unknown rc: " + std::to_string(rc));
-  }
-
-  return true;
-}
-
-//------------------------------------------------------------------------------
-// columnIsNull
-//------------------------------------------------------------------------------
-bool MysqlRset::columnIsNull(const std::string &colName) const {
-  if (not m_fields.exists(colName)) {
-    throw exception::Exception(std::string(__FUNCTION__) + " column does not exist: " + colName);
-    return false;
-  }
-  
-  Mysql::Placeholder* holder = m_stmt.columnHolder(colName);
-
-  return *holder->get_is_null();
-}
-
-std::string MysqlRset::columnBlob(const std::string &colName) const {
-  auto blob = columnOptionalString(colName);
-  return blob ? *blob : std::string();
-}
-
-//------------------------------------------------------------------------------
-// columnOptionalString
-//------------------------------------------------------------------------------
-optional<std::string> MysqlRset::columnOptionalString(const std::string &colName) const {
-  if (not m_fields.exists(colName)) {
-    throw exception::Exception(std::string(__FUNCTION__) + " column does not exist: " + colName);
-    return nullopt;
-  }
-
-  Mysql::Placeholder* holder = m_stmt.columnHolder(colName); // m_holders[idx];
-
-  // the value can be null
-  if (holder->get_is_null() and *holder->get_is_null()) {
-    return nullopt;
-  }
-
-  return optional<std::string>(holder->get_string());
-}
-
-//------------------------------------------------------------------------------
-// columnOptionalUint8
-//------------------------------------------------------------------------------
-optional<uint8_t> MysqlRset::columnOptionalUint8(const std::string &colName) const {
-  if (not m_fields.exists(colName)) {
-    throw exception::Exception(std::string(__FUNCTION__) + " column does not exist: " + colName);
-    return nullopt;
-  }
-
-  Mysql::Placeholder* holder = m_stmt.columnHolder(colName); // m_holders[idx];
-
-  // the value can be null
-  if (holder->get_is_null() and *holder->get_is_null()) {
-    return nullopt;
-  }
-
-  return optional<uint8_t>(holder->get_uint8());
-}
-
-//------------------------------------------------------------------------------
-// columnOptionalUint16
-//------------------------------------------------------------------------------
-optional<uint16_t> MysqlRset::columnOptionalUint16(const std::string &colName) const {
-  if (not m_fields.exists(colName)) {
-    throw exception::Exception(std::string(__FUNCTION__) + " column does not exist: " + colName);
-    return nullopt;
-  }
-
-  Mysql::Placeholder* holder = m_stmt.columnHolder(colName); // m_holders[idx];
-
-  // the value can be null
-  if (holder->get_is_null() and *holder->get_is_null()) {
-    return nullopt;
-  }
-
-  return optional<uint16_t>(holder->get_uint16());
-}
-
-//------------------------------------------------------------------------------
-// columnOptionalUint32
-//------------------------------------------------------------------------------
-optional<uint32_t> MysqlRset::columnOptionalUint32(const std::string &colName) const {
-  if (not m_fields.exists(colName)) {
-    throw exception::Exception(std::string(__FUNCTION__) + " column does not exist: " + colName);
-    return nullopt;
-  }
-
-  Mysql::Placeholder* holder = m_stmt.columnHolder(colName); // m_holders[idx];
-
-  // the value can be null
-  if (holder->get_is_null() and *holder->get_is_null()) {
-    return nullopt;
-  }
-
-  return optional<uint32_t>(holder->get_uint32());
-}
-
-//------------------------------------------------------------------------------
-// columnOptionalUint64
-//------------------------------------------------------------------------------
-optional<uint64_t> MysqlRset::columnOptionalUint64(const std::string &colName) const {
-  if (not m_fields.exists(colName)) {
-    throw exception::Exception(std::string(__FUNCTION__) + " column does not exist: " + colName);
-    return nullopt;
-  }
-
-  Mysql::Placeholder* holder = m_stmt.columnHolder(colName); // m_holders[idx];
-
-  // the value can be null
-  if (holder->get_is_null() and *holder->get_is_null()) {
-    return nullopt;
-  }
-
-  return optional<uint64_t>(holder->get_uint64());
-}
-
-//------------------------------------------------------------------------------
-// columnOptionalDouble
-//------------------------------------------------------------------------------
-optional<double> MysqlRset::columnOptionalDouble(const std::string &colName) const {
-  if (not m_fields.exists(colName)) {
-    throw exception::Exception(std::string(__FUNCTION__) + " column does not exist: " + colName);
-    return nullopt;
-  }
-
-  Mysql::Placeholder* holder = m_stmt.columnHolder(colName); // m_holders[idx];
-
-  // the value can be null
-  if (holder->get_is_null() and *holder->get_is_null()) {
-    return nullopt;
-  }
-
-  return optional<double>(holder->get_double());
-}
-
-} // namespace wrapper
-} // namespace rdbms
-} // namespace cta
diff --git a/rdbms/wrapper/MysqlRset.hpp b/rdbms/wrapper/MysqlRset.hpp
deleted file mode 100644
index a43f61fedd3e9e58aa758f2d8bd79d5e95f57207..0000000000000000000000000000000000000000
--- a/rdbms/wrapper/MysqlRset.hpp
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * @project        The CERN Tape Archive (CTA)
- * @copyright      Copyright(C) 2015-2021 CERN
- * @license        This program is free software: you can redistribute it and/or modify
- *                 it under the terms of the GNU General Public License as published by
- *                 the Free Software Foundation, either version 3 of the License, or
- *                 (at your option) any later version.
- *
- *                 This program is distributed in the hope that it will be useful,
- *                 but WITHOUT ANY WARRANTY; without even the implied warranty of
- *                 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *                 GNU General Public License for more details.
- *
- *                 You should have received a copy of the GNU General Public License
- *                 along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include "rdbms/wrapper/ColumnNameToIdxAndType.hpp"
-#include "rdbms/wrapper/RsetWrapper.hpp"
-
-#include <memory>
-#include <stdint.h>
-
-#include "rdbms/wrapper/Mysql.hpp"
-
-namespace cta {
-namespace rdbms {
-namespace wrapper {
-
-/**
- * Forward declaration.
- */
-class MysqlStmt;
-
-/**
- * The result set of an sql query.
- */
-class MysqlRset: public RsetWrapper {
-public:
-
-  /**
-   * Constructor.
-   *
-   * @param stmt The prepared statement.
-   */
-  MysqlRset(MysqlStmt &stmt, Mysql::FieldsInfo &fields);
-
-  /**
-   * Destructor.
-   */
-  ~MysqlRset() override;
-
-  /**
-   * Returns the SQL statement.
-   *
-   * @return The SQL statement.
-   */
-  const std::string &getSql() const override;
-
-  /**
-   * Attempts to get the next row of the result set.
-   *
-   * @return True if a row has been retrieved else false if there are no more
-   * rows in the result set.
-   */
-  bool next() override;
-
-  /**
-   * Returns true if the specified column contains a null value.
-   *
-   * @param colName The name of the column.
-   * @return True if the specified column contains a null value.
-   */
-  bool columnIsNull(const std::string &colName) const override;
-
-  /**
-   * Returns the value of the specified column as a binary string (byte array).
-   *
-   * @param colName The name of the column.
-   * @return The string value of the specified column.
-   */
-  std::string columnBlob(const std::string &colName) const override;
-
-  /**
-   * Returns the value of the specified column as a string.
-   *
-   * This method will return a null column value as an optional with no value.
-   *
-   * @param colName The name of the column.
-   * @return The string value of the specified column.
-   */
-  optional<std::string> columnOptionalString(const std::string &colName) const override;
-
-  /**
-   * Returns the value of the specified column as an integer.
-   *
-   * This method will return a null column value as an optional with no value.
-   *
-   * @param colName The name of the column.
-   * @return The value of the specified column.
-   */
-  optional<uint8_t> columnOptionalUint8(const std::string &colName) const override;
-
-  /**
-   * Returns the value of the specified column as an integer.
-   *
-   * This method will return a null column value as an optional with no value.
-   *
-   * @param colName The name of the column.
-   * @return The value of the specified column.
-   */
-  optional<uint16_t> columnOptionalUint16(const std::string &colName) const override;
-
-  /**
-   * Returns the value of the specified column as an integer.
-   *
-   * This method will return a null column value as an optional with no value.
-   *
-   * @param colName The name of the column.
-   * @return The value of the specified column.
-   */
-  optional<uint32_t> columnOptionalUint32(const std::string &colName) const override;
-
-  /**
-   * Returns the value of the specified column as an integer.
-   *
-   * This method will return a null column value as an optional with no value.
-   *
-   * @param colName The name of the column.
-   * @return The value of the specified column.
-   */
-  optional<uint64_t> columnOptionalUint64(const std::string &colName) const override;
-
-  /**
-   * Returns the value of the specified column as a double.
-   *
-   * This method will return a null column value as an optional with no value.
-   *
-   * @param colName The name of the column.
-   * @return The value of the specified column.
-   */
-  optional<double> columnOptionalDouble(const std::string &colName) const override;
-
-private:
-
-  /**
-   * The prepared statement.
-   */
-  MysqlStmt &m_stmt;
-
-  /**
-   * files info
-   */
-  Mysql::FieldsInfo &m_fields;
-
-}; // class MysqlRset
-
-} // namespace wrapper
-} // namespace rdbms
-} // namespace cta
diff --git a/rdbms/wrapper/MysqlStmt.cpp b/rdbms/wrapper/MysqlStmt.cpp
deleted file mode 100644
index 82aabdd5ae80a36980f9ce9e16c1bae8e205ee2e..0000000000000000000000000000000000000000
--- a/rdbms/wrapper/MysqlStmt.cpp
+++ /dev/null
@@ -1,648 +0,0 @@
-/*
- * @project        The CERN Tape Archive (CTA)
- * @copyright      Copyright(C) 2015-2021 CERN
- * @license        This program is free software: you can redistribute it and/or modify
- *                 it under the terms of the GNU General Public License as published by
- *                 the Free Software Foundation, either version 3 of the License, or
- *                 (at your option) any later version.
- *
- *                 This program is distributed in the hope that it will be useful,
- *                 but WITHOUT ANY WARRANTY; without even the implied warranty of
- *                 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *                 GNU General Public License for more details.
- *
- *                 You should have received a copy of the GNU General Public License
- *                 along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "common/exception/Exception.hpp"
-#include "common/make_unique.hpp"
-#include "common/threading/MutexLocker.hpp"
-
-#include "rdbms/CheckConstraintError.hpp"
-#include "rdbms/PrimaryKeyError.hpp"
-#include "rdbms/wrapper/MysqlConn.hpp"
-#include "rdbms/wrapper/MysqlRset.hpp"
-#include "rdbms/wrapper/MysqlStmt.hpp"
-
-#include <mysql.h>
-#include <mysqld_error.h>
-
-#include <cstring>
-#include <iostream>
-#include <sstream>
-#include <stdexcept>
-#include <stdlib.h>
-#include <string>
-#include <unistd.h>
-
-namespace cta {
-namespace rdbms {
-namespace wrapper {
-
-
-//------------------------------------------------------------------------------
-// constructor
-//------------------------------------------------------------------------------
-MysqlStmt::MysqlStmt(
-  MysqlConn &conn,
-  const std::string &sql):
-  StmtWrapper(sql),
-  m_conn(conn),
-  m_stmt(nullptr), m_param_count(0),
-  m_fields_info(nullptr),
-  m_nbAffectedRows(0) {
-
-  // check connection first
-  if (!m_conn.isOpen()) {
-    throw exception::Exception(std::string(__FUNCTION__) + " check connection failed");
-  }
-
-  m_stmt = mysql_stmt_init(m_conn.m_mysqlConn);
-  if (!m_stmt) {
-    std::string msg = " out of memory when create mysql prepared statement.";
-    throw exception::Exception(std::string(__FUNCTION__) + msg);
-  }
-
-  // translate sql string with named binding.
-  // Mysql only accept '?' style (anonymous bindings)
-  //   Ref: https://dev.mysql.com/doc/dev/mysqlsh-api-javascript/8.0/param_binding.html
-
-  const std::string real_sql = Mysql::translate_it(sql);
-
-  const int retcode = mysql_stmt_prepare(m_stmt, real_sql.c_str(), real_sql.length());
-  if (retcode) {
-    const unsigned int rc = mysql_stmt_errno(m_stmt);
-    const std::string msg = std::string(" mysql errno: ") + std::to_string(rc) + " " + mysql_stmt_error(m_stmt);
-    throw exception::Exception(std::string(__FUNCTION__) + msg);
-  }
-
-  // if there is any placeholder, the server will tell us
-
-  m_param_count = mysql_stmt_param_count(m_stmt);
-
-  // create bind parameters
-  if (m_param_count>0) {
-    for (int i = 0; i < m_param_count; ++i) {
-      m_placeholder.push_back(nullptr);
-    }
-
-  }
-
-  SmartMYSQL_RES result_metadata(mysql_stmt_result_metadata(m_stmt));
-
-  if (result_metadata) {
-    // initialize FieldsInfo
-    m_fields_info = new Mysql::FieldsInfo(result_metadata.get());
-
-    do_bind_results();
-  }
-}
-
-//------------------------------------------------------------------------------
-// destructor
-//------------------------------------------------------------------------------
-MysqlStmt::~MysqlStmt() {
-  try {
-    close(); // Idempotent close() method
-  } catch(...) {
-    // Destructor does not throw
-  }
-
-  for (size_t i = 0; i < m_placeholder.size(); ++i) {
-    delete m_placeholder[i];
-    m_placeholder[i] = nullptr;
-  }
-
-  for (size_t i = 0; i < m_holders_results.size(); ++i) {
-    delete m_holders_results[i];
-    m_holders_results[i] = nullptr;
-  }
-
-  if (m_fields_info) {
-    delete m_fields_info;
-    m_fields_info = nullptr;
-  }
-}
-
-//------------------------------------------------------------------------------
-// clear
-//------------------------------------------------------------------------------
-void MysqlStmt::clear() {
-}
-
-//------------------------------------------------------------------------------
-// close
-//------------------------------------------------------------------------------
-void MysqlStmt::close() {
-
-  try {
-    threading::MutexLocker locker(m_mutex);
-
-    if (nullptr != m_stmt) {
-
-      // release result first
-      if (mysql_stmt_free_result(m_stmt)) {
-        throw exception::Exception(std::string(__FUNCTION__) + " stmt free result failed.");
-      }
-
-      if (mysql_stmt_close(m_stmt)) {
-        std::string msg = mysql_error(m_conn.m_mysqlConn);
-        throw exception::Exception(std::string(__FUNCTION__) + msg);
-      }
-
-      m_stmt = nullptr;
-    }
-  } catch(exception::Exception &ex) {
-    throw exception::Exception(std::string(__FUNCTION__) + " failed: " + ex.getMessage().str());
-  }
-}
-
-//------------------------------------------------------------------------------
-// get
-//------------------------------------------------------------------------------
-MYSQL_STMT *MysqlStmt::get() const {
-  if(nullptr == m_stmt) {
-    throw exception::Exception(std::string(__FUNCTION__) + " failed for SQL statement " +
-      getSqlForException() + ": nullptr pointer");
-  }
-  return m_stmt;
-}
-
-//------------------------------------------------------------------------------
-// bindUint8
-//------------------------------------------------------------------------------
-void MysqlStmt::bindUint8(const std::string &paramName, const optional<uint8_t> &paramValue) {
-  try {
-    const unsigned int paramIdx = getParamIdx(paramName); // starts from 1.
-    const unsigned int idx = paramIdx - 1;
-
-    Mysql::Placeholder_Uint8* holder = dynamic_cast<Mysql::Placeholder_Uint8*>(m_placeholder[idx]);
-    // if already exists, try to reuse
-    if (!holder and m_placeholder[idx]) {
-      throw exception::Exception(std::string(__FUNCTION__) + " can't cast from Placeholder to Placeholder_Uint16. " );
-    }
-
-    if (!holder) {
-      holder = new Mysql::Placeholder_Uint8();
-      holder->idx = idx;
-      holder->length = sizeof(uint8_t);
-    }
-
-    if (paramValue) {
-      holder->val = paramValue.value();
-    } else {
-      holder->is_null = true;
-    }
-    // delete m_placeholder[idx]; // remove the previous placeholder
-
-    m_placeholder[idx] = holder;
-  } catch(exception::Exception &ex) {
-    throw exception::Exception(std::string(__FUNCTION__) + " failed for SQL statement " +
-                               getSqlForException() + ": " + ex.getMessage().str());
-  }
-}
-
-//------------------------------------------------------------------------------
-// bindUint16
-//------------------------------------------------------------------------------
-void MysqlStmt::bindUint16(const std::string &paramName, const optional<uint16_t> &paramValue) {
-  try {
-    const unsigned int paramIdx = getParamIdx(paramName); // starts from 1.
-    const unsigned int idx = paramIdx - 1;
-
-    Mysql::Placeholder_Uint16* holder = dynamic_cast<Mysql::Placeholder_Uint16*>(m_placeholder[idx]);
-    // if already exists, try to reuse
-    if (!holder and m_placeholder[idx]) {
-      throw exception::Exception(std::string(__FUNCTION__) + " can't cast from Placeholder to Placeholder_Uint16. " );
-    }
-
-    if (!holder) {
-      holder = new Mysql::Placeholder_Uint16();
-      holder->idx = idx;
-      holder->length = sizeof(uint16_t);
-    }
-
-    if (paramValue) {
-      holder->val = paramValue.value();
-    } else {
-      holder->is_null = true;
-    }
-    // delete m_placeholder[idx]; // remove the previous placeholder
-
-    m_placeholder[idx] = holder;
-  } catch(exception::Exception &ex) {
-    throw exception::Exception(std::string(__FUNCTION__) + " failed for SQL statement " +
-                               getSqlForException() + ": " + ex.getMessage().str());
-  }
-}
-
-//------------------------------------------------------------------------------
-// bindUint32
-//------------------------------------------------------------------------------
-void MysqlStmt::bindUint32(const std::string &paramName, const optional<uint32_t> &paramValue) {
-  try {
-    const unsigned int paramIdx = getParamIdx(paramName); // starts from 1.
-    const unsigned int idx = paramIdx - 1;
-
-    Mysql::Placeholder_Uint32* holder = dynamic_cast<Mysql::Placeholder_Uint32*>(m_placeholder[idx]);
-    // if already exists, try to reuse
-    if (!holder and m_placeholder[idx]) {
-      throw exception::Exception(std::string(__FUNCTION__) + " can't cast from Placeholder to Placeholder_Uint16. " );
-    }
-
-    if (!holder) {
-      holder = new Mysql::Placeholder_Uint32();
-      holder->idx = idx;
-      holder->length = sizeof(uint32_t);
-    }
-
-    if (paramValue) {
-      holder->val = paramValue.value();
-    } else {
-      holder->is_null = true;
-    }
-    // delete m_placeholder[idx]; // remove the previous placeholder
-
-    m_placeholder[idx] = holder;
-  } catch(exception::Exception &ex) {
-    throw exception::Exception(std::string(__FUNCTION__) + " failed for SQL statement " +
-      getSqlForException() + ": " + ex.getMessage().str());
-  }
-}
-
-//------------------------------------------------------------------------------
-// bindUint64
-//------------------------------------------------------------------------------
-void MysqlStmt::bindUint64(const std::string &paramName, const optional<uint64_t> &paramValue) {
-  try {
-    const unsigned int paramIdx = getParamIdx(paramName); // starts from 1.
-    const unsigned int idx = paramIdx - 1;
-
-    Mysql::Placeholder_Uint64* holder = dynamic_cast<Mysql::Placeholder_Uint64*>(m_placeholder[idx]);
-    // if already exists, try to reuse
-    if (!holder and m_placeholder[idx]) {
-      throw exception::Exception(std::string(__FUNCTION__) + " can't cast from Placeholder to Placeholder_Uint64. " );
-    }
-
-    if (!holder) {
-      holder = new Mysql::Placeholder_Uint64();
-      holder->idx = idx;
-      holder->length = sizeof(uint64_t);
-    }
-
-    if (paramValue) {
-      holder->val = paramValue.value();
-    } else {
-      holder->is_null = true;
-    }
-    // delete m_placeholder[idx]; // remove the previous placeholder
-
-    m_placeholder[idx] = holder;
-  } catch(exception::Exception &ex) {
-    throw exception::Exception(std::string(__FUNCTION__) + " failed for SQL statement " +
-      getSqlForException() + ": " + ex.getMessage().str());
-  }
-}
-
-//------------------------------------------------------------------------------
-// bindDouble
-//------------------------------------------------------------------------------
-void MysqlStmt::bindDouble(const std::string &paramName, const optional<double> &paramValue) {
-  try {
-    const unsigned int paramIdx = getParamIdx(paramName); // starts from 1.
-    const unsigned int idx = paramIdx - 1;
-
-    Mysql::Placeholder_Double* holder = dynamic_cast<Mysql::Placeholder_Double*>(m_placeholder[idx]);
-    // if already exists, try to reuse
-    if (!holder and m_placeholder[idx]) {
-      throw exception::Exception(std::string(__FUNCTION__) + " can't cast from Placeholder to Placeholder_Double. " );
-    }
-
-    if (!holder) {
-      holder = new Mysql::Placeholder_Double();
-      holder->idx = idx;
-      holder->length = sizeof(uint64_t);
-    }
-
-    if (paramValue) {
-      holder->val = paramValue.value();
-    } else {
-      holder->is_null = true;
-    }
-    // delete m_placeholder[idx]; // remove the previous placeholder
-
-    m_placeholder[idx] = holder;
-  } catch(exception::Exception &ex) {
-    throw exception::Exception(std::string(__FUNCTION__) + " failed for SQL statement " +
-      getSqlForException() + ": " + ex.getMessage().str());
-  }
-}
-
-void MysqlStmt::bindBlob(const std::string &paramName, const std::string &paramValue) {
-  try {
-    bindString(paramName, paramValue);
-  } catch(exception::Exception &ex) {
-    throw exception::Exception(std::string(__FUNCTION__) + " failed: " + ex.getMessage().str());
-  }
-}
-
-//------------------------------------------------------------------------------
-// bindString
-//------------------------------------------------------------------------------
-void MysqlStmt::bindString(const std::string &paramName, const optional<std::string> &paramValue) {
-  try {
-    if(paramValue && paramValue.value().empty()) {
-      throw exception::Exception(std::string("Optional string parameter ") + paramName + " is an empty string. "
-        " An optional string parameter should either have a non-empty string value or no value at all.");
-    }
-
-    bool is_null = not paramValue;
-
-    const unsigned int paramIdx = getParamIdx(paramName); // starts from 1.
-    const unsigned int idx = paramIdx - 1;
-    
-    if(m_placeholder[idx]){
-      delete m_placeholder[idx];
-    }
-    
-    unsigned int buf_size = 0;
-    if(paramValue){
-      buf_size = paramValue.value().size() + 1;
-    } 
-    Mysql::Placeholder_String * holder = new Mysql::Placeholder_String(buf_size); // hard code buffer length
-    holder->idx = idx;
-
-    if (paramValue) {
-      holder->length = paramValue.value().size();
-
-      if (holder->length > holder->get_buffer_length()) {
-        throw exception::Exception(std::string(__FUNCTION__) + " length >= buffer_length");
-      }
-
-      // reset memory
-      holder->reset();
-      // need to use memcpy for VARBINARY strings, which are not null-terminated
-      memcpy(holder->val, paramValue.value().c_str(), paramValue.value().size());
-    } else {
-      holder->length = 0;
-    }
-
-    holder->is_null= is_null;
-
-    // delete m_placeholder[idx]; // remove the previous placeholder
-    
-    m_placeholder[idx] = holder;
-  } catch(exception::Exception &ex) {
-    throw exception::Exception(std::string(__FUNCTION__) + " failed for SQL statement " +
-      getSqlForException() + ": " + ex.getMessage().str()); 
-  }
-}
-
-//------------------------------------------------------------------------------
-// executeQuery
-//------------------------------------------------------------------------------
-std::unique_ptr<RsetWrapper> MysqlStmt::executeQuery() {
-  // bind values before execute
-  do_bind();
-
-  if (mysql_stmt_execute(m_stmt)) {
-    unsigned int rc = mysql_stmt_errno(m_stmt);
-    std::string msg = std::string(" mysql errno: ") + std::to_string(rc) + " " + mysql_stmt_error(m_stmt);
-    
-    throw exception::Exception(std::string(__FUNCTION__) + msg);
-  }
-
-  if (mysql_stmt_store_result(m_stmt)) {
-    unsigned int rc = mysql_stmt_errno(m_stmt);
-    std::string msg = std::string(" mysql errno: ") + std::to_string(rc) + " " + mysql_stmt_error(m_stmt);
-    
-    throw exception::Exception(std::string(__FUNCTION__) + " store failed:" + msg);
-  }
-
-  // after execute, we need to get the results
-  if (m_fields_info) {
-    return cta::make_unique<MysqlRset>(*this, *m_fields_info);
-  }
-
-  return nullptr;
-  // return cta::make_unique<MysqlRset>(*this);
-  // throw exception::Exception(std::string(__FUNCTION__) + " Not Implemented.");
-}
-
-//------------------------------------------------------------------------------
-// executeNonQuery
-//------------------------------------------------------------------------------
-void MysqlStmt::executeNonQuery() {
-  // FIXME: deadlock found
-  {
-    // threading::MutexLocker connLocker(m_conn.m_mutex);
-
-    // bind values before execute
-    do_bind();
-
-    if (mysql_stmt_execute(m_stmt)) {
-      unsigned int rc = mysql_stmt_errno(m_stmt);
-      std::string msg = std::string(" mysql errno: ") + std::to_string(rc) + " " + mysql_stmt_error(m_stmt);
-
-      switch(rc) {
-      case ER_DUP_ENTRY:
-        throw PrimaryKeyError(std::string(__FUNCTION__) + " " +  msg);
-        break;
-      case 4025: // Newer MariaDB versions have ER_CONSTRAINT_FAILED = 4025
-        throw CheckConstraintError(std::string(__FUNCTION__) + " " +  msg);
-        break;
-      }
-
-      throw exception::Exception(std::string(__FUNCTION__) + " " +  msg);
-    }
-
-    if (mysql_stmt_store_result(m_stmt)) {
-      unsigned int rc = mysql_stmt_errno(m_stmt);
-      std::string msg = std::string(" mysql errno: ") + std::to_string(rc) + " " + mysql_stmt_error(m_stmt);
-    
-      throw exception::Exception(std::string(__FUNCTION__) + " store failed: " + msg);
-    }
-
-    m_nbAffectedRows = mysql_stmt_affected_rows(m_stmt);
-
-  }
-}
-
-//------------------------------------------------------------------------------
-// getNbAffectedRows
-//------------------------------------------------------------------------------
-uint64_t MysqlStmt::getNbAffectedRows() const {
-  return m_nbAffectedRows;
-}
-
-Mysql::Placeholder* MysqlStmt::columnHolder(const std::string& colName) const {
-
-  if (not m_fields_info->exists(colName)) {
-    throw exception::Exception(std::string(__FUNCTION__) + " column does not exist: " + colName);
-    return nullptr;
-  }
-
-  int idx = m_fields_info->column2idx[colName];
-  return m_holders_results[idx];
-
-
-}
-
-//------------------------------------------------------------------------------
-// do_bind
-//------------------------------------------------------------------------------
-bool MysqlStmt::do_bind() {
-  // if nothing to bind, just return
-  if (m_placeholder.size() == 0) {
-    return true;
-  }
-
-  MYSQL_BIND* bind = new MYSQL_BIND[m_param_count];
-  memset(bind, 0, sizeof(MYSQL_BIND)*m_param_count);
-
-  for (int idx = 0; idx < m_param_count; ++idx) {
-    Mysql::Placeholder* holder = m_placeholder[idx];
-
-    if (!holder) {
-      throw exception::Exception(std::string(__FUNCTION__) + " empty holder for index " + std::to_string(idx));
-      return false;
-    }
-
-    switch(holder->get_buffer_type()) {
-    case Mysql::Placeholder::placeholder_uint8:
-      bind[idx].buffer_type = MYSQL_TYPE_TINY;
-      break;
-    case Mysql::Placeholder::placeholder_uint16:
-      bind[idx].buffer_type = MYSQL_TYPE_SHORT;
-      break;
-    case Mysql::Placeholder::placeholder_uint32:
-      bind[idx].buffer_type = MYSQL_TYPE_LONG;
-      break;
-    case Mysql::Placeholder::placeholder_uint64:
-      bind[idx].buffer_type = MYSQL_TYPE_LONGLONG;
-      break;
-    case Mysql::Placeholder::placeholder_string:
-      bind[idx].buffer_type = MYSQL_TYPE_STRING;
-      break;
-    case Mysql::Placeholder::placeholder_double:
-      bind[idx].buffer_type = MYSQL_TYPE_DOUBLE;
-      break;
-    default:
-      throw exception::Exception(std::string(__FUNCTION__) + " Unknown buffer type in placeholder " + std::to_string(holder->get_buffer_type()));
-      break;
-    }
-
-    bind[idx].buffer = holder->get_buffer();
-    bind[idx].buffer_length = holder->get_buffer_length();
-    bind[idx].length = holder->get_length();
-    bind[idx].is_null = holder->get_is_null();
-    bind[idx].is_unsigned = holder->get_is_unsigned();
-  }
-
-  // now, we can bind the value
-  if (mysql_stmt_bind_param(m_stmt, bind)) {
-    throw exception::Exception(std::string(__FUNCTION__) + " bind param failed.");
-    return false;
-  }
-
-  delete [] bind;
-
-  return true;
-}
-
-
-
-bool MysqlStmt::do_bind_results() {
-  int num_columns = m_fields_info->column_count;
-
-  if (num_columns==0) {
-    // std::cout << "nothing to bind." << std::endl;
-    throw exception::Exception(std::string(__FUNCTION__) + " nothing to bind.");
-    return false;
-  }
-
-  MYSQL_BIND* bind = new MYSQL_BIND[num_columns];
-  memset(bind, 0, sizeof(MYSQL_BIND)*num_columns);
-
-  for (int i = 0; i < num_columns; ++i) {
-    Mysql::Placeholder* holder = nullptr;
-
-    // according to the type, assign values
-    enum_field_types buffer_type = (enum_field_types)m_fields_info->types[i];
-    // unsigned int maxsize = m_fields.maxsizes[i];
-
-
-    // std::cout << __FILE__ << ":" << __LINE__ 
-    //           << " TAO: "
-    //           << " field " << i
-    //           << " maxsize " << maxsize 
-    //           << std::endl; 
-
-
-    // see enum_field_types defined in mysql_com.h
-    switch (buffer_type) {
-    case MYSQL_TYPE_DECIMAL:
-    case MYSQL_TYPE_TINY:
-    case MYSQL_TYPE_SHORT:
-    case MYSQL_TYPE_LONG:
-    case MYSQL_TYPE_LONGLONG:
-    case MYSQL_TYPE_NEWDECIMAL:
-      {
-        Mysql::Placeholder_Uint64* holder_ = new Mysql::Placeholder_Uint64();
-        holder = holder_;
-        bind[i].buffer_type = MYSQL_TYPE_LONGLONG;
-      }
-      break;
-    case MYSQL_TYPE_VARCHAR:
-    case MYSQL_TYPE_VAR_STRING:
-    case MYSQL_TYPE_STRING:
-    case MYSQL_TYPE_LONG_BLOB:
-      {
-        const unsigned int buf_size  = m_fields_info->maxsizes[i] + 1; // +1 For CR+LF
-        if (buf_size < m_fields_info->maxsizes[i]) {
-          throw exception::Exception(std::string(__FUNCTION__) + " buf size < m_fields_info->maxsizes[" + std::to_string(i) + "]");
-        }
-        Mysql::Placeholder_String* holder_ = new Mysql::Placeholder_String(buf_size);
-
-        holder = holder_;
-        bind[i].buffer_type = MYSQL_TYPE_STRING;
-      }
-      break;
-    case MYSQL_TYPE_FLOAT:
-    case MYSQL_TYPE_DOUBLE:
-      {
-        Mysql::Placeholder_Double* holder_ = new Mysql::Placeholder_Double();
-        holder = holder_;
-        bind[i].buffer_type = MYSQL_TYPE_DOUBLE;
-      }
-      break;
-    default:
-      throw exception::Exception(std::string(__FUNCTION__) + " unsupport buffer type: " + std::to_string(buffer_type));
-      break;
-    }
-
-    holder->idx = i;
-    bind[i].buffer = holder->get_buffer();
-    bind[i].buffer_length = holder->get_buffer_length();
-    bind[i].is_null = holder->get_is_null();
-    bind[i].is_unsigned = holder->get_is_unsigned();
-    bind[i].length = holder->get_length();
-    bind[i].error = holder->get_error();
-
-    m_holders_results.push_back(holder);
-  }
-
-  if (mysql_stmt_bind_result(m_stmt, bind)) {
-    throw exception::Exception(std::string(__FUNCTION__) + " bind results failed.");
-  }
-
-  delete[] bind;
-
-  return true;
-}
-
-
-} // Namespace wrapper
-} // namespace rdbms
-} // namespace cta
diff --git a/rdbms/wrapper/MysqlStmt.hpp b/rdbms/wrapper/MysqlStmt.hpp
deleted file mode 100644
index 8f8e713326427ff26018281b26aca9522a177ee2..0000000000000000000000000000000000000000
--- a/rdbms/wrapper/MysqlStmt.hpp
+++ /dev/null
@@ -1,231 +0,0 @@
-/*
- * @project        The CERN Tape Archive (CTA)
- * @copyright      Copyright(C) 2015-2021 CERN
- * @license        This program is free software: you can redistribute it and/or modify
- *                 it under the terms of the GNU General Public License as published by
- *                 the Free Software Foundation, either version 3 of the License, or
- *                 (at your option) any later version.
- *
- *                 This program is distributed in the hope that it will be useful,
- *                 but WITHOUT ANY WARRANTY; without even the implied warranty of
- *                 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *                 GNU General Public License for more details.
- *
- *                 You should have received a copy of the GNU General Public License
- *                 along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include "common/threading/Mutex.hpp"
-#include "rdbms/wrapper/StmtWrapper.hpp"
-
-#include <vector>
-#include <map>
-#include <memory>
-#include <stdint.h>
-
-#include "rdbms/wrapper/Mysql.hpp"
-
-namespace cta {
-namespace rdbms {
-namespace wrapper {
-
-/**
- * Helper to handle named bindings
- */
-
-std::string translate_it(const std::string& sql);
-
-class MysqlConn;
-class MysqlRset;
-
-/**
- * A convenience wrapper around an SQLite prepared statement.
- */
-class MysqlStmt: public StmtWrapper {
-public:
-
-  /**
-   * Constructor.
-   *
-   * This method is called by the MysqlStmt::createStmt() method and assumes
-   * that a lock has already been taken on MysqlStmt::m_mutex;
-   *
-   * @param autocommitMode The autocommit mode of the statement.
-   * @param conn The database connection.
-   * @param sql The SQL statement.
-   */
-  MysqlStmt(MysqlConn &conn, const std::string &sql);
-
-  /**
-   * Destructor.
-   */
-  ~MysqlStmt() override;
-
-  /**
-   * Clears the prepared statement so that it is ready to be reused.
-   */
-  void clear() override;
-
-  /**
-   * Idempotent close() method.  The destructor calls this method.
-   */
-  void close() override;
-
-  /**
-   * Returns a pointer to the underlying prepared statement.
-   *
-   * This method throws an exception if the pointer to the underlying prepared
-   * statement is nullptr.
-   *
-   * @return the underlying prepared statement.
-   */
-  MYSQL_STMT *get() const;
-
-  /**
-   * Binds an SQL parameter.
-   *
-   * @param paramName The name of the parameter.
-   * @param paramValue The value to be bound.
-   */
-  void bindUint8(const std::string &paramName, const optional<uint8_t> &paramValue) override;
-
-  /**
-   * Binds an SQL parameter.
-   *
-   * @param paramName The name of the parameter.
-   * @param paramValue The value to be bound.
-   */
-  void bindUint16(const std::string &paramName, const optional<uint16_t> &paramValue) override;
-
-  /**
-   * Binds an SQL parameter.
-   *
-   * @param paramName The name of the parameter.
-   * @param paramValue The value to be bound.
-   */
-  void bindUint32(const std::string &paramName, const optional<uint32_t> &paramValue) override;
-
-  /**
-   * Binds an SQL parameter.
-   *
-   * @param paramName The name of the parameter.
-   * @param paramValue The value to be bound.
-   */
-  void bindUint64(const std::string &paramName, const optional<uint64_t> &paramValue) override;
-
-  /**
-   * Binds an SQL parameter.
-   *
-   * @param paramName The name of the parameter.
-   * @param paramValue The value to be bound.
-   */
-  void bindDouble(const std::string &paramName, const optional<double> &paramValue) override;
-
-  /** 
-   * Binds an SQL parameter of type binary string (byte array).
-   *
-   * @param paramName The name of the parameter.
-   * @param paramValue The value to be bound.
-   */ 
-  void bindBlob(const std::string &paramName, const std::string &paramValue) override;
-
-  /**
-   * Binds an SQL parameter of type optional-string.
-   *
-   * Please note that this method will throw an exception if the optional string
-   * parameter has the empty string as its value.  An optional string parameter
-   * should either have a non-empty string value or no value at all.
-   *
-   * @param paramName The name of the parameter.
-   * @param paramValue The value to be bound.
-   */ 
-  void bindString(const std::string &paramName, const optional<std::string> &paramValue) override;
-
-  /**
-   * Executes the statement and returns the result set.
-   *
-   * @return The result set.
-   */
-  std::unique_ptr<RsetWrapper> executeQuery() override;
-
-  /**
-   * Executes the statement.
-   */
-  void executeNonQuery() override;
-
-  /**
-   * Returns the number of rows affected by the last execution of this
-   * statement.
-   *
-   * @return The number of affected rows.
-   */
-  uint64_t getNbAffectedRows() const override;
-
-
-  Mysql::Placeholder* columnHolder(const std::string &colName) const;
-
-private:
-
-  /**
-   * Mutex used to serialize access to the prepared statement.
-   */
-  threading::Mutex m_mutex;
-
-  /**
-   * The SQL connection.
-   */
-  MysqlConn &m_conn;
-
-  /**
-   * The prepared statement.
-   */
-  MYSQL_STMT *m_stmt;
-
-  /**
-   * The parameter count of prepared statement. (input)
-   */
-  int m_param_count;
-
-  /**
-   * The placeholder
-   */
-  std::vector<Mysql::Placeholder*> m_placeholder;
-
-  /**
-   * The fields information
-   */
-  Mysql::FieldsInfo* m_fields_info;
-
-  /**
-   * The number of rows affected by the last execution of this statement.
-   */
-  uint64_t m_nbAffectedRows;
-
-  /**
-   * Bind the values
-   */
-  bool do_bind();
-
-  /**
-   * Placeholders for retrieving data
-   */
-  std::vector<Mysql::Placeholder*> m_holders_results;
-
-  /**
-   * MYSQL_BIND for retrieving data
-   */
-  MYSQL_BIND *m_bind_results;
-
-  /**
-   * bind the result
-   */
-  bool do_bind_results();
-
-
-}; // class SqlLiteStmt
-
-} // namespace wrapper
-} // namespace rdbms
-} // namespace cta
diff --git a/statistics/StatisticsSaveCmdLineArgs.cpp b/statistics/StatisticsSaveCmdLineArgs.cpp
index 3bb6732220c90f98270600c65365364110fa2f96..8e6b3dd65b570c8bbfd0deac89863aa91693e09e 100644
--- a/statistics/StatisticsSaveCmdLineArgs.cpp
+++ b/statistics/StatisticsSaveCmdLineArgs.cpp
@@ -41,11 +41,13 @@ StatisticsSaveCmdLineArgs::StatisticsSaveCmdLineArgs(const int argc, char *const
   opterr = 0;
 
   int opt = 0;
-  while ((opt = getopt_long(argc, argv, ":hc:", longopts, NULL)) != -1) {
+  while ((opt = getopt_long(argc, argv, ":hc:j", longopts, NULL)) != -1) {
     switch (opt) {
     case 'h':
       help = true;
       break;
+    case 'j':  // This should remove in the future, but we keep it for backward compatibility
+      break;
     case 'c':
       catalogueDbConfigPath = optarg;
       break;
diff --git a/statistics/StatisticsUpdateCmdLineArgs.cpp b/statistics/StatisticsUpdateCmdLineArgs.cpp
index e1fd21b430148642d40bd81d8d43ba58675eec23..29991051b86531a6c968a40e1fb4547ab1e0fbca 100644
--- a/statistics/StatisticsUpdateCmdLineArgs.cpp
+++ b/statistics/StatisticsUpdateCmdLineArgs.cpp
@@ -43,16 +43,16 @@ StatisticsUpdateCmdLineArgs::StatisticsUpdateCmdLineArgs(const int argc, char *c
   int opt = 0;
   while ((opt = getopt_long(argc, argv, ":h", longopts, NULL)) != -1) {
     switch (opt) {
-    case 'h':
-      help = true;
-      break;
-    case ':':  // Missing parameter
+      case 'h':
+        help = true;
+        break;
+      case ':':  // Missing parameter
       {
         exception::CommandLineNotParsed ex;
         ex.getMessage() << "The -" << static_cast<char>(optopt) << " option requires a parameter";
         throw ex;
       }
-    case '?':  // Unknown option
+      case '?':  // Unknown option
       {
         exception::CommandLineNotParsed ex;
         if (0 == optopt) {
@@ -61,7 +61,7 @@ StatisticsUpdateCmdLineArgs::StatisticsUpdateCmdLineArgs(const int argc, char *c
           ex.getMessage() << "Unknown command-line option: -" << static_cast<char>(optopt);        }
         throw ex;
       }
-    default:
+      default:
       {
         exception::CommandLineNotParsed ex;
         ex.getMessage() <<