X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src2%2FcreaImageIOTimestampDatabaseHandler.cpp;h=be586d8cdf5f924ac80e5792f1d6c724cca27259;hb=67ba001e49dd897529b15024108831bdd4621edf;hp=0e1176e95c9a958ecad6551ce69def2c9c113dea;hpb=42f7c93a6f8fc2beeb8709be1b3616ec40f4699e;p=creaImageIO.git diff --git a/src2/creaImageIOTimestampDatabaseHandler.cpp b/src2/creaImageIOTimestampDatabaseHandler.cpp index 0e1176e..be586d8 100644 --- a/src2/creaImageIOTimestampDatabaseHandler.cpp +++ b/src2/creaImageIOTimestampDatabaseHandler.cpp @@ -168,6 +168,7 @@ namespace creaImageIO command += ",\nPATH text"; command += ",\nLastModified datetext"; command += ",\nLastRead datetext"; + command += ",\nTopLevelNodeId text"; command += ",\nconstraint FK_PARENT foreign key (PARENT_ID) references "; command += "FILES"; command += "(ID) on delete restrict on update restrict"; @@ -187,12 +188,12 @@ namespace creaImageIO do { pos = str.find('\\'); - if (pos!=-1) + if ((int)pos!=-1) { str.replace(pos, 1, "/"); } } - while (pos!=-1); + while ((int)pos!=-1); } @@ -303,20 +304,25 @@ namespace creaImageIO const std::string& searchParam, const std::string& searchValue) { + std::string av=attValue.c_str(); + std::string sv=searchValue.c_str(); + CleanName(av); + CleanName(sv); + std::string sql = "UPDATE FILES SET "; sql += attName; sql += " = '"; - sql += attValue; + sql += av; sql += "' WHERE "; sql += searchParam; sql += " = '"; - sql += searchValue; + sql += sv; sql += "'"; UPDATETIMESTAMPDB(sql); } //===================================================================== - void TimestampDatabaseHandler::RemoveNode(const std::string& searchAtt, tree::Node* node) + void TimestampDatabaseHandler::RemoveNode(const std::string& searchAtt, const tree::Node* node) { int n=node->GetNumberOfChildren(); if(n>0) @@ -332,6 +338,10 @@ namespace creaImageIO { RemoveFile(searchAtt,node->GetAttribute("FullFileName")); } + else + { + DBRemove("TopLevelNodeId",node->GetAttribute("ID")); + } }