]> matita.cs.unibo.it Git - helm.git/commitdiff
added "unindex" to undo indexing of a single object
authorStefano Zacchiroli <zack@upsilon.cc>
Thu, 10 Feb 2005 15:51:42 +0000 (15:51 +0000)
committerStefano Zacchiroli <zack@upsilon.cc>
Thu, 10 Feb 2005 15:51:42 +0000 (15:51 +0000)
helm/ocaml/metadata/metadataDb.ml
helm/ocaml/metadata/metadataDb.mli

index 170d02d77229c2c4f4218ac59df500dbf1084973..4b7664c224fdac212b9e5700b0fa800c74de4c73 100644 (file)
@@ -120,6 +120,9 @@ let index_inductive_def ~dbd =
       List.iter (fun (uri, name, _) -> insert_name ~dbd ~uri ~name) metadata
     end
 
+let tables_to_clean =
+  [sort_tbl; rel_tbl; obj_tbl; conclno_tbl; conclno_hyp_tbl; name_tbl]
+
 let clean ~(dbd:Mysql.dbd) =
   let owned_uris =  (* list of uris in list-of-columns format *)
     let query = sprintf "SELECT source FROM %s" (obj_tbl ()) in
@@ -139,7 +142,16 @@ let clean ~(dbd:Mysql.dbd) =
       (fun source_col -> ignore (Mysql.exec dbd (query source_col)))
       owned_uris
   in
-  List.iter del_from
-    [sort_tbl; rel_tbl; obj_tbl; conclno_tbl; conclno_hyp_tbl; name_tbl];
+  List.iter del_from tables_to_clean;
   owned_uris
 
+let unindex ~dbd ~uri =
+  let uri = UriManager.string_of_uri uri in
+  let del_from tbl =
+    let query tbl =
+      sprintf "DELETE FROM %s WHERE source LIKE \"%s%%\"" (tbl ()) uri
+    in
+    ignore (Mysql.exec dbd (query tbl))
+  in
+  List.iter del_from tables_to_clean
+
index 17d6fc0947f4b5647e6494a0efe985d53e2d962f..a5b0d27534bd2146e1efc557445dfcca35757269 100644 (file)
@@ -44,3 +44,5 @@ val index_inductive_def:
   * @return list of uris removed from the db *)
 val clean: dbd:Mysql.dbd -> string list
 
+val unindex: dbd:Mysql.dbd -> uri:UriManager.uri -> unit
+