diff --git a/data-access/engine/src/vlkb-obscore/src/database/SqlSchema_DELETE.cpp b/data-access/engine/src/vlkb-obscore/src/database/SqlSchema_DELETE.cpp index b9043731c7ac86aa70107542a7edd2f8ed2d1063..0c6f0bcdcea6ea448ac76a2ba05f74a06a7e0dcb 100644 --- a/data-access/engine/src/vlkb-obscore/src/database/SqlSchema_DELETE.cpp +++ b/data-access/engine/src/vlkb-obscore/src/database/SqlSchema_DELETE.cpp @@ -14,7 +14,8 @@ SqlSchema_DELETE::SqlSchema_DELETE(void) vector<string> SqlSchema_DELETE::getCommand(int sid, const Survey& surv) { string sidStr = to_string(sid); - string obsCollStr = surv.getObsCollection();// FIXME + to_sqlstring(surv.getObsCollection()); and remove apostrophes below... + string obsCollStr = surv.getObsCollection(); + string obsTitleStr = surv.getObsTitle(); vector<string> vDELETE{ /* {"DELETE FROM cubeboundsgalactic WHERE header_id IN (SELECT header_id FROM headers WHERE survey_id = " + sidStr + ")"}, @@ -23,7 +24,7 @@ vector<string> SqlSchema_DELETE::getCommand(int sid, const Survey& surv) {"DELETE FROM verticesicrs WHERE header_id IN (SELECT header_id FROM headers WHERE survey_id = " + sidStr + ")"}, {"DELETE FROM headers WHERE survey_id = " + sidStr}, */ - {"DELETE FROM obscore WHERE obs_collection LIKE \'" + obsCollStr + "\'"}, + {"DELETE FROM obscore WHERE obs_collection = \'" + obsCollStr + "\' AND obs_title = \'" + obsTitleStr + "\'"}, }; return vDELETE; } diff --git a/data-access/engine/src/vlkb-obscore/src/database/SqlSurvey.cpp b/data-access/engine/src/vlkb-obscore/src/database/SqlSurvey.cpp index 99a01a005cc54377f5fdc1a7ad347aa1f101d126..c6e4c03dc97472ef69874c29e8881ed21cdbd14a 100644 --- a/data-access/engine/src/vlkb-obscore/src/database/SqlSurvey.cpp +++ b/data-access/engine/src/vlkb-obscore/src/database/SqlSurvey.cpp @@ -122,11 +122,13 @@ string Survey::getStorageFilter(void) string Survey::getObsCollection(void) const { - return survName +" "+ survSpecies +" "+ survTransition; + return survName; } - - +string Survey::getObsTitle(void) const +{ + return survSpecies + " | " + survTransition; +} diff --git a/data-access/engine/src/vlkb-obscore/src/database/SqlSurvey.hpp b/data-access/engine/src/vlkb-obscore/src/database/SqlSurvey.hpp index a94a9c1d15a418ab9b85f9a8ae915f9a84f52be4..e1b2bc4a7d3e89286fa5c692dbf04d42f72d10ba 100644 --- a/data-access/engine/src/vlkb-obscore/src/database/SqlSurvey.hpp +++ b/data-access/engine/src/vlkb-obscore/src/database/SqlSurvey.hpp @@ -34,6 +34,7 @@ class Survey std::string getStorageFilter(void); std::string getObsCollection(void) const; + std::string getObsTitle(void) const; // table fields diff --git a/data-access/engine/src/vlkb-obscore/src/database/database.cpp b/data-access/engine/src/vlkb-obscore/src/database/database.cpp index 4a44b776b2b0605f94f3b2031227dc6a06b7154b..de5370e0da01d4897148fcf8d1024b4928ba05c7 100644 --- a/data-access/engine/src/vlkb-obscore/src/database/database.cpp +++ b/data-access/engine/src/vlkb-obscore/src/database/database.cpp @@ -315,7 +315,7 @@ void database::dbAddSurvey(int sid, const string groups, const string obs_publisher_did = obscore_publisher + "?" + rel_pathname; // optional - const string obs_title{surv.survSpecies + " | " + surv.survTransition}; + const string obs_title{surv.getObsTitle()}; // 4. set optional values which are available (in header or in metadata) try