- fun ~owner ~uri ~types ->
- let metadata = MetadataExtractor.compute_ind ~uri ~types in
- let uri_of (a,b,c) = a in
- let uris = UriManager.string_of_uri uri :: List.map uri_of metadata in
- let uri = UriManager.string_of_uri uri in
- let columns = MetadataPp.columns_of_ind_metadata metadata in
- execute_insert dbd query uri owner (columns :> columns);
- List.iter (insert_const_no dbd) uris;
- List.iter (fun (uri, name, _) -> insert_name ~dbd ~uri ~name) metadata
+ fun ~uri ~types ->
+ if not (already_indexed uri) then begin
+ let metadata = MetadataExtractor.compute_ind ~uri ~types in
+ let uri_of (a,b,c) = a in
+ let uris = UriManager.string_of_uri uri :: List.map uri_of metadata in
+ let uri = UriManager.string_of_uri uri in
+ let columns = MetadataPp.columns_of_ind_metadata metadata in
+ execute_insert dbd query uri (columns :> columns);
+ List.iter (insert_const_no dbd) uris;
+ 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]