X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=src2%2FcreaImageIOSQLiteTreeHandler.h;h=6948675d43d05fe154702695df4fab97a2558e7f;hb=381f766db11094bd9b96f9e948527cbec24f680a;hp=0f45f7093503360e45ff9d0300c6b9dc79019e9e;hpb=66f2d68a504d06b45b4047bd7a445c11889b9fc0;p=creaImageIO.git diff --git a/src2/creaImageIOSQLiteTreeHandler.h b/src2/creaImageIOSQLiteTreeHandler.h index 0f45f70..6948675 100644 --- a/src2/creaImageIOSQLiteTreeHandler.h +++ b/src2/creaImageIOSQLiteTreeHandler.h @@ -55,6 +55,10 @@ namespace creaImageIO virtual bool Create(bool writable = false); /// Destroys the 'source' virtual bool Destroy(); + /// Begins a transaction + virtual void BeginTransaction(); + ///Commits results and ends transaction + virtual void EndTransaction(); //==================================================================== @@ -94,7 +98,13 @@ namespace creaImageIO // WITHOUT altering the source, e.g. the database virtual void UnLoad(tree::Node* n); ///==================================================================== - + + //==================================================================== + /// Returns the top level node id for the given search param and search value + virtual void GetTopLevelNodeId(const std::string& searchParam, + const std::string& searchValue, + std::string& parent_id); + ///==================================================================== //==================================================================== // WRITE METHODS : WORK ONLY IN WRITE MODE @@ -118,6 +128,11 @@ namespace creaImageIO const std::string& searchVal); //Deletes the tuple that matches the parameters given virtual void DeleteTuple(std::string levelDescriptor, std::string key, std::string value); + //Deletes the entries that match the parameters given + virtual void RemoveEntries(const std::string i_table, + const std::string i_attribute, + const std::string i_operand, + const std::string i_val); //==================================================================== @@ -193,9 +208,15 @@ namespace creaImageIO void DBDelete(std::string levelDescriptor, std::string key, std::string value); //====================================================================== + //====================================================================== /// Recursively Removes the nodes whose parent is given as a parameter void DBRecursiveRemoveNode(tree::Node* node); + /// Recursively Removes the nodes found in the given level with the given parent id + void DBRecursiveRemoveNode(int level, std::string parentId); + + //====================================================================== + /* /// int DBQueryNumberOfChildren(tree::Node* n);