From 93f33c245b459c1d0cb2de66d52d8e2e137a7ab0 Mon Sep 17 00:00:00 2001
From: Robert Butora <robert.butora@inaf.it>
Date: Thu, 16 Jan 2025 17:47:52 +0100
Subject: [PATCH] vlkb-obscore: inserts only survName -> obs_collection,
 species&trans -> obs_title

---
 .../src/vlkb-obscore/src/database/SqlSchema_DELETE.cpp    | 5 +++--
 .../engine/src/vlkb-obscore/src/database/SqlSurvey.cpp    | 8 +++++---
 .../engine/src/vlkb-obscore/src/database/SqlSurvey.hpp    | 1 +
 .../engine/src/vlkb-obscore/src/database/database.cpp     | 2 +-
 4 files changed, 10 insertions(+), 6 deletions(-)

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 b904373..0c6f0bc 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 99a01a0..c6e4c03 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 a94a9c1..e1b2bc4 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 4a44b77..de5370e 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
-- 
GitLab