Skip to content
Snippets Groups Projects
Commit fe0f318c authored by Cedric CAFFY's avatar Cedric CAFFY
Browse files

All indexes have now the same names, cta-catalogue-schema-verify now checks...

All indexes have now the same names, cta-catalogue-schema-verify now checks for user created indexes
parent a3d54f6e
Branches
Tags
No related merge requests found
......@@ -40,7 +40,7 @@ CREATE GLOBAL TEMPORARY TABLE TEMP_TAPE_FILE_INSERTION_BATCH(
ARCHIVE_FILE_ID NUMERIC(20, 0)
)
ON COMMIT DELETE ROWS;
CREATE INDEX TEMP_T_F_I_B_ARCHIVE_FILE_ID_I ON TEMP_TAPE_FILE_INSERTION_BATCH(ARCHIVE_FILE_ID);
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
......
......@@ -29,6 +29,14 @@ void CatalogueMetadataGetter::removeObjectNameContaining(std::list<std::string>&
}) != wordsToTriggerRemoval.end();
});
}
void CatalogueMetadataGetter::removeObjectNameNotContaining(std::list<std::string>& objects, const std::list<std::string> &wordsNotToTriggerRemoval){
objects.remove_if([&wordsNotToTriggerRemoval](const std::string &object){
return std::find_if(wordsNotToTriggerRemoval.begin(), wordsNotToTriggerRemoval.end(),[&object](const std::string &wordsNotToTriggeringRemoval){
return object.find(wordsNotToTriggeringRemoval) == std::string::npos;
}) != wordsNotToTriggerRemoval.end();
});
}
CatalogueMetadataGetter::CatalogueMetadataGetter(cta::rdbms::Conn& conn):m_conn(conn){}
......@@ -59,7 +67,9 @@ std::list<std::string> CatalogueMetadataGetter::getTableNames(){
}
std::list<std::string> CatalogueMetadataGetter::getIndexNames(){
return m_conn.getIndexNames();
std::list<std::string> indexNames = m_conn.getIndexNames();
removeObjectNameNotContaining(indexNames,{"_IDX"});
return indexNames;
}
std::map<std::string,std::string> CatalogueMetadataGetter::getColumns(const std::string& tableName){
......@@ -87,14 +97,11 @@ std::map<std::string, std::string> SQLiteCatalogueMetadataGetter::getColumns(con
return CatalogueMetadataGetter::getColumns(tableName);
}
OracleCatalogueMetadataGetter::OracleCatalogueMetadataGetter(cta::rdbms::Conn & conn):CatalogueMetadataGetter(conn){}
OracleCatalogueMetadataGetter::~OracleCatalogueMetadataGetter(){}
std::list<std::string> OracleCatalogueMetadataGetter::getIndexNames() {
std::list<std::string> indexNames = CatalogueMetadataGetter::getIndexNames();
removeObjectNameContaining(indexNames,{"_UN","PK","_LLN"});
return indexNames;
return CatalogueMetadataGetter::getIndexNames();
}
std::list<std::string> OracleCatalogueMetadataGetter::getTableNames() {
......@@ -110,9 +117,7 @@ MySQLCatalogueMetadataGetter::MySQLCatalogueMetadataGetter(cta::rdbms::Conn& con
MySQLCatalogueMetadataGetter::~MySQLCatalogueMetadataGetter(){}
std::list<std::string> MySQLCatalogueMetadataGetter::getIndexNames() {
std::list<std::string> indexNames = CatalogueMetadataGetter::getIndexNames();
//removeObjectNameContaining(indexNames,{"User","Grantor", "_ID", "_NAME"});
return indexNames;
return CatalogueMetadataGetter::getIndexNames();
}
std::list<std::string> MySQLCatalogueMetadataGetter::getTableNames() {
......
......@@ -30,6 +30,7 @@ class CatalogueMetadataGetter {
protected:
rdbms::Conn& m_conn;
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);
public:
CatalogueMetadataGetter(cta::rdbms::Conn & conn);
virtual ~CatalogueMetadataGetter();
......
......@@ -38,5 +38,6 @@ CREATE GLOBAL TEMPORARY TABLE TEMP_TAPE_FILE_INSERTION_BATCH(
COPY_NB UINT8TYPE ,
CREATION_TIME UINT64TYPE ,
ARCHIVE_FILE_ID UINT64TYPE
)
ON COMMIT DELETE ROWS;
)
ON COMMIT DELETE ROWS;
CREATE INDEX TEMP_T_F_I_B_AFI_IDX ON TEMP_TAPE_FILE_INSERTION_BATCH(ARCHIVE_FILE_ID);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment