From 2d8268ea2a11993553faf4f5cf5d929a80b82b41 Mon Sep 17 00:00:00 2001
From: Cedric CAFFY <cedric.caffy@cern.ch>
Date: Mon, 10 Feb 2020 16:53:32 +0100
Subject: [PATCH] cta-catalogue-schema-verify ignores the migration-related
 tables (ERR$_TAPE_FILE and TEMP_REMOVE_CASTOR_METADATA)

---
 catalogue/DatabaseMetadataGetter.cpp | 8 ++++++++
 catalogue/DatabaseMetadataGetter.hpp | 1 +
 2 files changed, 9 insertions(+)

diff --git a/catalogue/DatabaseMetadataGetter.cpp b/catalogue/DatabaseMetadataGetter.cpp
index 15ac56799e..5ff0afbffa 100644
--- a/catalogue/DatabaseMetadataGetter.cpp
+++ b/catalogue/DatabaseMetadataGetter.cpp
@@ -158,10 +158,18 @@ cta::rdbms::Login::DbType SQLiteDatabaseMetadataGetter::getDbType(){
 
 OracleDatabaseMetadataGetter::OracleDatabaseMetadataGetter(cta::rdbms::Conn & conn):DatabaseMetadataGetter(conn){}
 OracleDatabaseMetadataGetter::~OracleDatabaseMetadataGetter(){}
+
 cta::rdbms::Login::DbType OracleDatabaseMetadataGetter::getDbType(){
   return cta::rdbms::Login::DbType::DBTYPE_ORACLE;
 }
 
+std::list<std::string> OracleDatabaseMetadataGetter::getTableNames(){
+  std::list<std::string> tableNames = DatabaseMetadataGetter::getTableNames();
+  //Ignore migration-related tables
+  removeObjectNameContaining(tableNames,{"ERR$_TAPE_FILE","TEMP_REMOVE_CASTOR_METADATA"});
+  return tableNames;
+}
+
 MySQLDatabaseMetadataGetter::MySQLDatabaseMetadataGetter(cta::rdbms::Conn& conn):DatabaseMetadataGetter(conn) {}
 MySQLDatabaseMetadataGetter::~MySQLDatabaseMetadataGetter(){}
 cta::rdbms::Login::DbType MySQLDatabaseMetadataGetter::getDbType(){
diff --git a/catalogue/DatabaseMetadataGetter.hpp b/catalogue/DatabaseMetadataGetter.hpp
index d28c010cd5..fb4b20d909 100644
--- a/catalogue/DatabaseMetadataGetter.hpp
+++ b/catalogue/DatabaseMetadataGetter.hpp
@@ -83,6 +83,7 @@ class OracleDatabaseMetadataGetter: public DatabaseMetadataGetter{
   public:
   OracleDatabaseMetadataGetter(cta::rdbms::Conn & conn);
   cta::rdbms::Login::DbType getDbType() override;
+  std::list<std::string> getTableNames() override;
   virtual ~OracleDatabaseMetadataGetter();
 };
 
-- 
GitLab